Servidor MCP Próprio
Para integrações avançadas, você pode construir um servidor MCP próprio. Isso dá controle completo sobre a funcionalidade e é ideal para integrações com sistemas próprios ou aplicativos não suportados.
Quando um servidor MCP próprio?
Um servidor MCP próprio é adequado quando:
- Você quer integrar com uma aplicação ou banco de dados próprios
- A integração desejada não está disponível no Zapier
- Você tem requisitos de segurança específicos
- Você precisa de lógica complexa nas ferramentas
Conhecimentos necessários
Para construir um servidor MCP próprio, você precisa de:
- Experiência em programação (TypeScript/JavaScript ou Python)
- Conhecimento de REST APIs
- Conceitos básicos de servidores e hosting
Protocolo Model Context
O Protocolo Model Context (MCP) é um padrão aberto desenvolvido pela Anthropic. Servidores MCP podem ser usados com:
- AI School
- ChatGPT
- Claude
- Visual Studio Code com Copilot
- Outros aplicativos compatíveis com MCP
Início rápido com TypeScript
1. Criar o projeto
mkdir meu-servidor-mcp
cd meu-servidor-mcp
npm init -y
npm install @modelcontextprotocol/sdk
2. Código do servidor
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "meu-servidor",
version: "1.0.0",
});
// Defina suas ferramentas
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "minha_ferramenta",
description: "Descrição do que a ferramenta faz",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Um parâmetro",
},
},
required: ["parameter"],
},
},
],
}));
// Implemente a ferramenta
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "minha_ferramenta") {
const { parameter } = request.params.arguments;
// Faça algo com o parâmetro
return {
content: [{ type: "text", text: `Resultado: ${parameter}` }],
};
}
});
// Iniciar o servidor
const transport = new StdioServerTransport();
server.connect(transport);
3. Executar o servidor
npx ts-node server.ts
Transporte HTTP para AI School
AI School suporta servidores MCP via HTTP. Seu servidor deve oferecer um endpoint que aceite mensagens MCP:
import express from 'express';
const app = express();
app.use(express.json());
app.post('/mcp', async (req, res) => {
const { method, params } = req.body;
if (method === 'tools/list') {
res.json({ tools: [...] });
} else if (method === 'tools/call') {
// Processar a chamada da ferramenta
res.json({ content: [...] });
}
});
app.listen(3000);
Opções de hospedagem
Seu servidor MCP deve estar acessível na internet:
| Opção | Adequado para | Custos |
|---|---|---|
| Cloudflare Workers | cargas de trabalho leves | Camada gratuita disponível |
| Vercel | servidores TypeScript | Camada gratuita disponível |
| Railway | aplicações completas | A partir de $5/mês |
| AWS Lambda | soluções escaláveis | Pago pelo uso |
| Servidor próprio | controle total | Variável |
Conectar-se ao AI School
- Implemente seu servidor em uma URL pública
- Acesse o painel no AI School
- Clique em Conexões → Adicionar conexão
- Insira a URL do seu servidor MCP
- Configure a autenticação, se necessário
Autenticação
Você pode adicionar autenticação ao seu servidor MCP:
Autenticação por API Key
app.post("/mcp", (req, res, next) => {
const apiKey = req.headers["x-api-key"];
if (apiKey !== process.env.API_KEY) {
return res.status(401).json({ error: "Unauthorized" });
}
next();
});
No AI School selecione "API Key" como método de autenticação.
OAuth 2.0
Para autenticação mais complexa, você pode implementar OAuth 2.0. AI School suporta OAuth 2.1 para servidores MCP.
Exemplos e recursos
Servidores MCP oficiais
- MCP Servers GitHub - Exemplos oficiais
Documentação
- Especificação MCP - Especificação completa do protocolo
- Documentação SDK - SDK TypeScript
Dicas de desenvolvimento
- Comece simples: comece com uma ferramenta e expanda
- Teste localmente: use o MCP Inspector para depuração
- Logging: adicione logging abrangente para solução de problemas
- Tratamento de erros: retorne mensagens de erro claras
- Limitação de taxa: proteja seu servidor contra sobrecarga
Integrações comuns
| Sistema | Ferramentas possíveis |
|---|---|
| LVS (Magister, Somtoday) | Consultar notas, ver horários |
| Sistemas CRM | Buscar dados de clientes, adicionar notas |
| Bancos de dados | Executar queries, gerar relatórios |
| Aplicações próprias | Qualquer API que você queira expor |
Artigos relacionados
- Zapier MCP Server - Conexões simples sem código