Claude MCP Model Context Protocol 開發教學:打造 AI 工具整合生態系(2026 完整指南)
如果你最近有在關注 AI 開發圈的動態,應該會注意到一個越來越常被提到的名詞——MCP,全稱 Model Context Protocol。這是 Anthropic 在 2024 年底發布的開放協定,目標很明確:讓 AI 模型可以用標準化的方式連接外部工具跟資料來源。說白了,就是要解決「每家工具都要自己寫一套串接邏輯」這個讓開發者頭痛的問題。
我自己在實際用了幾個月之後,覺得 MCP 真的是目前 AI Agent 開發中最值得投資學習的技術之一。今天這篇就來好好聊聊怎麼從零開始上手 MCP 開發。
MCP 到底是什麼?為什麼你該關注它
Model Context Protocol 的核心概念其實不複雜。你可以把它想成 AI 世界的「USB 接口」——不管你接的是滑鼠、鍵盤還是隨身碟,只要遵循 USB 規範,就能即插即用。MCP 做的事情類似,它定義了一套標準的通訊協定,讓 LLM 可以透過統一的介面去呼叫各種外部工具。
在 MCP 出現之前,如果你想讓 AI 能查資料庫、讀 GitHub issue、操作 Slack,你得分別寫三套完全不同的整合邏輯。現在有了 MCP,每個工具只要實作一個 MCP Server,任何支援 MCP 的 AI 客戶端都能直接使用。這對於正在研究Microsoft Agent Framework 多 Agent 架構的開發者來說,意味著工具整合的成本大幅降低。
MCP 架構解析:Client、Server 與 Transport
MCP 的架構分成三個主要角色:
- MCP Host:就是你的 AI 應用,像 Claude Desktop、VS Code 裡的 Copilot,或你自己寫的 AI Agent
- MCP Client:負責跟 Server 建立連線、管理通訊的元件,通常內建在 Host 裡面
- MCP Server:提供工具能力的服務端,每個 Server 可以暴露多個 tools、resources 跟 prompts
Transport 層目前支援兩種模式:stdio(本地程序間通訊)跟 SSE(Server-Sent Events,走 HTTP)。開發測試的時候用 stdio 比較方便,部署到生產環境通常會改用 SSE。
三大核心能力:Tools、Resources、Prompts
MCP Server 可以提供三種類型的能力:
- Tools:可執行的動作,像是「查詢資料庫」、「發送訊息」、「建立檔案」
- Resources:可讀取的資料來源,類似 REST API 的 GET endpoint
- Prompts:預定義的提示模板,讓 AI 知道在什麼情境下該怎麼使用這些工具
這三者的搭配讓 MCP Server 不只是被動的工具箱,更能主動引導 AI 正確使用自己提供的能力。這跟LLM Function Calling 的概念很像,但 MCP 把它標準化了。
實作你的第一個 MCP Server
來動手吧!我們用 TypeScript 建一個簡單的天氣查詢 MCP Server。首先初始化專案:
mkdir my-weather-mcp && cd my-weather-mcp
npm init -y
npm install @modelcontextprotocol/sdk zod建立 src/index.ts:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "weather-server",
version: "1.0.0",
});
server.tool(
"get-weather",
"取得指定城市的天氣資訊",
{ city: z.string().describe("城市名稱,例如 Taipei") },
async ({ city }) => {
// 實際開發請串接真實天氣 API
const mockData = {
city,
temperature: "26°C",
condition: "多雲時晴",
humidity: "72%",
};
return {
content: [
{ type: "text", text: JSON.stringify(mockData, null, 2) },
],
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);這段程式碼做了幾件事:建立一個 MCP Server 實例、註冊一個叫 get-weather 的 tool、用 Zod 定義輸入參數的 schema,最後透過 stdio 啟動。
連接到 Claude Desktop 測試
編譯完成後,編輯 Claude Desktop 的設定檔(macOS 在 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/path/to/my-weather-mcp/dist/index.js"]
}
}
}重啟 Claude Desktop,你應該就能在對話中看到天氣工具的圖示了。試著問「台北現在天氣如何?」Claude 就會自動呼叫你的 MCP Server。
進階開發模式與最佳實踐
基本的 Server 搞定之後,來聊聊幾個進階技巧。
錯誤處理與安全性
生產環境的 MCP Server 一定要做好錯誤處理。MCP SDK 提供了 McpError 類別,建議所有可預期的錯誤都用它來包裝:
import { McpError, ErrorCode } from "@modelcontextprotocol/sdk/types.js";
server.tool("query-db", "查詢資料庫", { sql: z.string() }, async ({ sql }) => {
// 輸入驗證很重要!
if (sql.toLowerCase().includes("drop") || sql.toLowerCase().includes("delete")) {
throw new McpError(ErrorCode.InvalidParams, "不允許執行破壞性 SQL 語句");
}
// ... 執行查詢
});安全性這塊跟LLM Guardrails 安全護欄的理念一致——永遠不要相信輸入,永遠要做驗證。
Resource 與動態資料
除了 Tools,善用 Resources 可以讓你的 Server 更有彈性。Resources 適合用在「讀取」場景,而且支援 URI template,讓 AI 可以動態組合查詢路徑:
server.resource(
"user-profile",
"users://{userId}/profile",
async (uri) => {
const userId = uri.pathname.split("/")[1];
const profile = await fetchUserProfile(userId);
return {
contents: [{
uri: uri.href,
mimeType: "application/json",
text: JSON.stringify(profile),
}],
};
}
);MCP 生態系與實用 Server 推薦
截至 2026 年初,MCP 生態系已經相當豐富了。官方跟社群維護的 Server 涵蓋了常見的開發場景:
- GitHub MCP Server:操作 PR、Issue、Code Review
- PostgreSQL / Supabase Server:直接查詢資料庫
- Slack / Discord Server:讀取跟發送訊息
- File System Server:安全地讀寫本地檔案
- Brave Search Server:讓 AI 能搜尋網頁
如果你在做Agentic RAG 多 Agent 架構的專案,MCP 幾乎是必備的基礎建設。每個 Agent 可以透過不同的 MCP Server 取得它需要的能力,整個系統的可維護性會好非常多。
除錯與開發技巧
最後分享幾個我踩過坑之後學到的經驗:
- 用 MCP Inspector 測試:Anthropic 提供了一個 web-based 的 Inspector 工具,可以直接測試你的 Server 回應,不需要每次都透過 Claude Desktop
- 日誌很重要:stdio 模式下不能用
console.log(會干擾通訊),改用console.error或寫入檔案 - 善用 TypeScript:MCP SDK 的型別定義非常完整,用 TypeScript 開發可以避免很多低級錯誤
- 版本管理:每次更新 Server 的能力描述,記得同步更新 version 號,讓 Client 知道有變動
總結:MCP 是 AI 工具整合的未來
回顧整篇,MCP 的核心價值就是「標準化」。它不是要取代現有的 API 或 Function Calling 機制,而是在上面加一層統一的協定,讓不同的 AI 平台跟工具可以用同一套語言溝通。
如果你正在做 AI Agent 相關的開發,我強烈建議花時間把 MCP 搞熟。特別是 2026 年越來越多企業開始導入 AI Agent,能夠快速建構 MCP Server 的開發者,在市場上絕對會很搶手。
先從官方的 quickstart 跑一遍,再試著把你手邊常用的 API 包成 MCP Server,你會發現整個 AI 應用的開發體驗完全不一樣了。
繼續閱讀
LLM Function Calling 完整教學:讓 AI Agent 學會使用工具的核心技術
相關文章
LLM Function Calling 完整教學:讓 AI Agent 學會使用工具的核心技術
深入淺出 LLM Function Calling 教學,含 OpenAI、Claude API 實作範例。學會 Tool Use 核心流程,打造能使用工具的 AI Agent!
Microsoft Agent Framework 完整教學:用 AutoGen 與 Semantic Kernel 打造多 Agent AI 系統
Microsoft 將 AutoGen 與 Semantic Kernel 整合為全新的 Agent Framework,同時支援 LLM 驅動與確定性工作流編排。本文完整介紹其核心架構、Graph-based Workflow、多 Agent 協作模式與企業級整合能力,含 Python 實作範例。
你可能也喜歡
探索其他領域的精選好文