Skip to content

建立 2026-09-15 更新 2026-09-15

MCP

MCP(Model Context Protocol,模型上下文協定)讓 OpenCode 接上外部工具:文件搜尋、Sentry、瀏覽器、公司內部 API。MCP 工具會跟內建工具一起出現在模型面前。

MCP 會占上下文

每個 server 的工具描述都要進 prompt。開太多、或像大型 GitHub MCP 這種工具很多的 server,很容易把 context 吃光。只開這個專案真的會用到的,其餘設 enabled: false

怎麼加

互動式:

opencode mcp add
opencode mcp list

或寫在 opencode.jsonmcp

本地(OpenCode 幫你啟動行程):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
      "enabled": true
    }
  }
}

遠端(連 URL,必要時加 header 或 OAuth):

{
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

提示詞裡點名 server,例如「use context7 查這支 API」。也可以把這句寫進 AGENTS.md,就不必每次提醒。

遠端若回 401,OpenCode 會走 OAuth。手動重登:

opencode mcp auth context7
opencode mcp debug context7

只用 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

可用 toolspermission 關掉某些 MCP(名稱常帶 伺服器名_ 前綴)。做法是全域先關,只在需要的 agent 打開,避免每個對話都載入全部工具。

相關資料