format: md
MCP (Model Context Protocol)
O Model Context Protocol gerencia servidores MCP como processos filho no main process. A comunicação não é HTTP direta, mas via canais IPC internos.
format: md
MCP Transport Overview
| Transporte | Uso | Descrição |
|---|---|---|
| stdio | Servidores MCP locais | Subprocessos Node.js/Python gerenciados pelo main process |
| SSE | Servidores MCP remotos | Planejado, não implementado atualmente |
| Bridge WS | MCP remoto via bridge | Conexão WebSocket via CCR cowork |
format: md
Canais IPC Relacionados a MCP
A comunicação com servidores MCP ocorre através de canais IPC (Inter-Process Communication) no Electron:
| Canal IPC | Propósito |
|---|---|
claude.settings.MCP | Gerenciamento de configuração de servidores MCP |
claude.web.LocalSessions | Chamadas de ferramentas MCP em sessões locais |
claude.web.LocalAgentModeSessions | Chamadas de ferramentas MCP em modo agente |
"list-mcp-servers" | Listar servidores MCP configurados (top-level) |
"connect-to-mcp-server" | Conectar a um servidor MCP específico (top-level) |
format: md
MCP Proxy Configuration
| Configuração | Valor |
|---|---|
| MCP Proxy URL | https://mcp-proxy.anthropic.com |
| MCP Proxy Path | /v1/mcp/{server_id}`` |
Exemplo de requisição ao proxy MCP:
curl -X POST "https://mcp-proxy.anthropic.com/v1/mcp/my-server" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"params": {},
"id": 1
}'
format: md
Schemas de Ferramentas MCP
MCP Tool Definition
{
"name": "custom_tool",
"description": "Minha ferramenta customizada",
"input_schema": {
"type": "object",
"properties": {
"param1": {
"type": "string",
"description": "Parâmetro 1"
}
},
"required": ["param1"]
},
"type": "custom"
}
Tipos de Ferramentas
| Tipo | Descrição | Protocolo |
|---|---|---|
custom | Ferramenta customizada definida pelo usuário | MCP |
computer_20240619 | Controle de computador (mouse, teclado, tela) | Computer Use |
bash_20241022 | Execução de comandos shell | Bash Tool |
text_editor_20241022 | Edição de arquivos de texto | Text Editor |
web_search | Busca na web | Server-side |
web_fetch | Fetch de URLs | Server-side |
web_browser | Navegação web headless | Browser Tool |
mcp | Proxy para servidor MCP externo | MCP |
format: md
Exemplo: Configuração de Servidor MCP via IPC
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["/path/to/server.js"],
"env": {
"API_KEY": "$``{API_KEY}``"
}
}
}
}
Disparado via canal IPC claude.settings.MCP:
-> claude.settings.MCP { action: "update", servers: { ... } }
<- { success: true }
format: md
Códigos de Erro MCP
| Código | Significado |
|---|---|
-32700 | Parse error (JSON inválido) |
-32600 | Invalid request |
-32601 | Method not found |
-32602 | Invalid params |
-32603 | Internal error |
-32000 | Server not initialized |
-32001 | Server error (processo filho falhou) |
-32002 | Connection refused |
-32003 | Tool execution failed |
-32004 | Resource not found |