模型上下文协议

Hermes Agent MCP 集成 — 标准化工具调用与上下文协议

MCP 工具调用

什么是 MCP?

模型上下文协议(Model Context Protocol,MCP)是一种开放标准协议,旨在为 AI 模型与外部工具、数据源之间提供标准化的通信框架。Hermes Agent 通过 MCP 实现对外部服务的统一集成与调用。

MCP 简化了 AI 代理与各种工具的集成流程,使开发者能够轻松扩展代理能力,无需为每个工具编写独立适配器。通过 MCP,开发者可以快速接入文件系统、GitHub 搜索、网页搜索等多种外部服务。

目录结构

Hermes Agent 在 agent/mcp/ 目录下包含完整的 MCP 实现:

agent/ └── mcp/ ├── # MCP 核心实现 ├── server.py # MCP 服务器 ├── client.py # MCP 客户端 ├── protocol.py # 协议定义 ├── tools.py # 工具注册与调用 └── registry.py # 服务器配置注册表

mcporter 命令行工具

mcporter 是 Hermes Agent 提供的命令行工具,用于管理 MCP 服务器连接与配置:

# 安装 MCP 服务器 mcporter install filesystem https://github.com/modelcontextprotocol/server-filesystem # 列出已配置的服务器 mcporter list # 启动 MCP 服务器 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 服务器。