2026-09-08 9 min read -- 次瀏覽

什麼是 MCP?AI 與工具之間的「通用插座」

用白話看懂 Model Context Protocol:為什麼它正在變成 AI 應用的標準接頭。

AI Agent MCP協定Agent 問小墨這篇的內容
MCP 協議示意
MCP:AI 與工具之間的「標準接頭」。

📌 本篇文章重點

  • MCP(Model Context Protocol)是 AI 應用連結外部工具的開放標準,像「AI 版的 USB-C」。
  • 三個核心原語:Tool(工具)、Resource(資源)、Prompt(提示模板)。
  • 讓同樣的工具不必為每個 AI 重寫一遍——寫一次,處處可用。
  • 這篇會帶你架出一個最小 MCP Server 並在 3 分鐘內被 LLM 呼叫到。

一、為什麼這篇值得看?

過去每個 AI 廠商都自有一套接頭,開發者得為每個平台「各寫一個工具」。MCP 想解決的正是這種碎片化:把工具包成標準協定,任何支援 MCP 的客戶端都能插上就用。

Claude、較新的 Agent 開發框架都開始原生支援 MCP。看懂這三個原語,你就能寫出「到處能插」的 AI 工具。

二、核心概念,3 分鐘搞懂

MCP 分兩邊:Server(提供能力的一方,例如「檔案系統工具」)與Client(呼叫能力的一方,例如 Claude Desktop 或你的 Agent)。中間用 JSON-RPC 通訊。

MCP 角色
Agent / Client  ←─MCP─→  你的 MCP Server ──→ 工具(檔案、DB、API)

三個原語:
- Tool     :可被 LLM 呼叫的函式(如 create_file)
- Resource :可被讀取的資料(如 get 資料)
- Prompt   :可重用的提示模板

💡 直覺

把 MCP 想成「插頭+插座」:Server 是插座,任何 Client 只要長一樣的頭,都能插。你不必再為每家 AI 重寫一遍工具。

三、動手實作:4 步寫出第一個 MCP Server

Step 1

初始化專案

Bash
mkdir my-mcp && cd my-mcp
npm init -y
npm i @modelcontextprotocol/sdk
Step 2

註冊一個 Tool

server.mjs
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: "hello-tools", version: "1.0" });

server.tool(
  "greet",
  "對指定的人打招呼",
  { name: z.string().describe("要打招呼的人名") },
  async ({ name }) => ({ content: [{ type: "text", text: `哈囉,${name}!` }] }),
);

const transport = new StdioServerTransport();
await server.connect(transport);
Step 3

測試三秒鐘

用官方測試用戶端直接呼叫工具:

Bash
node server.mjs &
npx @modelcontextprotocol/inspector node server.mjs
# 打開 Inspector,輸入 greet(name="WH"),即可看到回覆
Step 4

接進支援 MCP 的客戶端

claude_desktop_config.json
{
  "mcpServers": {
    "hello-tools": {
      "command": "node",
      "args": ["/abs/path/to/server.mjs"]
    }
  }
}

四、常見 MCP Server 範例

Server提供能力用途場景
filesystem讀寫本機檔案Agent 整理專案、改設定
githubRepo/Issue/PR 操作開發自動化
sqlite查詢資料庫自然語言查資料
slack發訊息企業協作自動化

五、常見問題(FAQ)

Q1MCP 與 Function Calling 差在哪?

Function Calling 是「某個模型」的呼叫機制;MCP 是「跨模型通用的工具協議」。有了 MCP,換模型不用重寫工具。

Q2Stdio 和 HTTP 傳輸差在哪?

Stdio 走本機子行程,適合桌面工具;HTTP(Streamable HTTP Transport)走網路,適合遠端或伺服器端部署。先學 Stdio 打底即可。

Q3每個 Model 都支援 MCP 嗎?

「懂工具呼叫」是前提,再靠客戶端把 MCP 轉成該模型的工具格式。重點在客戶端(如 Claude Desktop / Agent 框架)支援即可。

總結

MCP 的三原語(Tool / Resource / Prompt)並不難,難的是你先打通「寫一個 Server → 被呼叫」的閉環。這篇的 4 步做完,你就拿到通往整套 AI 工具生態的入場券。

問小墨 AI