模型上下文协议
Hermes Agent MCP 集成 — 标准化工具调用与上下文协议
MCP
工具调用
什么是 MCP?
模型上下文协议(Model Context Protocol,MCP)是一种开放标准协议,旨在为 AI 模型与外部工具、数据源之间提供标准化的通信框架。Hermes Agent 通过 MCP 实现对外部服务的统一集成与调用。
MCP 简化了 AI 代理与各种工具的集成流程,使开发者能够轻松扩展代理能力,无需为每个工具编写独立适配器。通过 MCP,开发者可以快速接入文件系统、GitHub 搜索、网页搜索等多种外部服务。
目录结构
Hermes Agent 在 agent/mcp/ 目录下包含完整的 MCP 实现:
agent/
└── mcp/
├──
├── server.py
├── client.py
├── protocol.py
├── tools.py
└── registry.py
mcporter 命令行工具
mcporter 是 Hermes Agent 提供的命令行工具,用于管理 MCP 服务器连接与配置:
mcporter install filesystem https://github.com/modelcontextprotocol/server-filesystem
mcporter list
mcporter start filesystem
mcporter status filesystem
mcporter remove filesystem
MCP 工具调用流程
1. 发现
Hermes Agent 自动扫描 mcp/ 目录,识别所有注册的 MCP 服务器与可用工具。
2. 注册
通过 registry.py 将 MCP 工具注册到全局工具注册表,供 AIAgent Core 调用。
3. 调用
Agent 推理决定调用工具时,通过 MCP 协议将请求发送至目标服务器。
4. 响应
服务器执行后返回结构化结果,Hermes 解析并整合到对话上下文中。
服务器配置
在 agent/config/mcp_servers.yaml 中配置 MCP 服务器:
mcp_servers:
filesystem:
command: "node"
args:
- "/path/to/server/filesystem/index.js"
env:
DEBUG: "false"
github:
command: "python"
args:
- "-m"
- "mcp_server_github"
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}"
brave-search:
command: "npx"
args:
- "-y"
- "@modelcontextprotocol/server-brave-search"
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
核心优势
标准化
统一的协议规范,无需为每个工具编写独立集成代码。
可扩展
轻松添加新工具服务器,Agent 即可自动发现并使用。
跨平台
支持 Node.js、Python 等多种语言实现的 MCP 服务器。