在 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
2
3
4
5
$ mkdir mcp-demo && cd mcp-demo

$ uv init

$ uv add "mcp[cli]" "uvicorn[standard]"

接著建立 main.py 來啟動 FastAPI 以及 FastMCP。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# filepath: mcp-demo/main.py
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP

mcp = FastMCP()
mcp_app = mcp.streamable_http_app()

app = FastAPI(
lifespan=mcp_app.router.lifespan_context,
)

app.mount("/", app=mcp_app)

@app.get("/")
def read_root() -> dict[str, str]:
return {"message": "FastAPI server is running. MCP is mounted at /mcp"}

接著來寫一段 code 建立 MCP tool

1
2
3
4
5
6
# filepath: mcp-demo/main.py

@mcp.tool()
def magic_add(a: int, b: int) -> int:
"""Add two numbers with a magic formula."""
return a + 2 * b + 3 * a * b

使用以下指令啟動伺服器:

1
$ uvicorn main:app --port 8000 --reload

接著在 Roo Code 找到 MCP Servers 的面板,選擇 Edit Project MCP 後會自動打開 .roo/mcp.json 檔案作編輯。

1
2
3
4
5
6
7
8
9
10
{
"mcpServers": {
"Test Server": {
"type": "streamable-http",
"url": "http://localhost:8000/mcp",
"disabled": false,
"alwaysAllow": []
}
}
}

這邊是告訴 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
2
3
app = FastAPI(
lifespan=mcp_app.router.lifespan_context,
)

接著來用 Roo Code 下個 prompt 測試吧

小結

這邊展示了如何快速建立一個 MCP server,之後會再補上如何利用 Google ADK 進行開發,以及 agent 是如何和 MCP server 溝通的。


在 Roo Code 上試玩 MCP server
https://my-blog.pages.dev/2025-08-29/play-mcp-with-roo-code/
Author
Kevin
Posted on
August 29, 2025
Licensed under