概述
MCP(Model Context Protocol)是由 Anthropic 提出的开放协议,旨在标准化 AI 模型与外部工具、数据源之间的交互方式。通过 MCP,Tron 可以连接数据库、浏览器自动化工具、第三方 API 等各类外部服务,大幅拓展其能力边界。
MCP 服务以独立进程的形式运行,Tron 通过标准化协议与之通信。你可以同时配置多个 MCP 服务,Tron 会根据上下文自动选择合适的服务完成任务。
添加 MCP 服务
在 config.json 的 mcpServers 字段中配置 MCP 服务。每个服务需要指定名称、启动命令和参数:
json
// ~/.config/tron/config.json
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "./data.db"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}
提示
修改配置后需要重启 Tron 才能使新的 MCP 服务生效。
常用 MCP 服务
以下是社区中常用的 MCP 服务:
| 服务 | 包名 | 功能说明 |
|---|---|---|
| SQLite 数据库 | @modelcontextprotocol/server-sqlite |
查询和操作 SQLite 数据库 |
| PostgreSQL 数据库 | @modelcontextprotocol/server-postgres |
连接和查询 PostgreSQL 数据库 |
| 文件系统扩展 | @modelcontextprotocol/server-filesystem |
扩展文件系统访问能力 |
| 浏览器自动化 | @modelcontextprotocol/server-puppeteer |
通过 Puppeteer 控制 Chrome 浏览器 |
| GitHub API | @modelcontextprotocol/server-github |
操作 GitHub 仓库、Issues、PR 等 |
| Slack | @modelcontextprotocol/server-slack |
读取和发送 Slack 消息 |
| Notion | @modelcontextprotocol/server-notion |
读写 Notion 页面和数据库 |
stdio 传输
stdio 是最常用的 MCP 传输模式。Tron 以子进程方式启动 MCP 服务器,通过标准输入输出进行通信。适合本地运行的 MCP 服务。
json
{
"mcpServers": {
"my-tool": {
"type": "stdio", // 默认值,可省略
"command": "python",
"args": ["./mcp_server.py"],
"env": {
"API_KEY": "xxx"
}
}
}
}
SSE 传输
SSE(Server-Sent Events)模式允许 Tron 连接到远程 MCP 服务器,适合团队共享或云端部署的 MCP 服务。
json
{
"mcpServers": {
"remote-service": {
"type": "sse",
"url": "https://mcp.example.com/sse",
"headers": {
"Authorization": "Bearer your-token"
}
}
}
}
调试 MCP
如果 MCP 服务无法正常工作,可以使用 --mcp-debug 参数启动 Tron,查看详细的 MCP 通信日志:
tron --mcp-debug
[MCP] 正在启动服务: sqlite
[MCP] sqlite: 已连接,发现 12 个工具
[MCP] sqlite: query_database → {"sql": "SELECT * FROM users LIMIT 10"}
日志会显示每个 MCP 服务的启动状态、可用工具列表以及实际的调用请求和响应,方便排查配置问题。