2026 年,MCP(Model Context Protocol)已成为 AI Agent 连接外部世界的标准协议。本文提供从零到生产环境的完整配置模板,包含可复制的代码片段和避坑清单。
为什么你的 AI Agent 需要 MCP?
如果你只让 Hermes Agent 在沙盒里写写代码、搜搜网页,那你只用到了它 30% 的能力。
MCP 的真正价值在于:让你的 Agent 成为操作系统级的自动化中枢。通过 MCP Server,Agent 可以:
- 📊 操控数据库:查询 PostgreSQL、MongoDB,生成报表
- 📁 管理文件系统:跨服务器读写文件、批量处理
- 🔗 调用第三方 API:Notion、Slack、GitHub、飞书——任何有 API 的服务
- 🖥️ 执行系统命令:部署服务、重启容器、监控告警
一句话总结:MCP 把「Agent 只能聊」变成了「Agent 能做事」。
Hermes Agent 从 v0.9.0 开始原生支持 MCP 协议。你只需要一个 JSON 配置文件,就能让 Agent 获得数十个新工具。
第一步:选一个 MCP Server 快速启动(30 秒)
MCP 生态已经有上百个现成的 Server。你不需要自己写——直接挑现成的。
最常用的三个 MCP Server(开箱即用):
| MCP Server | 功能 | 安装命令 | 适合场景 |
|---|---|---|---|
@anthropic/mcp-server-filesystem |
文件系统读写 | npx @anthropic/mcp-server-filesystem /path |
批量文档处理 |
@anthropic/mcp-server-postgres |
PostgreSQL 查询 | npx @anthropic/mcp-server-postgres $DB_URL |
数据分析和报表 |
@anthropic/mcp-server-github |
GitHub 仓库操控 | npx @anthropic/mcp-server-github |
自动 PR、Code Review |
一行命令启动文件系统 MCP Server:
npx @anthropic/mcp-server-filesystem /home/agent/projects
输出:
MCP Server running on stdio
Available tools: read_file, write_file, list_directory, search_files, move_file
你的 Agent 现在可以读、写、搜索 /home/agent/projects 下的任何文件了。
⚠️ 安全提醒:MCP Server 的文件系统权限由启动参数决定。务必限定目录范围(如
/home/agent/projects),不要暴露/根目录。
第二步:配置 Hermes Agent 的 MCP 连接(核心步骤)
Hermes Agent 通过一个 JSON 配置文件连接 MCP Server。配置文件的路径取决于你的部署方式。
配置模板(直接复制)
在 Hermes Agent 的项目目录下创建 mcp_servers.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@anthropic/mcp-server-filesystem",
"/home/agent/projects"
],
"description": "项目文件管理:读写、搜索、批量操作"
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@anthropic/mcp-server-postgres",
"postgresql://user:pass@localhost:5432/mydb"
],
"description": "数据库查询和分析"
},
"github": {
"command": "npx",
"args": [
"-y",
"@anthropic/mcp-server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
},
"description": "GitHub 仓库管理"
}
}
}
配置字段说明
| 字段 | 说明 | 必填 |
|---|---|---|
command |
启动 MCP Server 的命令(node、python、npx 等) | ✅ |
args |
命令行参数数组 | ✅ |
env |
环境变量(如 API Key、数据库密码) | ❌ |
description |
工具描述,Agent 会用它来理解何时调用 | ❌(但强烈建议填) |
让 Hermes Agent 加载配置
方式一:启动时指定(推荐)
hermes-agent --mcp-config ./mcp_servers.json
方式二:在 Skill 中声明
# 在你的 Skill 文件(如 ai-neican-hotspot.md)的 frontmatter 中
---
mcp_servers:
- filesystem
- postgres
---
启动完成后,Agent 会自动发现所有配置的 MCP 工具。你可以在会话中输入:
列出你当前可用的所有工具
Agent 会输出包括 MCP 工具在内的完整工具列表。
第三步:测试你的 MCP 工具——一个真实的自动化场景
理论讲完了,来一个实战。场景:「每天早上 8 点,自动查询昨天的新增用户数,写入日报文件,推送到企业微信群。」
完整配置
mcp_servers.json 追加:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-postgres", "postgresql://..."],
"description": "生产数据库只读分析"
},
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-filesystem", "/home/agent/reports"],
"description": "日报文件写入"
}
}
}
在 Hermes Agent 会话中输入:
请完成以下每日任务:
1. 用 postgres 工具查询昨天的用户注册数:SELECT COUNT(*) FROM users WHERE created_at >= DATE('now', '-1 day')
2. 将结果格式化为「昨日新增用户:XXX 人」
3. 用 filesystem 工具写入 /home/agent/reports/daily-{日期}.md
4. 如果新增用户 > 100,标记为 📈 增长日;否则标记为 📊 平稳日
Agent 会依次调用:
1. postgres.query(sql="SELECT COUNT(*) FROM users...") → 返回 {count: 247}
2. filesystem.write_file(path="/home/agent/reports/daily-2026-06-25.md", content="📈 昨日新增用户:247 人")
实测结果:从输入指令到完成日报写入,全程 8 秒。
如何确认 MCP 工具已生效
在 Hermes Agent 中输入:
使用 filesystem 工具列出 /home/agent/reports 目录下的所有文件
如果返回了文件列表,说明 MCP 连接正常。
常见问题排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
MCP Server not found |
npx 未安装或网络问题 | 先手动跑 npx @anthropic/mcp-server-filesystem 确认能启动 |
Tool not available |
配置文件路径错误 | 检查 --mcp-config 参数是否指向正确路径 |
Permission denied |
文件系统权限受限 | 确认 MCP Server 的目录参数存在且有读写权限 |
Connection timeout |
MCP Server 启动慢 | 给 args 增加超时参数,或换用本地安装而非 npx |
第四步:生产环境优化——3 个关键配置
测试环境跑通了,上生产前还需要做这些:
1. 用环境变量管理敏感信息
❌ 错误做法:把 API Key 写死在 JSON 里
{
"env": {
"GITHUB_TOKEN": "ghp_abc123" // 危险!
}
}
✅ 正确做法:用系统环境变量
{
"env": {
"GITHUB_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
然后在启动 Hermes Agent 前设置:
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
hermes-agent --mcp-config ./mcp_servers.json
2. 限制 MCP 工具的权限范围
MCP Server 的能力 = Agent 的能力。如果给了文件系统 / 根目录权限,你的 Agent 就能删除系统文件。
最小权限原则:
// ✅ 只给项目目录
"args": ["-y", "@anthropic/mcp-server-filesystem", "/home/agent/projects"]
// ❌ 给了整个服务器
"args": ["-y", "@anthropic/mcp-server-filesystem", "/"]
对于数据库,建议创建只读账号:
CREATE USER mcp_reader WITH PASSWORD 'secure_password';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_reader;
3. 启用 MCP 工具日志
生产环境中需要追踪 Agent 调用了哪些 MCP 工具、传递了什么参数。在 mcp_servers.json 顶层增加:
{
"mcpServers": { ... },
"logging": {
"level": "info",
"file": "/home/agent/.hermes/logs/mcp.log"
}
}
进阶:动态 Schema 路由——解决 MCP 工具设计的终极瓶颈
如果你要接入的不是标准数据库或文件系统,而是参数类型在运行时才知道的复杂 API,标准 MCP 的静态 JSON Schema 就不够用了。
这是 MCP 社区最近热议的「Dependent Types」问题(HN 73 分讨论):
举例:你有一个「编辑 3D 模型」的工具。不同的模型文件(.glb vs .fbx)有不同的可编辑属性。你无法预先在 JSON Schema 里穷举所有可能性。
解决方案:两阶段 Schema 路由
阶段1: LLM 选择目标资源
→ get_model_type("scene.glb")
→ 返回: {type: "glb", properties: ["vertices", "textures", "animations"]}
阶段2: 程序动态生成 JSON Schema
→ generate_schema(type="glb", properties=[...])
→ 返回: {"type": "object", "properties": {"vertices": {...}, ...}}
阶段3: LLM 生成编辑指令
→ edit_model("scene.glb", {vertices: [...]})
这套模式已经在 Defold 3D 编辑器的 MCP 接入中验证可行。如果你在做需要操控复杂数据结构的 AI Agent 产品,这个设计模式可以直接复用。
总结:你今天就能做的 3 件事
- 花 5 分钟启动你的第一个 MCP Server:选文件系统或数据库,一行
npx命令就搞定 - 配置 Hermes Agent 连接:复制本文的
mcp_servers.json模板,改路径和密钥即可 - 写一个自动化任务:从「查询数据库 → 生成报表 → 写入文件」这个经典三段式开始
核心认知:MCP 不是锦上添花的功能——它是 AI Agent 从「聊天机器人」升级为「自动化中枢」的唯一通道。2026 年的 AI 创业者,必须掌握 MCP。
下一篇预告:【Agent工坊】Hermes Agent Cron 定时任务:让你的 AI 流水线全自动运行