MCP集成:连接你的工具栈

Hermes Agent 从入门到精通 · 章节 §11
11 MCP集成:连接你的工具栈
MCP Integration: Connecting Your Tool Stack
Hermes内置40多个工具已经很能打了,但真实工作场景远不止这些。MCP让Hermes接入GitHub、数据库、
Slack、Jira等6000多个外部服务,不用写一行适配代码。
MCP是什么,为什么重要
MCP全称Model Context Protocol,Anthropic在2024年底提出的开放标准。可以理解为AI工具世界的USB接口:只要
MCP Server实现了这个协议,任何支持MCP的Agent都能直接调用它提供的工具。
对Hermes来说,MCP意味着不用为每个外部服务开发专用工具。想接GitHub?装个GitHub MCP Server。想查数据库?
装个数据库MCP Server。社区已经有几千个现成的Server可用。
两种连接方式:stdio和HTTP
Hermes支持两种方式连接MCP Server,区别在于Server运行在哪里。
方式 Server位置 适用场景 性能
stdio 本机子进程 本地工具、文件系统、数据库 快,无网络开销
HTTP (SSE) 远程服务器 云服务、团队共享的Server 取决于网络
大多数情况下用stdio就够了。MCP Server作为Hermes的子进程运行,通信走标准输入输出,速度快、配置简单。HTTP
方式适合Server需要独立部署或多个Agent共享的场景。
配置在 config.yaml 的 mcp_servers 部分:
# stdio⽅式
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxxxx"
# HTTP⽅式
mcp_servers:
remote-tools:
url: "https:#/your-server.com/mcp"
transport: "sse"


实战:接入GitHub MCP
GitHub是最常用的MCP集成之一。接入后Hermes可以直接创建Issue、提PR、审查代码、管理项目面板。
准备GitHub Token
1
去GitHub Settings → Developer settings → Personal access tokens,生成一个token。权限至少勾选 repo 和
read:org。如果你要操作Issues和PR,把 issues 和 pull_requests 的写权限也打开。
2 配置config.yaml
在 config.yaml 里添加GitHub MCP Server:
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_your_token_here"
token建议放在环境变量里而不是直接写在配置文件中。可以用 ${GITHUB_TOKEN} 引用。
3 重启Hermes并验证
重启后,对Hermes说「列出我GitHub上的仓库」或「查看XX仓库最近的Issue」。如果它能正确返回信息,说明连
接成功。
日常使用
4
连接之后,你可以用自然语言操作GitHub。比如:
「帮我在alchaincyf/my-app仓库创建⼀个Issue,标题是修复登录⻚⾯跳转问题」
「看看这个PR的改动,帮我做⼀下代码审查」
「最近⼀周有哪些新的Issue被打开了?按标签分类列出来」
GitHub MCP提供的工具涵盖仓库管理、Issue操作、PR审查、代码搜索、分支管理等。你不需要记住这些工具的名字,
用自然语言说需求就行,Hermes自动选对应的工具调用。
实战:接入数据库
数据库是另一个高频场景。接入后Hermes可以直接查数据、生成报表、分析趋势,不用你手写SQL。
以PostgreSQL为例:
mcp_servers:
postgres:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-postgres"]
env:
POSTGRES_CONNECTION_STRING: "postgresql:#/user:pass@localhost:5432/mydb"


配置完成后,你可以对Hermes说「查一下这个月注册用户有多少」「最近30天每天的订单金额趋势」,它会自动生成SQL
查询、执行、返回结果。
注意
数据库MCP默认有读写权限。如果你只想让Hermes查询而不修改数据,建议使用只读的数据库账号连接。生产环境的数
据库尤其要注意这一点。
SQLite、MySQL同样有对应的MCP Server。配置方式大同小异,换个Server包名和连接字符串就行。
per-server工具过滤
连接多个MCP Server之后,可用工具会变得很多。GitHub一个Server就提供十几个工具,加上数据库、文件系统、
Slack,工具列表可能有几十上百个。
工具太多会降低Agent的决策质量。面对100个工具,匹配准确率不如面对20个。而且有些工具你根本不想让它碰。
Hermes支持per-server的工具过滤,在配置中指定每个Server只暴露哪些工具:
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxxxx"
allowed_tools:
- "list_issues"
- "create_issue"
- "get_pull_request"
- "create_pull_request_review"
这样即使GitHub MCP Server提供了删除仓库、修改设置等高权限工具,Hermes也用不到。最小权限原则在Agent时代
比以往任何时候都重要。
什么时候用MCP,什么时候用原生工具
Hermes自带40多个工具,MCP又能接入几千个。怎么选?
推荐 不推荐
用原生工具: 用MCP:
终端命令、文件操作、Web搜索、图像生成、记忆管理、子 GitHub、数据库、Slack、Jira、Google Drive等外部服务。
Agent委派。这些内建工具经过深度优化,和学习循环、记 这些需要特定API协议才能访问,用MCP是最合理的选择。
忆系统紧密集成,响应快,行为可预测。 终端也能调CLI完成,但MCP提供结构化输入输出,准确率
更高。
一个简单的判断标准:如果Hermes已经内置了这个能力,用内置的;如果需要和外部服务交互,用MCP。
有些场景两者都能做,比如操作Git。terminal工具可以直接跑git命令,GitHub MCP也能操作仓库。区别在于:terminal
走本地操作,适合当前仓库的日常commit/push;GitHub MCP通过API操作,适合跨仓库管理、批量操作Issue、PR审查


这类需要平台能力的场景。
实践建议:刚开始别一次性接入太多MCP Server。先接一两个最常用的(GitHub、数据库),用熟了再加。每多一个
Server,工具选择空间大一圈,决策路径也变长。
MCP + Skill的组合
MCP解决「能连什么」,Skill解决「怎么用」。两者配合效果更好。
比如:你接入了GitHub MCP,又创建了一个「代码审查」Skill。Skill定义审查标准(命名规范、错误处理、测试覆盖
率),MCP提供读取PR改动的能力。两者结合,Hermes就能按你的标准自动审查代码。
再比如:数据库MCP让Hermes能执行SQL,「周报生成」Skill定义了周报格式和重点指标。每周五下午配合cron定时任
务,Hermes自动查数据、生成周报、发到Slack。MCP、Skill和原生工具三者配合,才是真正的威力所在。
到这里,Hermes的核心能力你都了解了。下一个Part进入实战场景,看看这些能力组合起来能做出什么。