Hermes Agent: Protocolo MCP
Última atualização: 2026-08-31
MCP é a interface USB da interconexão de ferramentas de IA — via Model Context Protocol, o Hermes Agent pode descobrir e chamar qualquer servidor de ferramentas compatível com MCP, expandindo infinitamente os limites de capacidade.
📋 Pré-requisitos: Lição 8 — Ferramentas e Conjuntos, Lição 15 — Plugins
1. O Que Você Vai Aprender
| # | Conteúdo |
|---|---|
| ❶ | Conceitos e princípios do protocolo MCP |
| ❷ | Integração MCP do Hermes |
| ❸ | Configuração de servidores MCP |
| ❹ | Descoberta e chamada de ferramentas |
| ❺ | Desenvolvimento de servidores MCP personalizados |
2. História
(1) Problema: Cada Ferramenta de IA Tem Uma Interface Diferente
Bob usa 5 ferramentas de IA, cada uma com formato de API, método de autenticação e definição de ferramenta próprios. Conectar uma nova ferramenta exige desenvolver uma camada de adaptação do zero.
(2) Solução: MCP Protocolo Unificado, Plug-and-Play
Alice conecta vários servidores de ferramentas ao Hermes via MCP:
hermes mcp add filesystem --command "npx @anthropic/mcp-filesystem /home/alice"
hermes mcp add github --command "npx @anthropic/mcp-github"
hermes mcp tools
# Descobertas 15 novas ferramentas: read_file, write_file, search_files, create_issue...
3. Conceitos do Protocolo MCP
(1) O Que É MCP?
MCP (Model Context Protocol) é um protocolo aberto que define o padrão de comunicação entre aplicações de IA (cliente) e servidores de ferramentas:
graph LR
A[Hermes Agent<br/>MCP Client] -->|Protocolo padrão| B[MCP Server 1<br/>Filesystem]
A -->|Protocolo padrão| C[MCP Server 2<br/>GitHub]
A -->|Protocolo padrão| D[MCP Server 3<br/>Database]
A -->|Protocolo padrão| E[MCP Server N<br/>Custom]
(2) Conceitos Principais do MCP
| Conceito | Descrição | Analogia |
|---|---|---|
| MCP Client | Aplicação de IA que faz requisições | Host USB |
| MCP Server | Servidor que fornece ferramentas | Dispositivo USB |
| Tool | Operação específica fornecida pelo Server | Função do dispositivo |
| Resource | Fonte de dados fornecida pelo Server | Armazenamento do dispositivo |
| Prompt | Template de prompt fornecido pelo Server | Preset do dispositivo |
(3) MCP vs API Tradicional
| Dimensão | API Tradicional | MCP |
|---|---|---|
| Formato de interface | Personalizado por cada um | Padrão unificado |
| Descoberta de ferramentas | Documentação manual | Descoberta automática |
| Autenticação | Implementação própria | Esquema unificado |
| Conexão | HTTP/SDK | stdio/SSE |
| Ecossistema | Ilhas isoladas | Interconectado |
4. Integração MCP do Hermes
(1) Configuração MCP
mcp:
enabled: true
servers:
filesystem:
command: "npx"
args: ["@anthropic/mcp-filesystem", "/home/alice/projects"]
github:
command: "npx"
args: ["@anthropic/mcp-github"]
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}"
database:
command: "python"
args: ["-m", "mcp_server_postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"
brave-search:
command: "npx"
args: ["@anthropic/mcp-brave-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
(2) Gerenciamento de Conexões
hermes mcp add filesystem --command "npx @anthropic/mcp-filesystem /home/alice"
hermes mcp list
hermes mcp test filesystem
hermes mcp tools filesystem
hermes mcp remove filesystem
5. Descoberta e Chamada de Ferramentas
(1) Descoberta Automática
O Hermes descobre automaticamente todas as ferramentas disponíveis ao se conectar a servidores MCP:
hermes mcp tools
# ┌─────────────────────┬──────────────┬────────────────────────┐
# │ Tool │ Server │ Description │
# ├─────────────────────┼──────────────┼────────────────────────┤
# │ read_file │ filesystem │ Read file contents │
# │ write_file │ filesystem │ Write to file │
# │ search_files │ filesystem │ Search in files │
# │ create_issue │ github │ Create GitHub issue │
# │ list_prs │ github │ List pull requests │
# │ query │ database │ Execute SQL query │
# │ search │ brave-search │ Web search │
# └─────────────────────┴──────────────┴────────────────────────┘
(2) Uso na Conversa
me: Leia o conteúdo do README.md
Agent: [MCP: filesystem/read_file]
# My Project...
me: Crie um Issue no GitHub
Agent: [MCP: github/create_issue]
Título? → "Bug: Login fails on mobile"
✅ Issue #42 criado
me: Busque as últimas notícias de IA
Agent: [MCP: brave-search/search]
Encontrados 5 resultados...
(3) Roteamento de Ferramentas
Quando múltiplos servidores MCP fornecem ferramentas similares, o Hermes roteia automaticamente:
mcp:
routing:
prefer_mcp: true
priority:
filesystem.read_file: 100
fs_read: 50
conflict_resolution: "priority"
6. Desenvolvimento de Servidores MCP Personalizados
(1) Servidor MCP em Python
from mcp.server import Server, Tool
server = Server("custom-tools")
@server.tool("get_weather")
async def get_weather(city: str) -> dict:
"""Get current weather for a city"""
import httpx
response = httpx.get(f"https://api.weather.com/{city}")
return response.json()
@server.tool("send_notification")
async def send_notification(message: str, channel: str = "default") -> dict:
"""Send a notification to a channel"""
return {"status": "sent", "channel": channel}
if __name__ == "__main__":
server.run()
(2) Servidor MCP em TypeScript
import { Server, Tool } from "@anthropic/mcp";
const server = new Server("custom-tools");
server.tool("query_database", {
description: "Query the database",
parameters: {
sql: { type: "string", required: true },
limit: { type: "number", default: 100 }
},
async execute({ sql, limit }) {
const results = await db.query(sql, { limit });
return { rows: results };
}
});
server.run();
(3) Registrar Servidor Personalizado
hermes mcp add custom-tools \
--command "python mcp_server_custom.py" \
--working-dir /path/to/server
mcp:
servers:
custom-tools:
command: "python"
args: ["mcp_server_custom.py"]
working_dir: "/path/to/server"
env:
API_KEY: "${CUSTOM_API_KEY}"
7. Ecossistema MCP
(1) Servidores MCP Oficiais
| Servidor | Função | Instalação |
|---|---|---|
| filesystem | Operações de sistema de arquivos | npx @anthropic/mcp-filesystem |
| github | Operações GitHub | npx @anthropic/mcp-github |
| gitlab | Operações GitLab | npx @anthropic/mcp-gitlab |
| postgres | Consultas PostgreSQL | npx @anthropic/mcp-postgres |
| sqlite | Operações SQLite | npx @anthropic/mcp-sqlite |
| brave-search | Busca web | npx @anthropic/mcp-brave-search |
| google-drive | Google Drive | npx @anthropic/mcp-google-drive |
| slack | Operações Slack | npx @anthropic/mcp-slack |
(2) Servidores MCP Comunitários
A comunidade mantém 100+ servidores MCP cobrindo:
- Gerenciamento de projetos: Jira, Linear, Asana
- Ferramentas de design: Figma, Canva
- Serviços cloud: AWS, GCP, Azure
- Análise de dados: Pandas, Jupyter
- Comunicação: Twilio, SendGrid
❓ Perguntas Frequentes
P: Diferença entre MCP e plugins? R: Plugins são extensões específicas do Hermes com integração profunda. MCP é protocolo aberto que qualquer app de IA pode usar. MCP é mais universal, plugins mais profundos.
P: Servidores MCP afetam performance? R: Servidores MCP são processos independentes, zero consumo ocioso. Chamadas via stdio/SSE com latência tipicamente <50ms.
P: Quantos servidores MCP simultâneos? R: Sem limite rígido. 5-10 servidores é perfeitamente normal. Cada um é processo independente.
P: Comunicação MCP é segura? R: Modo stdio é totalmente local. Modo SSE suporta TLS. Autenticação via variáveis de ambiente, não exposta no protocolo.
P: Como depurar problemas de conexão MCP? R:
hermes mcp test <server>testa conexão,--debugmostra detalhes de comunicação.
P: MCP suporta streaming de resposta? R: Sim. Modo SSE suporta retorno streaming, adequado para ferramentas de longa execução.
📖 Resumo
- MCP é o protocolo aberto de interconexão de ferramentas de IA, similar à interface USB
- Hermes suporta MCP Client nativamente, conectando a qualquer servidor MCP
- Descoberta automática de ferramentas, interface de chamada unificada
- Suporta desenvolvimento de servidores MCP personalizados em Python/TypeScript
- 100+ servidores MCP oficiais + comunitários cobrindo diversos cenários
📝 Exercícios
- Básico (⭐): Configure um servidor MCP (ex: filesystem), verifique descoberta e chamada de ferramentas.
- Intermediário (⭐⭐): Configure 3 servidores MCP simultaneamente, use ferramentas de servidores diferentes na conversa.
- Avançado (⭐⭐⭐): Desenvolva um servidor MCP personalizado encapsulando sua API comum, registre no Hermes e verifique o workflow completo.