MCP
MCP(Model Context Protocol,模型上下文協定)讓 OpenCode 接上外部工具:文件搜尋、Sentry、瀏覽器、公司內部 API。MCP 工具會跟內建工具一起出現在模型面前。
MCP 會占上下文
每個 server 的工具描述都要進 prompt。開太多、或像大型 GitHub MCP 這種工具很多的 server,很容易把 context 吃光。只開這個專案真的會用到的,其餘設 enabled: false。
怎麼加
互動式:
或寫在 opencode.json 的 mcp。
本地(OpenCode 幫你啟動行程):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
"enabled": true
}
}
}
遠端(連 URL,必要時加 header 或 OAuth):
提示詞裡點名 server,例如「use context7 查這支 API」。也可以把這句寫進 AGENTS.md,就不必每次提醒。
遠端若回 401,OpenCode 會走 OAuth。手動重登:
只用 API key、不要自動 OAuth 時,設 "oauth": false 並在 headers 放 {env:MY_API_KEY}。
常用例子
| Server | 類型 | 用途 |
|---|---|---|
| Context7 | remote | 查套件官方文件 |
| Sentry | remote | 查專案錯誤與 issue |
| Grep by Vercel | remote | 搜 GitHub 上的程式片段 |
Sentry 這類要先 opencode mcp auth sentry。完整欄位見 官方 MCP servers。
權限與 per-agent
可用 tools 或 permission 關掉某些 MCP(名稱常帶 伺服器名_ 前綴)。做法是全域先關,只在需要的 agent 打開,避免每個對話都載入全部工具。