Agentes & Arquitetura10 min de leitura•Atualizado em 2026-08-29
Model Context Protocol (MCP): O Que É e Como Conectar Seus Próprios Servidores de Ferramentas
Entenda a arquitetura aberta da Anthropic que padronizou a conexão entre LLMs, bancos de dados, APIs e ferramentas locais.
Gabriel Santos
Fundador AgenciAR & Arquiteto de Sistemas de IA
Índice do Artigo
## 1. O Que É o Model Context Protocol (MCP)? {#o-que-e-o-protocolo-mcp}
O **Model Context Protocol (MCP)** é um padrão aberto publicado pela Anthropic que atua como uma porta USB universal para Inteligência Artificial.
Antes do MCP, para conectar um LLM a um banco de dados Postgres ou ao GitHub, cada desenvolvedor precisava escrever código proprietário de function calling com schemas manuais. Com o MCP:
1. **Padronização:** Criadores de ferramentas expõem recursos (Resources) e ferramentas (Tools) em uma interface única.
2. **Segurança:** O modelo não tem acesso direto às suas credenciais; ele apenas solicita a execução ao servidor MCP local.
3. **Reutilização:** O mesmo servidor MCP funciona no Claude Code, Claude Desktop, Antigravity e qualquer outro cliente compatível.
---
## 2. Como o MCP Funciona na Prática {#como-o-mcp-funciona}
A arquitetura do MCP é baseada no padrão **Cliente-Servidor**:
- **MCP Host / Client:** O assistente de IA (ex: Claude Code, Antigravity IDE).
- **MCP Server:** Um processo local ou remoto leve que expõe funções via `stdio` (terminal) ou `SSE` (Server-Sent Events).
Quando o usuário pede: *"Consulte os 5 leads mais recentes do banco"*, o Claude identifica a ferramenta `fetch_crm_leads`, envia os parâmetros JSON para o MCP Server, recebe o resultado e sintetiza a resposta final.
---
## 3. Construindo seu Primeiro MCP Server em TypeScript {#criando-um-servidor-mcp}
A forma mais rápida de criar um servidor MCP é utilizando o SDK oficial da Anthropic (`@modelcontextprotocol/sdk`).
```typescript
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server(
{ name: "meu-mcp-leads", version: "1.0.0" },
{ capabilities: { tools: {} } }
);
// Definir lista de ferramentas disponíveis
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "listar_leads_recentes",
description: "Retorna os últimos leads cadastrados na esteira de vendas",
inputSchema: {
type: "object",
properties: {
limite: { type: "number", description: "Quantidade de leads a retornar" }
}
}
}
]
}));
// Lidar com a execução da ferramenta
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "listar_leads_recentes") {
const limite = request.params.arguments?.limite || 5;
// Exemplo de retorno simulado do banco
return {
content: [
{
type: "text",
text: JSON.stringify([
{ nome: "Gabriel Santos", email: "gabriel@agenciar.com.br", score: 98 },
{ nome: "Mariana Costa", email: "mariana@tech.io", score: 92 }
].slice(0, limite))
}
]
};
}
throw new Error("Ferramenta desconhecida");
});
const transport = new StdioServerTransport();
await server.connect(transport);
```
---
## 4. Registrando o Servidor no Claude Code e Antigravity {#conectando-ao-claude}
Para que seu assistente de IA reconheça seu servidor recém-criado, adicione-o ao arquivo de configuração:
```json
{
"mcpServers": {
"meu-mcp-leads": {
"command": "node",
"args": ["/caminho/absoluto/para/dist/server.js"]
}
}
}
```
Scripts e Códigos Práticos do Artigo
Registro de Servidores MCP no settings.json
settings.json
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
},
"sqlite-local": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "./database.db"]
}
}
}Perguntas Frequentes (FAQ)
Dúvidas Respondidas sobre este Tema
O MCP é exclusivo da Anthropic e do Claude?
Não! O MCP é um protocolo de especificação aberta que já está sendo adotado por múltiplos provedores de modelos, IDEs e frameworks de agentes autônomos.
Posso criar servidores MCP em Python?
Sim! A Anthropic disponibiliza o SDK oficial tanto em TypeScript/Node.js quanto em Python (via pacote mcp).
Gabriel Santos
GitHubFundador AgenciAR & Arquiteto de Sistemas de IA
Especialista em automações de receita, engenharia de agentes autônomos e arquiteturas de alta conversão.