OpenClaw 企业定制 私人订制工作流 优化运维 openclaw记忆优化 问题咨询解决 请加微信交流
MCP(Model Context Protocol)是AI模型连接外部工具和数据的标准协议。Hermes内置MCP客户端,可以连接任何MCP服务器,让AI能调用各种外部工具——数据库、文件系统、API、浏览器等。这篇讲清楚MCP是什么、怎么用、以及有哪些现成的MCP服务器可用。
MCP是什么
MCP是一个开放协议,定义了AI模型如何调用外部工具和数据源。它的设计目标是:
- 标准化:统一的接口,任何MCP服务器都可以被任何MCP客户端调用
- 可扩展:想加什么功能,写一个MCP服务器就行
- 安全隔离:工具在沙箱中运行,不会直接污染主机
你可以把MCP想象成AI的”应用商店”——一个平台,所有AI工具都能通过它接入。
基本架构
MCP系统有三部分:
- MCP Client:运行在AI Agent端,负责任务分发
- MCP Server:运行具体工具,提供能力
- Transport:Client和Server之间的通信层(stdio或HTTP)
Hermes (MCP Client) <---> MCP Server (工具实现)
<---> File System
<---> Database
<---> Browser
<---> API
快速开始
配置MCP服务器
# 在config.yaml中配置
mcp:
servers:
- name: "filesystem"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
- name: "brave-search"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-brave-search"]
# MCP服务器配置
settings:
timeout: 30
retries: 3
验证MCP连接
hermes mcp list
查看已连接的MCP服务器。
hermes mcp test filesystem
测试指定的MCP服务器是否正常。
常用MCP服务器
1. 文件系统服务器
mcp:
servers:
- name: "filesystem"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
提供文件读写、搜索、目录操作能力。
2. Brave搜索服务器
mcp:
servers:
- name: "brave-search"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-brave-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
提供实时网页搜索能力。需要Brave Search API Key(免费额度足够个人用)。
3. GitHub服务器
mcp:
servers:
- name: "github"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"
提供GitHub API能力:创建Issue/PR、查看代码、管理仓库。
4. PostgreSQL服务器
mcp:
servers:
- name: "postgres"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-postgres"]
env:
DATABASE_URL: "postgresql://user:pass@localhost:5432/db"
提供数据库查询能力。
5. Slack服务器
mcp:
servers:
- name: "slack"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-slack"]
env:
SLACK_BOT_TOKEN: "${SLACK_BOT_TOKEN}"
SLACK_TEAM_ID: "${SLACK_TEAM_ID}"
提供发送消息、读取频道等Slack操作能力。
6. Puppeteer浏览器服务器
mcp:
servers:
- name: "puppeteer"
command: "npx"
args: ["-y", "mcp-server-puppeteer"]
提供浏览器自动化能力,比Hermes内置浏览器工具更强大。
工具过滤
可以限制AI能调用哪些工具:
mcp:
servers:
- name: "filesystem"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
allowed_tools:
- "read_file"
- "search_files"
denied_tools:
- "write_file"
- "delete_file"
这样AI只能读取,不能写入,保护重要文件。
安全配置
mcp:
servers:
- name: "filesystem"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/data"]
security:
sandbox: true
network: false
# 全局策略
security_policy:
allow_all: false # 默认禁止所有
allowed_servers:
- "filesystem"
- "github"
自定义MCP服务器
可以自己写MCP服务器:
# my-server.py
from mcp.server import MCPServer
from mcp.types import Tool
server = MCPServer("my-server")
@server.tool()
def my_tool(param: str) -> str:
"""我的自定义工具"""
return f"处理了: {param}"
server.run()
mcp:
servers:
- name: "my-server"
command: "python"
args: ["my-server.py"]
官方MCP服务器列表
| 服务器 | 能力 | 包名 |
|---|---|---|
| Filesystem | 文件读写搜索 | @modelcontextprotocol/server-filesystem |
| Brave Search | 实时搜索 | @modelcontextprotocol/server-brave-search |
| GitHub | GitHub API | @modelcontextprotocol/server-github |
| Google Maps | 地图服务 | @modelcontextprotocol/server-google-maps |
| PostgreSQL | 数据库查询 | @modelcontextprotocol/server-postgres |
| Slack | 消息发送 | @modelcontextprotocol/server-slack |
| AWS KB Retrieval | 知识库查询 | @modelcontextprotocol/server-aws-kb-retrieval |
| Everything | 本地搜索 | @modelcontextprotocol/server-everything |
实际使用示例
案例1:搜索并整理信息
用户:帮我搜索最新的AI新闻,然后整理成摘要
AI调用 (MCP Brave Search):
search(query="AI news 2024", count=10)
AI处理结果,返回整理好的摘要
案例2:操作GitHub
用户:在我的仓库创建一个Issue
AI调用 (MCP GitHub):
create_issue(
repo="username/repo",
title="Bug: 登录失败",
body="描述..."
)
案例3:查询数据库
用户:查询上个月销售额最高的产品
AI调用 (MCP PostgreSQL):
query(sql="SELECT product, SUM(amount) FROM sales WHERE date > '2024-01-01' GROUP BY product ORDER BY SUM(amount) DESC LIMIT 5")
与其他功能配合
MCP可以和其他功能配合使用:
- +Subagent:Subagent也可以调用MCP工具
- +Skills:Skill可以声明需要哪些MCP工具
- +Memory:MCP调用结果会被记忆系统记住
- +Cron:定时任务可以调用MCP工具
常见问题
MCP服务器启动失败?
检查npx是否安装、Node.js版本是否满足要求(通常需要18+)。
node --version
npx --version
工具调用超时?
增加timeout配置:mcp.settings.timeout: 60
某些工具不可用?
检查该工具是否在allowed_tools列表中,或被denied_tools禁止。
如何调试MCP问题?
hermes mcp debug
查看详细日志。
总结
MCP是AI连接外部世界的桥梁,通过标准化协议让AI能调用任何工具。
核心价值:
- 标准化接口,所有MCP服务器互通
- 官方提供大量现成服务器
- 可以自己开发MCP服务器
- 工具过滤保护安全
- 和其他功能完美配合
建议先试试filesystem和brave-search这两个最常用的。







暂无评论内容