MCP 协议接入:Operit 连接外部工具的标准通路
MCP 是什么
MCP(Model Context Protocol,模型上下文协议)是 Anthropic 于 2024 年底推出的一个开放协议——让 AI 模型以统一方式调用外部工具和访问外部资源。可以理解为 AI 领域的「USB 接口」或「Webhook 标准」。
Operit 是最早原生支持 MCP 的移动 Agent 项目之一,v1.1 起接入,v1.12 起在 MCP 之上加了 uvx/npx 支持,把 npm 生态一并带进了手机。
为什么 MCP 重要
MCP 让 AI Agent 的工具生态标准化:
- 写一个 MCP Server,能被所有支持 MCP 的 Agent 调用(Operit、Claude Desktop、Open WebUI……)
- Agent 不需要为每个外部服务写专用插件,只需要一个 MCP 客户端
- 社区贡献 MCP Server 的成本极低——几行 Python/TypeScript 就能写一个
Operit 在移动端引入 MCP,意味着桌面 MCP Server 写好后,手机上几乎零成本就能用——协议的扩散速度远超预期。
Operit 支持的 MCP 传输方式
| 传输方式 | 说明 | 适用 |
|---|---|---|
| stdio(标准输入输出) | 启动子进程,通过 stdin/stdout 通信 | 本地工具,Python/Node 脚本 |
| SSE(Server-Sent Events) | HTTP + SSE 长连接 | 远程服务器上的 MCP Server |
| Streamable HTTP | 最新版 HTTP 传输 | 外部 API 服务 |
常用 MCP Server 示例配置
示例一:GitHub MCP Server(操作仓库)
Server Name: github
Transport: stdio
Command: npx
Arguments: -y @modelcontextprotocol/server-github
Environment:
GITHUB_PERSONAL_ACCESS_TOKEN: <你的 PAT>
配置好后,Operit 对话里就能说:
「给 AAswordman/Operit 仓库创建一个 Issue,标题是『功能建议:xxx』」
示例二:文件系统 MCP Server(增强文件操作)
Server Name: filesystem
Transport: stdio
Command: npx
Arguments: -y @modelcontextprotocol/server-filesystem
Environment:
FILESYSTEM_ALLOWED_DIRS: /sdcard, /storage/emulated/0
示例三:SQLite MCP Server(查本地数据库)
Server Name: sqlite
Transport: stdio
Command: npx
Arguments: -y @modelcontextprotocol/server-sqlite /path/to/db.sqlite
示例四:远程 SSE MCP Server
Server Name: remote-api
Transport: SSE
URL: http://your-server.com/mcp/sse
Headers:
Authorization: Bearer <token>
在 Operit 里添加 MCP Server
- 打开包管理 → MCP 协议
- 点击「添加 Server」
- 填写 Server Name(自己起的识别名)
- 选择 Transport 类型
- 填 Command/Arguments 或 URL/Headers(参考上面示例)
- 保存 → Operit 自动启动连接
添加成功后可以在 Agent 运行时里看到这个 Server 暴露的 tools/resources/prompts,对话里自然语言触发即可。
安全注意事项
MCP Server 可以执行任意命令、访问任意文件、调用任意 API——权限等于你给它的:
- stdio 方式的 MCP Server 会以 chroot root 权限执行(chroot 的权限)
- 不要添加来源不明的 MCP Server——尤其不要给它 Root 授权后跑未知 Server
- 注意 FILESYSTEM_ALLOWED_DIRS 等环境变量的限制范围
- 长期未使用的 MCP Server 建议禁用或删除
和 Skill 协议的关系
Skill 是 Operit 在 MCP 之上封装的更高层抽象——把多个 MCP 工具组合成可复用的「技能」。可以理解为:
- MCP = 工具级协议(原子能力)
- Skill = 技能级协议(组合能力)
两者互补,MCP Server 可以被多个 Skill 复用。