MCP适配器(OpenClaw插件)
将MCP(模型上下文协议)服务器工具作为本地OpenClaw代理工具公开。
此插件在启动时连接到您的MCP服务器,发现它们的工具,并将每个工具注册为代理可以直接调用的一流工具,而不是通过CLI技能运行MCP服务器。
需求
- OpenClaw网关
- Node.js 18+
- 您要连接的MCP服务器
安装
openclaw plugins install mcp-adapter替代方案:从源代码安装
git clone https://github.com/androidStern/openclaw-mcp-adapter.git
openclaw plugins install ./openclaw-mcp-adapter配置
1.启用插件并配置服务器
添加到 ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"mcp-adapter": {
"enabled": true,
"config": {
"servers": [
{
"name": "myserver",
"transport": "stdio",
"command": "npx",
"args": ["-y", "some-mcp-server"],
"env": {
"API_KEY": "${MY_API_KEY}"
}
}
]
}
}
}
}
}2.允许沙盒代理
添加 "mcp-adapter" 到您的沙盒工具allowlist:
{
"tools": {
"sandbox": {
"tools": {
"allow": ["group:runtime", "group:fs", "mcp-adapter"]
}
}
}
}3.重新启动网关
openclaw gateway restart4.验证
openclaw plugins list
# Should show: MCP Adapter | mcp-adapter | loaded服务器配置
标准传输(生成子流程)
{
"name": "filesystem",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@anthropic/mcp-filesystem", "/path/to/dir"],
"env": {
"SOME_VAR": "value"
}
}HTTP传输(连接到正在运行的服务器)
{
"name": "api",
"transport": "http",
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer ${API_TOKEN}"
}
}配置选项
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
servers | 阵列 | [] | 要连接的MCP服务器列表 |
toolPrefix | 布尔值 | true | 在工具名称前加上服务器名称(例如。, myserver_toolname) |
服务器选项
| 选项 | 类型 | 必填 | 描述 | |
|---|---|---|---|---|
name | string | 是 | 此服务器的唯一名称 | |
transport | "stdio" | "http" | 否 | 连接类型(默认值: stdio) |
command | string | 仅限stdio | 生成命令 | |
args | string\[\] | 否 | 命令参数 | |
env | object | 否 | 环境变量 | |
url | string | 仅限http | 服务器URL | |
headers | object | 否 | HTTP请求头 |
环境变量插值
使用 ${VAR_NAME} 在 env 和 headers 从中引用环境变量的值 ~/.openclaw/.env:
{
"env": {
"API_KEY": "${MY_SERVICE_API_KEY}"
}
}运作原理
- 在网关启动时,插件连接到每个配置的MCP服务器
- 呼叫
listTools()发现可用工具 - 使用名称、描述和JSON模式在OpenClaw中注册每个工具
- 当代理调用工具时,插件将调用代理到MCP服务器
- 如果连接断开,它将在下一次工具调用时自动重新连接
示例:AgentMail
{
"name": "agentmail",
"transport": "stdio",
"command": "npx",
"args": ["-y", "agentmail-mcp"],
"env": {
"AGENTMAIL_API_KEY": "${AGENTMAIL_API_KEY}"
}
}这注册了以下工具 agentmail_create_inbox, agentmail_send_email等等。
许可证
麻省理工学院
