! 本篇文章將會介紹 MCP servers,讓你的 AI 讀文件、查 issue、搜 code 範例,全部在 terminal 裡發生 :D
TL;DR: https://dev.benben.me/slides/s/ironman-14-mcp-servers
讀完這篇你會學到:
MCP(Model Context Protocol)是一個開放協定,讓 AI application 以標準方式連接外部工具與資料源。講白話:
AI agent 的能力 = 內建 tools + 外掛 tools。MCP 就是那個外掛規格。
裝了一個 MCP server,它提供的工具會自動出現在 AI 的工具箱裡,跟 read、bash 這些內建工具平起平坐。你在 prompt 裡說「用 context7 查一下文件」,AI 就會去呼叫。
全部寫在 opencode.json 的 mcp 區塊。先給懶人法:
opencode mcp add
互動式精靈會帶你選 local 或 remote、填指令或 URL。不過懂原理還是比較踏實:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcp_everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"]
}
}
}
command 是啟動指令(陣列),environment 可帶環境變數,timeout 預設 5000ms。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Bearer {env:MY_API_KEY}"
}
}
}
}
Remote server 需要授權的話,opencode 會自動處理 OAuth 流程(支援 RFC 7591 動態註冊):偵測到 401 → 開瀏覽器給你授權 → token 存好下次直接用。手動觸發或管理:
opencode mcp auth my-server # 手動授權
opencode mcp list # 列出所有 server 與狀態
opencode mcp logout my-server # 拿掉憑證
opencode mcp debug my-server # 連不上時診斷
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
之後在 prompt 加一句 use context7,AI 就會透過它查即時文件。也可免費註冊拿 API key 提高限流。
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
「這個框架的正確寫法到底是什麼?」——讓 AI 直接搜幾千萬個 GitHub repo 找示範。
設定 https://mcp.sentry.dev/mcp 並 opencode mcp auth sentry 授權後,直接問:
Show me the latest unresolved issues in my project. use sentry
MCP 工具這麼多,AI 不一定每次都想得起來用。兩招:
Prompt 裡明講:加一句 use context7 / use the gh_grep tool
寫進 AGENTS.md:
需要查文件時,使用 context7 tools。
不確定某框架用法時,用 gh_grep 搜尋 GitHub 上的範例。
第二招讓「查權威資料源」變成 AI 的常識——本系列寫作時查官方文件,靠的就是這套。
官方文件特別警告:每個 MCP server 的工具清單都會常駐 context。裝太多,context 還沒開工就滿一半,GitHub MCP 這種大型 server 尤其肥。
控制手段:
{
"tools": {
"my-mcp*": false
},
"agent": {
"docs-agent": {
"tools": {"context7*": true}
}
}
}
全域關掉,只給特定 agent 開——工具跟著角色走,context 花在刀口上。MCP 工名的命名規則是 伺服器名_工具名,所以 "my-mcp*" 一次管整台 server。
Q:我要的工具沒有現成的 MCP server 怎麼辦?
A:兩條路——Day 16 的 custom tools 可以自己寫(簡單情境更快),或照 MCP 規格包一個 server(跨工具共用時值得)。
Q:enabled: false 跟 tools 關閉有什麼差?
A:enabled: false 是整台 server 不啟動(process 都不開);tools: false 是啟動但工具不進 AI 的工具箱。暫時停用用前者,精細調配用後者。
Q:怎麼確認 server 連上了?
A:opencode mcp list 看狀態,或在 TUI 問 AI「你現在有哪些工具」。
偷偷說筆者目前也沒裝什麼 MCP ,因為現在模型都越來越聰明,後面的 Skills 可以 Cover 大多的使用情境。
command、remote 用 url
opencode mcp auth 手動管理Day 15:Agent Skills——另一種擴充方式,讓 agent「學會」新技能而不是多一雙手。
有任何疑問但沒有 iT 邦幫忙帳號,或是想匿名提問?
歡迎到 https://dev.benben.me/q/P3C5U6 提問或加油打氣,沒意外的話會在完賽之後一起回答 :D