5、OpenCode MCP服务器操作手册
OpenCode MCP服务器操作手册
什么是MCP服务器
MCP(Model Context Protocol)是Anthropic推出的开放协议,用于连接AI助手与外部工具。OpenCode支持添加本地和远程MCP服务器,扩展AI的工具能力。
第一步:了解两种MCP服务器
本地MCP服务器
- 在本地运行,通过命令行启动
- 适合访问本地文件系统、数据库等
- 配置示例:
"type": "local"
远程MCP服务器
- 运行在远程服务器,通过HTTP访问
- 适合团队共享、企业API集成
- 配置示例:
"type": "remote"
第二步:配置文件结构
在opencode.jsonc中添加mcp配置项:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"服务器名称": {
"type": "local 或 remote",
"command": ["启动命令"],
"enabled": true
}
}
}
第三步:配置本地MCP服务器
基础配置
{
"mcp": {
"my-local-server": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"]
}
}
}
带环境变量配置
{
"mcp": {
"my-server": {
"type": "local",
"command": ["python", "server.py"],
"environment": {
"API_KEY": "{env:MY_API_KEY}"
}
}
}
}
第四步:配置远程MCP服务器
基础配置
{
"mcp": {
"my-remote-server": {
"type": "remote",
"url": "https://mcp.example.com"
}
}
}
带认证配置
{
"mcp": {
"my-remote-server": {
"type": "remote",
"url": "https://mcp.example.com",
"headers": {
"Authorization": "Bearer {env:API_KEY}"
}
}
}
}
第五步:配置OAuth认证
自动OAuth(推荐)
{
"mcp": {
"oauth-server": {
"type": "remote",
"url": "https://mcp.example.com",
"oauth": {}
}
}
}
手动触发认证
opencode mcp auth <服务器名称>
预注册客户端
{
"mcp": {
"oauth-server": {
"type": "remote",
"url": "https://mcp.example.com",
"oauth": {
"clientId": "{env:CLIENT_ID}",
"clientSecret": "{env:CLIENT_SECRET}",
"scope": "tools:read"
}
}
}
}
禁用OAuth
{
"mcp": {
"api-key-server": {
"type": "remote",
"url": "https://mcp.example.com",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:API_KEY}"
}
}
}
}
第六步:管理MCP服务器
查看服务器列表
opencode mcp list
调试连接问题
opencode mcp debug <服务器名称>
移除认证
opencode mcp logout <服务器名称>
禁用特定服务器
{
"tools": {
"服务器名称": false
}
}
使用通配符批量禁用
{
"tools": {
"mcp_*": false
}
}
按代理启用
{
"mcp": {
"my-server": {
"type": "local",
"command": ["npx", "server"],
"enabled": true
}
},
"tools": {
"my-server": false
},
"agent": {
"my-agent": {
"tools": {
"my-server": true
}
}
}
}
第七步:常用MCP服务器配置
Sentry(错误监控)
{
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}
认证:opencode mcp auth sentry
Context7(文档搜索)
{
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}
Grep by Vercel(代码搜索)
{
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
}
}
第八步:在提示词中使用
在提示词中添加相应指令:
Show me latest errors use sentry
Configure Nginx use context7
How to implement auth use gh_grep
或添加规则到AGENTS.md:
When searching docs, use context7
When searching code examples, use gh_grep
第九步:常见问题排查
问题1:认证失败
# 查看认证状态
opencode mcp auth list
# 调试连接
opencode mcp debug <服务器名称>
问题2:连接超时
{
"mcp": {
"slow-server": {
"type": "remote",
"url": "https://mcp.example.com",
"timeout": 10000
}
}
}
问题3:工具不可用
- 检查服务器是否启用:
opencode mcp list - 确认提示词中使用了正确的服务器名称
- 查看OpenCode日志确认工具是否正确注册
问题4:本地服务器启动失败
- 确认命令路径正确
- 检查环境变量设置
- 验证端口是否被占用
- 确保有执行权限
第十步:配置选项速查表
本地服务器选项
| 选项 | 必需 | 描述 |
|------|------|------|
| type | 是 | 固定为"local" |
| command | 是 | 启动命令数组 |
| environment | 否 | 环境变量 |
| enabled | 否 | 是否启用 |
| timeout | 否 | 超时时间(毫秒) |
远程服务器选项
| 选项 | 必需 | 描述 |
|------|------|------|
| type | 是 | 固定为"remote" |
| url | 是 | 服务器URL |
| headers | 否 | HTTP请求头 |
| oauth | 否 | OAuth配置 |
| enabled | 否 | 是否启用 |
| timeout | 否 | 超时时间(毫秒) |
OAuth配置选项
| 选项 | 描述 |
|------|------|
| clientId | OAuth客户端ID |
| clientSecret | OAuth客户端密钥 |
| scope | 请求范围 |
注意事项
- 上下文限制:MCP工具会占用上下文空间,避免同时启用过多服务器
- 安全第一:使用环境变量存储敏感信息,不要硬编码
- 性能考虑:优先使用本地服务器减少网络延迟
- 团队协作:在AGENTS.md中记录推荐的MCP配置
快速参考命令
# 查看所有MCP服务器
opencode mcp list
# 认证服务器
opencode mcp auth <名称>
# 调试问题
opencode mcp debug <名称>
# 移除认证
opencode mcp logout <名称>