iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
AI Engineering

從呼叫 API 到打造 Gateway:LLM 工程化 30 天系列 第 28 篇

Day 28|MCP Server:讓 agent 一連上就知道這個服務能幹嘛

  • 分享至 

  • xImage
  •  

Day 28|MCP Server:讓 agent 一連上就知道這個服務能幹嘛

昨天聊了 Gateway API Key 的額度跟權限設計。今天要聊的是這個系列最後一個功能模組:MCP Server。

MCP Server 是什麼

MCP Server 讓 Claude Desktop、Claude Code 這類支援 MCP 的工具可以連上這個 Router,查詢當下有哪些 model 可用、用量跟花費狀況,甚至能請 agent 代為管理 Credential 跟 Deployment。用 stdio 傳輸,當一個本機 subprocess 跑。提供的工具分兩類:查詢類(列出 model、Deployment、Credential,看用量彙總、查請求明細)跟管理類(新增/調整 Credential 跟 Deployment、觸發健康檢查)。

讓 agent 連上 MCP Server 的步驟

第一步:啟動後端服務

npm run start

第二步:在 Claude Desktop(或 Claude Code)裡新增這個 MCP Server

打開 Claude Desktop 的設定檔(claude_desktop_config.json),在 mcpServers 底下加一筆,把 /path/to/router 換成這個專案實際的路徑:

{
  "mcpServers": {
    "personal-llm-router": {
      "command": "node",
      "args": ["--env-file=.env", "dist/mcp/server.js"],
      "cwd": "/path/to/router"
    }
  }
}

第三步:重新啟動 Claude Desktop(或重新載入 Claude Code 的 MCP 設定)

讓它讀到剛剛新增的這筆設定。

第四步:直接開始問

例如:「這個 Router 現在有哪些 model 可以用?」「這個月花了多少錢?」——agent 會自動呼叫對應的工具,把答案帶回來,不用自己再開網頁查。

MCP 怎麼證明自己有權限

這個選擇是討論後才確定的,不是一開始就這樣想。

一開始確實考慮過另一個方案:讓 MCP Server 帶著 SITE_PASSWORD 真的打一次 /api/login,像瀏覽器登入一樣換一顆 cookie 回來用。但比較過後發現這個做法比較麻煩——MCP Server 要多知道前端的網址,還要處理 cookie 的快取、過期後要重新登入這些狀態管理,多了一層不必要的複雜度。

後來想通關鍵的一點:不管走哪個方案,MCP Server 本來就得讀得到跟後端共用的機密值——要嘛是 SITE_PASSWORD,要嘛是 SITE_SESSION_SECRET,兩者都是同一份 .env 裡的東西,信任成本完全一樣。既然如此,直接用 SITE_SESSION_SECRET 自己簽一顆合法的 session token,比多繞一次「登入換 cookie」的流程單純得多,也不會因為省了這道手續而少了什麼安全保障。

這其實也呼應了整個系列一路強調的原則:個人版不需要為了單一情境(這裡是 MCP)再多做一套獨立的驗證機制,複雜度該花在真正需要管理的地方(哪些 key 能做什麼、額度怎麼設),不是花在重複造一套本質相同的認證輪子。

要不要開放 API Key 管理給 MCP

在用 Claude 開發的過程中,一直讓 agent 代為操作測試,過程中會產生很多 API Key,有時候連自己都搞不清楚這些 key 是拿來做什麼的,數值也遺失掉了——與其讓這種情況繼續發生,不如乾脆禁止 agent 直接碰 API Key 管理這塊。MCP server 的功能定位,本來就是讓 agent 更好理解這個服務的內容、不用每次都走一遍登入流程才能拿到資訊,而不是要讓它連額度、權限這些管理性的東西都能自己動手。

小結

MCP Server 讓這個系統不只是能被程式呼叫,還能被 AI agent 直接理解跟操作——查詢當下有哪些 model 可用、用量花費,甚至代為管理設定,不用另外去讀文件或記 REST API 的網址跟格式。驗證方式用跟後端共用的機密值自己簽 token,讓 agent 不用像瀏覽器一樣走一遍登入流程;額度、權限這類真正涉及金錢跟存取範圍的管理,則刻意留在 Web UI 手動操作,不開放給 MCP。

明天要聊 Code Review——怎麼系統性審查自己跟 AI 一起寫出來的系統。

專案開源與實作參考

如果大家看到這邊對這個專案有興趣,完整程式碼都已經整理並開源在 GitHub 上:

👉 GitHub Repo


上一篇
Day 27|Gateway API Key:額度與權限怎麼設計
下一篇
Day 29|Code Review:怎麼系統性審查自己跟 AI 一起寫出來的系統
系列文
從呼叫 API 到打造 Gateway:LLM 工程化 30 天 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言