MCP Avancado: Servidores, Protocolos e Integracoes
Model Context Protocol em profundidade: criar servidores MCP, recursos, tools, sampling, integracoes com browsers e IDEs. Do conceito ao deploy em producao.
O que voce vai aprender
Ao final deste curso, voce sabera criar servidores MCP completos com resources, tools, prompts e sampling. Vai integrar com IDEs e browsers, orquestrar multiplos servidores e fazer deploy em producao com Docker e monitoramento.
O Model Context Protocol (MCP) e um padrao aberto criado pela Anthropic para conectar modelos de linguagem (LLMs) a fontes de dados e ferramentas externas. Antes do MCP, cada integracao entre um LLM e um sistema externo exigia uma implementacao customizada -- APIs proprietarias, plugins especificos, adaptadores ad hoc.
O MCP resolve isso com uma arquitetura padronizada:
1. Host: a aplicacao que contem o LLM (Claude Desktop, um IDE, sua aplicacao).
2. Client: o componente dentro do Host que gerencia a conexao com servidores MCP.
3. Server: o processo que expoe dados e ferramentas ao LLM via protocolo padronizado.
4. Protocolo: mensagens JSON-RPC 2.0 trocadas entre Client e Server.
Capacidades principais que um servidor MCP pode expor:
• Resources: dados estruturados que o LLM pode ler (arquivos, registros de banco, documentos).
• Tools: funcoes executaveis que o LLM pode invocar (buscar na web, criar arquivo, enviar email).
• Prompts: templates reutilizaveis que guiam o comportamento do LLM.
• Sampling: capacidade de solicitar completions ao LLM a partir do servidor.
Cada capacidade e negociada durante o handshake inicial. O servidor declara o que oferece, o cliente confirma o que aceita.
// Fluxo de inicializacao do MCP (JSON-RPC 2.0)
// 1. Client -> Server: initialize
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {
"roots": { "listChanged": true },
"sampling": {}
},
"clientInfo": {
"name": "claude-desktop",
"version": "1.0.0"
}
}
}
// 2. Server -> Client: resposta com capacidades
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": {
"resources": { "subscribe": true },
"tools": {},
"prompts": {}
},
"serverInfo": {
"name": "meu-servidor-mcp",
"version": "0.1.0"
}
}
}
// 3. Client -> Server: initialized (notificacao)
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}O MCP e inspirado no Language Server Protocol (LSP) usado em IDEs. Assim como o LSP padronizou a comunicacao entre editores e servidores de linguagem, o MCP padroniza a comunicacao entre LLMs e ferramentas externas. Se voce ja usou extensoes em VS Code, o conceito e familiar.
O MCP nao e uma API REST tradicional. E um protocolo bidirecional e stateful -- cliente e servidor mantem uma sessao ativa. Isso significa que o servidor pode enviar notificacoes ao cliente a qualquer momento (ex.: resource atualizado), algo impossivel em REST puro.
Por que o MCP importa para desenvolvedores:
• Reutilizacao: um servidor MCP escrito uma vez funciona com qualquer cliente MCP (Claude, Cursor, VS Code, etc.).
• Composabilidade: voce pode conectar multiplos servidores ao mesmo cliente, cada um com suas capacidades.
• Seguranca: o protocolo define limites claros -- o LLM nao executa codigo diretamente, ele solicita ao servidor.
• Ecossistema: centenas de servidores MCP ja existem (GitHub, Slack, bancos de dados, APIs diversas).
• Padronizacao: em vez de N integracoes customizadas, um unico protocolo para todas.
Voce entende a arquitetura Host/Client/Server do MCP, as 4 capacidades principais (Resources, Tools, Prompts, Sampling) e o fluxo de inicializacao via JSON-RPC 2.0.
Perguntas frequentes
Preciso conhecer o MCP basico antes de fazer este curso?
Quais IDEs e clientes suportam MCP atualmente?
Posso usar Python em vez de TypeScript para criar servidores MCP?
E seguro expor um servidor MCP na internet?
Alexandre Caramaschi
CEO da Brasil GEO, ex-CMO da Semantix (Nasdaq), cofundador da AI Brasil
Este curso faz parte do material educacional da Brasil GEO. O Model Context Protocol e uma das tecnologias mais importantes para o futuro da integracao entre IA e ferramentas de desenvolvimento. Dominar MCP e essencial para quem constroi aplicacoes com LLMs.