Skip to content

Acceso MCP

源码版本v2026.7.20

Responsabilidad

MCP (Model Context Protocol) es el protocolo estándar para conectar herramientas/fuentes de datos externas. Hermes actúa tanto como client MCP, consumiendo herramientas expuestas por servidores MCP externos (puenteadas a ToolRegistry vía mcp_tool), como como server MCP (mcp_serve.py), exponiendo sus propias herramientas a otros clientes agent. Esta capa permite a Hermes integrar capacidades de terceros de forma ilimitada.

Archivos clave

Flujo de datos

  1. En el arranque (o en carga caliente durante la ejecución) se lee la configuración MCP; mcp_tool se conecta al server MCP externo.
  2. Obtiene el listado de herramientas expuestas por el server y registra cada una vía registry.register:365 como un ToolEntry (con aislamiento de namespace, para no chocar con las herramientas internas).
  3. La admisión de namespace la controla register_plugin_override_policy:316.
  4. El bucle principal recoge el schema, despacha el tool_call y devuelve el resultado igual que con las herramientas internas.
  5. Sentido inverso: Hermes puede, vía mcp_serve.py, exponer sus propias herramientas a otros clientes MCP, para que las invoquen editores u otros agentes.

Resumen

MCP es el «bus de capacidades externas» de Hermes. mcp_tool hace que las herramientas externas entren al pool unificado de forma transparente; mcp_serve.py permite a su vez que Hermes sea invocado desde fuera. Al pasar todo por ToolRegistry, el bucle principal no necesita distinguir si una herramienta es interna o viene de MCP.

Sitio de aprendizaje comunitario no oficial. Basado en el código fuente de NousResearch/hermes-agent (licencia MIT).