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.

💡 Dica: MCP (Model Context Protocol) é um protocolo aberto proposto pela Anthropic que padroniza a interconexão entre aplicações de IA e servidores de ferramentas. O Hermes suporta MCP nativamente, podendo se conectar a qualquer servidor MCP.

📋 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:

BASH
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:

100%
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

YAML
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

BASH
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:

BASH
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

BASH
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:

YAML
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

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

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

BASH
hermes mcp add custom-tools \
  --command "python mcp_server_custom.py" \
  --working-dir /path/to/server
YAML
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:


❓ 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, --debug mostra 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


📝 Exercícios

  1. Básico (⭐): Configure um servidor MCP (ex: filesystem), verifique descoberta e chamada de ferramentas.
  2. Intermediário (⭐⭐): Configure 3 servidores MCP simultaneamente, use ferramentas de servidores diferentes na conversa.
  3. Avançado (⭐⭐⭐): Desenvolva um servidor MCP personalizado encapsulando sua API comum, registre no Hermes e verifique o workflow completo.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%