在 Roo Code 上試玩 MCP server
前言
公司最近吹起一股像是尋找大秘寶的風氣,每個團隊和部門爭相嘗試 MCP 的應用,雖然已經知道近期的團隊 roadmap 會導入 MCP,但目前還沒想到能帶來巨大效益的應用。
聽說現在要跑起一個 MCP server 並不難,只要有 agent 就能夠開發和測試了,不論是用 Google ADK, Claude 或是 Roo Code,趕緊找一個手邊能用的玩玩看再說。
專案設定
本文將以 VS Code 的 Roo Code 套件作為範例,示範如何連接自建的 MCP 伺服器。這個伺服器本身是獨立的,因此你也可以使用其他支援 MCP 的 agent 來連接,例如 Google ADK 或 Claude。
首先,建立專案目錄並使用 uv 初始化環境。
1 | |
接著建立 main.py 來啟動 FastAPI 以及 FastMCP。
1 | |
接著來寫一段 code 建立 MCP tool
1 | |
使用以下指令啟動伺服器:
1 | |
接著在 Roo Code 找到 MCP Servers 的面板,選擇 Edit Project MCP 後會自動打開 .roo/mcp.json 檔案作編輯。
1 | |
這邊是告訴 Roo Code (agent) 我們有一個名叫 Test Server 的 MCP server 使用 streamable-http 來和 agent 溝通,並 host 在 localhost:8000。如果是要串接外部的 MCP server 把 type 和 url 稍作修改即可。
接著到 Roo Code 的 MCP Servers 選單看看有沒有連上 (在 Console 中會看到 API 被呼叫的 log)。
如果這邊能夠正確顯示 tool 的內容,就是成功了。
如果遇到 404 或是 Error log 顯示 RuntimeError: Task group is not initialized. Make sure to use run()
那很可能是 MCP server 沒有正確啟動,或是 URL 路徑設錯。如果是要把 MCP server 掛在 FastAPI 的一個 route 中的話,在 main.py 中的這行很重要
1 | |
接著來用 Roo Code 下個 prompt 測試吧
小結
這邊展示了如何快速建立一個 MCP server,之後會再補上如何利用 Google ADK 進行開發,以及 agent 是如何和 MCP server 溝通的。