Ir para o conteúdo principal

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çãoAdequado paraCustos
Cloudflare Workerscargas de trabalho levesCamada gratuita disponível
Vercelservidores TypeScriptCamada gratuita disponível
Railwayaplicações completasA partir de $5/mês
AWS Lambdasoluções escaláveisPago pelo uso
Servidor própriocontrole totalVariável

Conectar-se ao AI School

  1. Implemente seu servidor em uma URL pública
  2. Acesse o painel no AI School
  3. Clique em ConexõesAdicionar conexão
  4. Insira a URL do seu servidor MCP
  5. 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

Documentação

Dicas de desenvolvimento

  1. Comece simples: comece com uma ferramenta e expanda
  2. Teste localmente: use o MCP Inspector para depuração
  3. Logging: adicione logging abrangente para solução de problemas
  4. Tratamento de erros: retorne mensagens de erro claras
  5. Limitação de taxa: proteja seu servidor contra sobrecarga

Integrações comuns

SistemaFerramentas possíveis
LVS (Magister, Somtoday)Consultar notas, ver horários
Sistemas CRMBuscar dados de clientes, adicionar notas
Bancos de dadosExecutar queries, gerar relatórios
Aplicações própriasQualquer API que você queira expor

Artigos relacionados