OpenCode 如何配置 MCP:完整指南
在 AI 编程工具的世界里,MCP(Model Context Protocol)正在改变我们与 AI 模型交互的方式。如果你正在使用 OpenCode,了解如何配置 MCP 将帮助你解锁更强大的功能。这篇文章将带你一步步完成 MCP 的配置。
什么是 MCP?
MCP(Model Context Protocol)是一种协议,它让 AI 模型能够与真实世界的工具和系统进行交互。通过 MCP 服务器,AI 不再局限于纯文本响应,而是可以执行实际操作,比如浏览网站、读取代码仓库、自动化工作流程等。
一个典型的 MCP 设置包含四个核心组件:
- Model(模型):你正在使用的 AI 模型,如 Claude、Gemini 或本地模型
- OpenCode MCP Client(客户端):OpenCode 内置的客户端,负责管理连接和权限
- MCP Server(服务器):暴露各种工具和能力的服务器
- Tools / Skills(工具/技能):模型可以通过 MCP 服务器调用的具体操作
配置文件位置
OpenCode 的 MCP 配置存放在 opencode.json 文件中。这个文件可以放在以下位置:
- 用户主目录:
$HOME/.opencode.json - XDG 配置目录:
$XDG_CONFIG_HOME/opencode/.opencode.json - 项目根目录:项目目录下的
opencode.json
需要注意的是,项目级别的配置会覆盖全局配置。这意味着你可以为不同的项目设置不同的 MCP 服务器。
基本配置结构
opencode.json 文件的基本结构如下:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"服务器名称": {
"enabled": true
}
}
}
在 mcp 字段下,每个 MCP 服务器都需要一个唯一的名称。你可以通过设置 enabled 字段为 true 或 false 来启用或禁用特定的服务器。
配置远程 MCP 服务器
远程 MCP 服务器连接到外部服务。配置时需要指定 type 为 "remote" 并提供服务器的 URL。
示例:配置 Sentry MCP
{
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}
添加配置后,需要通过命令行进行认证:
opencode mcp auth sentry
示例:配置 Context7 MCP
对于不需要认证的远程服务器,配置更加简单:
{
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}
配置本地 MCP 服务器
本地 MCP 服务器作为本地进程运行。配置时需要设置 type 为 "local" 并指定执行命令。
本地服务器配置示例
{
"mcp": {
"my-local-mcp-server": {
"type": "local",
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true
}
}
}
本地服务器还支持以下可选配置项:
args:命令参数env:环境变量cwd:工作目录
命令行管理 MCP
OpenCode 提供了便捷的 CLI 命令来管理 MCP 服务器:
| 命令 | 说明 |
|---|---|
opencode mcp add |
交互式添加本地或远程 MCP 服务器 |
opencode mcp auth <服务器名> |
对支持 OAuth 的服务器进行认证 |
opencode mcp list |
列出所有已配置的 MCP 服务器及其连接状态 |
使用注意事项
上下文窗口
MCP 服务器会增加模型的上下文消耗。某些服务器(如 GitHub MCP)可能会消耗大量 token,影响 LLM 的上下文窗口。建议只启用当前任务需要的服务器。
权限系统
OpenCode 内置了权限系统来控制 MCP 工具的访问。在执行某些操作前,通常需要用户确认授权,这为你的工作流程提供了额外的安全保障。
总结
配置 OpenCode 的 MCP 其实并不复杂。核心步骤就是:
- 在
opencode.json中添加 MCP 服务器配置 - 根据服务器类型选择
remote或local - 对需要认证的服务器执行
opencode mcp auth命令 - 根据需要启用或禁用特定服务器
通过合理配置 MCP,你可以让 AI 模型具备更强大的能力,真正成为你开发工作中的得力助手。