為了簡單清楚地體驗 MCP(Model Context Protocol),我選擇了以下環境:
開發工具:VS Code + Roo Code
Roo Code 是一個 VS Code 擴充,支援 MCP,可以直接設定 MCP server,不用額外啟動外部客戶端,最直觀。
模型選擇:OpenRouter 上的 GPT-4o mini
這個模型免費或低成本,回應速度快,很適合當 MCP 的 Host 端 Agent 來測試。
MCP 的設計,是讓模型能夠透過 工具(tools) 與外部服務或資料源互動。
「Weather MCP」就是一個典型的示範:
資料來源:Weather MCP API(這裡用 Open-Meteo,免金鑰、全球可用)。
MCP Server:把 Weather API 包裝成 MCP 工具(如 get-forecast
)。
MCP Client(Host):像 Roo Code 或 Claude Desktop,會讀取 MCP server 提供的工具,然後在對話中呼叫。
天氣 MCP 之所以常被拿來示範,是因為它簡單、直覺,而且能快速驗證 MCP 的工具呼叫機制是否正常。
選擇一個 Github 專案。這個鐵人系列主要就是希望可以多摸索、應用、發掘社群公開好用的MCP。
目前 Github 算是開源程式的領導地位,開發者會將自己的MCP丟在上面。
我使用的範例來自這個專案:
👉 debs-obrien/mcp-weather-server-demo
理由:
MCP 為AI可以操控的工具,AI要可以操控,你的電腦要先可以跑。
目前MCP工具在電腦可以跑的大宗方法為用 python 或是 node.js 跑起來。
此專案根據 Github README 教學用 node.js 跑,需先安裝 node.js / npm 環境
git clone https://github.com/debs-obrien/mcp-weather-server-demo.git
cd mcp-weather-server-demo
npm install
Inspector 是官方提供的測試工具,可以啟動並幫你接上 server。
npx -y @modelcontextprotocol/inspector npx -y tsx main.ts
此步驟將 Weather MCP 掛到 Roo Code,讓Roo code的AI可以使用。 編輯 mcp_settings.json
{
"mcpServers": {
"weather-openmeteo": {
"command": "npx",
"args": ["-y", "tsx", "main.ts"],
"cwd": "D:\\T\\mcp_test\\mcp-weather-server-demo",
"transport": "stdio"
}
}
}
模型會調用 weather-openmeteo
MCP server 的工具,成功回傳台北未來 24 小時的天氣預報 → 測試成功 ✅
這個練習帶你認識 MCP 的核心概念:
從 Roo Code 看:在聊天時,Agent 會自動挑選 get-weather
工具並帶入參數。
從 GitHub 專案看:main.ts
定義了 MCP server 提供的工具,例如 get-weather
。
想了解一個 MCP 可以讓 AI(LLM) 具備甚麼能力,要先看有甚麼 Tools
MCP Server:把外部服務(Open-Meteo API)封裝成 MCP 可呼叫的工具。
MCP Host(Client App):像 Roo Code、Claude Desktop,負責讀取 MCP server 的能力,並在對話中調用。
模型(LLM):透過 Host 來「決定何時、如何」使用這些工具。
只有一個 Tools