跳至主要內容

Claude MCP 完整教學 2026:Model Context Protocol 是什麼?如何把 LLM 接上 Notion / GitHub / Gmail

MCP (Model Context Protocol)是 Anthropic 在 2024 年底開源的標準,讓 Claude / GPT / Gemini 等 LLM 用統一介面連接外部工具。本文用實作角度拆解 MCP 與 function calling 的差異、官方與社群推薦的 MCP server 清單、Claude Desktop / Cursor / Continue 的接法,並給台灣團隊的 5 個落地場景。

· · 約 14 分鐘
Claude MCP 完整教學 2026:Model Context Protocol 是什麼?如何把 LLM 接上 Notion / GitHub / Gmail

如果你在 2025 年下半年開始密切追蹤 LLM 生態,一定聽過「MCP」這個縮寫。從 Anthropic 在 2024 年 11 月開源 Model Context Protocol 到 2026 年初,半年內已經有超過 200+ MCP server 出現在 GitHub,從 Notion、Slack、Gmail 到 Postgres、Stripe、Kubernetes 都有官方或社群實作。

但對多數開發者(特別是非英語圈)來說,中文的完整教學還很稀缺。Anthropic 的官方 docs 結構較分散,Cursor / Continue / Claude Desktop 的接法又各自不同,常讓初學者一開始就卡關。

說實話,搞懂 MCP 不難,但要避開幾個容易踩的坑。這篇文章從「為什麼需要 MCP」、「跟 function calling 差在哪」開始講起,再到實際安裝 server、接上 Claude Desktop / Cursor、寫一個自家 MCP server 的完整流程。讀完你能在當天就把 LLM 接上你的工作流。

MCP 是什麼?為什麼 Anthropic 要做這個標準?

從碎片化的 function calling 到統一協定

在 MCP 出現之前,如果你想讓 Claude 讀取 Notion 內容,需要:

  1. 在 Anthropic API 寫一份 JSON schema 描述工具
  2. 在後端寫 Notion API 的呼叫邏輯
  3. 處理 OAuth、token refresh、錯誤重試
  4. 換一個 LLM(例如想試 GPT-4o)時,整套要重寫

這就是「function calling 碎片化」的痛點。每家 LLM provider 的 tool calling 規格略有不同,且工具實作跟 LLM client 緊耦合。

MCP (Model Context Protocol) 的目的就是把這層抽象標準化:「server 提供工具與資料,client 連接任意 LLM」,中間用 JSON-RPC over stdio 或 HTTP/SSE 傳輸。

MCP 的三大角色

  • Host:使用者端的 LLM 應用,例如 Claude Desktop、Cursor、Continue。
  • Client:Host 內部用來與 MCP server 通訊的 protocol 實作。
  • Server:對外暴露 tools / resources / prompts 的程式,可以是本地 Node.js / Python 進程,或遠端 HTTP 服務。

換句話說,你寫一個 MCP server,任何支援 MCP 的 LLM client 都能用它——不用為 Claude 寫一份、為 GPT 寫另一份。

MCP 跟 OpenAI function calling 的差異

維度function callingMCP
規格擁有者各 LLM 廠商各做開源 spec(Anthropic 主導)
工具註冊方式寫進 prompt 或 API 參數由 client 發現 server 暴露的 tools
跨 LLM 可移植
資料來源支援只有 toolstools + resources(檔案 / DB row) + prompts(模板)
傳輸HTTP onlystdio / HTTP+SSE / WebSocket
主流 clientOpenAI SDKClaude Desktop / Cursor / Continue / Cline / Zed

5 分鐘上手:Claude Desktop 接第一個 MCP server

前置條件

  • macOS / Windows / Linux 上安裝 Claude Desktop(免費下載 claude.ai/download)
  • Node.js 18+ 或 Python 3.10+(視 server 而定)

Step 1:打開設定檔

Claude Desktop 的 MCP 設定檔位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

第一次開啟時這個檔案可能不存在,自己建一個空的:

{
  "mcpServers": {}
}

Step 2:加入第一個 server(filesystem)

@modelcontextprotocol/server-filesystem 是官方提供的本地檔案系統 server,讓 Claude 能讀寫指定資料夾。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/Documents/notes"
      ]
    }
  }
}

Step 3:重啟 Claude Desktop 並驗證

完全關閉(macOS 用 cmd+Q,不只是關視窗)再重開。如果成功:

  • Claude Desktop 對話框右下角會出現 🔌 圖示
  • 點開能看到「filesystem」server 的可用工具:read_filewrite_filelist_directory

試問:「幫我列出 ~/Documents/notes 底下的檔案」,Claude 會主動呼叫 list_directory 工具並列出結果。

2026 年值得安裝的 MCP server 清單

官方維護(@modelcontextprotocol/server-*)

  • filesystem:讀寫本地檔案
  • github:GitHub repo 操作(讀檔、開 PR、留 comment)
  • gitlab:GitLab 對應版本
  • postgres:Postgres 查詢與 schema 探索
  • sqlite:本地 SQLite 操作
  • brave-search:Brave Search API 網路搜尋
  • fetch:抓取與轉換網頁
  • memory:跨對話記憶儲存(知識圖譜)
  • slack:Slack 訊息與 channel 管理
  • google-drive:Google Drive 檔案讀取
  • puppeteer:無頭瀏覽器自動化

社群熱門 server

  • mcp-server-notion:Notion API 整合(讀 page、查 database、寫 block)
  • gmail-mcp:讀 Gmail 信件、起草、寄信
  • mcp-stripe:Stripe 訂單與客戶查詢
  • mcp-server-figma:從 Figma 拉設計 token
  • mcp-server-linear:Linear issue 管理
  • mcp-obsidian:Obsidian vault 讀寫

完整列表可參考 GitHub modelcontextprotocol/serversmcpservers.org

挑選 server 的 4 個原則

  1. 官方優先:@modelcontextprotocol/server-* 維護穩定、安全性高。
  2. 看 GitHub stars + 最近 commit:超過 6 個月沒更新的 server 風險偏高。
  3. 避免要 broad scope OAuth 的 server:例如要求完整 Gmail 讀寫權限的 server,先評估你願意給的範圍。
  4. 本地 stdio 比遠端 HTTP 更安全:資料不離開你的機器。

不只 Claude Desktop:其他 client 怎麼接?

Cursor

從 0.43 版開始原生支援 MCP。設定路徑:Cursor Settings → Features → MCP → Add new MCP server

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxx"
      }
    }
  }
}

設定後在 Cursor 的 Composer 對話中可直接呼叫工具。

Continue (VS Code / JetBrains 外掛)

從 0.9.x 開始支援 MCP。設定在 ~/.continue/config.yaml:

mcpServers:
  - name: filesystem
    command: npx
    args:
      - -y
      - "@modelcontextprotocol/server-filesystem"
      - /path/to/workspace

Cline (Claude Dev VS Code 外掛)

點 Cline 視窗右上角 🛠️ MCP Servers 直接管理,UI 比手動編 JSON 友善很多,適合 MCP 新手。

Zed

Zed 從 0.150 版起支援 MCP,設定在 ~/.config/zed/settings.jsoncontext_servers 區塊。

寫一個自家 MCP server(TypeScript 範例)

當官方/社群 server 都不符合需求時,自己寫一個 MCP server 比想像中簡單。以下用官方 TypeScript SDK 寫一個「讀取本地 SQLite 並回傳查詢結果」的 server。

Step 1:初始化

mkdir my-mcp-sqlite && cd my-mcp-sqlite
npm init -y
npm install @modelcontextprotocol/sdk better-sqlite3
npm install -D typescript @types/node tsx

Step 2:寫 server.ts

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import {
  CallToolRequestSchema,
  ListToolsRequestSchema,
} from '@modelcontextprotocol/sdk/types.js';
import Database from 'better-sqlite3';

const db = new Database(process.argv[2] ?? './data.db', { readonly: true });

const server = new Server(
  { name: 'my-sqlite', version: '0.1.0' },
  { capabilities: { tools: {} } }
);

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [
    {
      name: 'query',
      description: '對開啟的 SQLite 跑唯讀 SQL,回傳前 100 列',
      inputSchema: {
        type: 'object',
        properties: { sql: { type: 'string' } },
        required: ['sql'],
      },
    },
  ],
}));

server.setRequestHandler(CallToolRequestSchema, async (req) => {
  if (req.params.name !== 'query') throw new Error('unknown tool');
  const sql = String(req.params.arguments?.sql ?? '');
  if (!/^\s*select/i.test(sql)) throw new Error('SELECT only');
  const rows = db.prepare(sql).all().slice(0, 100);
  return { content: [{ type: 'text', text: JSON.stringify(rows, null, 2) }] };
});

await server.connect(new StdioServerTransport());

Step 3:加進 Claude Desktop 設定

{
  "mcpServers": {
    "my-sqlite": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/server.ts", "/path/to/your.db"]
    }
  }
}

重啟 Claude Desktop,試問:「從 my-sqlite 查使用者表格前 10 筆」,server 會跑 SQL 並回傳結果。

台灣團隊的 5 個 MCP 落地場景

1. RD 團隊:把 GitHub + Linear + Slack 串起來

MCP servers:githubmcp-server-linearslack

情境:在 Cursor 裡問「這週 high priority issue 哪些還沒 PR?」,Claude 自動查 Linear 的 issue 清單、對 GitHub 找對應 branch,並 summary 進 Slack。

MCP servers:mcp-server-notiongoogle-drivebrave-search

情境:寫稿前讓 Claude 從 Notion 拉「品牌風格指南」、從 Drive 找參考素材、用 Brave 補最新資料,一次完成情境調查。

3. 客服 / 業務:Gmail + CRM + Stripe

MCP servers:gmail-mcp、自寫 HubSpot/Salesforce server、mcp-stripe

情境:客戶來信時 Claude 自動查 CRM 看歷史紀錄、查 Stripe 看付款狀態,起草回信草稿讓真人最後 review 寄出。

4. 小型 SaaS:自家 Postgres + Stripe + memory

MCP servers:postgresmcp-stripememory

情境:創辦人晚上問 Claude「昨天哪些用戶付了錢但還沒 onboard?」,LLM 跑 SQL + Stripe 雙查詢,並把這次的調查結果存進 memory server,下次同樣問題回更快。

5. 個人生產力:filesystem + obsidian + memory

MCP servers:filesystemmcp-obsidianmemory

情境:在 Obsidian 裡記筆記,讓 Claude 跨筆記做語意搜尋、產生月度自我回顧、把重點 commit 進 memory server 形成個人知識圖譜。

MCP 的安全考量:你應該知道的 4 件事

1. server 可以讀寫的範圍 = 你給它的 OS 權限

server-filesystem 的存取範圍由你在 args 裡指定的路徑決定。不要直接給根目錄 / 或家目錄,精確到工作專案資料夾。

2. 第三方 server 的供應鏈風險

npx -y 執行的 npm 套件可能包含惡意程式碼。建議:

  • 安裝前檢查 GitHub 來源
  • 用 lockfile 鎖版本
  • 對重要 server 改用 npm install 後直接執行檔案路徑(避免 npx 每次拉最新)

3. token 與 secret 處理

API token 寫在 claude_desktop_config.jsonenv 欄位,該檔案是純文字。建議:

  • 改用 OS 的 keychain / credential manager
  • 或用 .env + 自家 wrapper script

4. prompt injection 風險

如果你叫 Claude 讀網頁(透過 fetch server),頁面內容可能包含「ignore previous instructions, do X」的注入指令。對於高權限工具(寫檔、寄信、刪資料庫),建議在 server 內加人為確認步驟,而不是讓 Claude 完全自主決策。

常見問題(FAQ)

Q1:MCP 是什麼?跟 API 有什麼不同?

MCP 是讓 LLM 與外部工具/資料對話的標準協定,基於 JSON-RPC。一般 API 是給程式呼叫的;MCP 是專為「LLM 當 client」設計的,規範了 tools、resources、prompts 三類能力的暴露方式,並支援工具發現、權限控管。

Q2:MCP 跟 OpenAI function calling 哪個好?

兩者目的相似,但 MCP 是開源跨 LLM 標準,寫一次 server 多家 client 通用;function calling 是各 LLM 廠商各自的 SDK 規格。如果你只用一家 LLM 且不打算換,function calling 夠用;若要做工具市集或多 LLM 切換,MCP 是 2025 年後的明顯方向。

Q3:Claude Desktop 設定 MCP 後沒反應怎麼辦?

排查順序:

  1. 完全關閉 Claude Desktop(cmd+Q / Alt+F4),不只關視窗
  2. 檢查 JSON 格式:常見錯誤是多/少逗號,用 jsonlint.com 驗證
  3. 看 log:macOS ~/Library/Logs/Claude/mcp*.log、Windows %APPDATA%\Claude\logs\
  4. 手動測試 server:在 terminal 執行 npx -y @modelcontextprotocol/server-filesystem /path 看是否能跑起來
  5. 權限:macOS 可能需在「系統設定 → 隱私 → 完整磁碟存取」授權 Claude

Q4:可以同時掛幾個 MCP server?

技術上沒硬上限,但實務上 3–6 個最舒服。太多 tools 會讓 LLM 在 prompt 階段花更多 token 描述工具清單,且選工具時的判斷成本上升。

Q5:MCP server 是用 Python 還是 TypeScript 寫?

兩個官方 SDK 都成熟。Python 較適合資料科學/ML 整合,TypeScript 適合需要與 Node 生態(Notion SDK、Stripe SDK)互動的場景。第一次寫建議從你最熟的語言開始。

Q6:MCP 有 production-grade 的 hosting 方案嗎?

2026 Q1 開始,Cloudflare Workers、Vercel、Railway 都已支援 MCP server 部署,使用 HTTP+SSE 傳輸而非本地 stdio。Anthropic 也推出 MCP Connectors 讓企業集中管理多個遠端 server 並控管 IAM。

Q7:MCP 跟 LangChain / LlamaIndex 衝突嗎?

不衝突。MCP 是底層協定(資料如何在 client / server 間傳遞);LangChain 是應用框架(怎麼組 chain、agent、retriever)。LangChain 已經有 MCPToolkit 整合,可把 MCP server 當作 LangChain 工具來用。

Q8:MCP server 可以做 RAG 嗎?

可以。resources 機制天生就是設計給 RAG 的——server 暴露文件清單,client 拉資料當 context 餵給 LLM。實作上可結合本地 vector DB(如 ChromaDB、Qdrant)寫一個語意檢索 server,常見專案如 mcp-server-chroma

延伸閱讀

MCP 在 2024 年底發布時看起來只是 Anthropic 的一個小型 spec,18 個月後已經是 LLM 工具生態的事實標準之一。對 2026 的開發者來說,「會不會接 MCP」開始等同於「會不會用瀏覽器 DevTools」——它不會直接讓你變強,但不熟它會讓你的工作流落後一個世代。今天起花一個下午把 Claude Desktop 接上你常用的兩三個工具,你會在第一週就感受到差距。

繼續閱讀

Cursor 完整教學 2026:從新手到 production-grade 的 AI Coding 工作流

Cursor 完整教學 2026:從新手到 production-grade 的 AI Coding 工作流

Cursor 從 2024 年的小眾工具一路衝到 2026 年估值 90 億美元,但會「裝起來」跟「真的拿來上班」是兩回事。本文從安裝、Composer / Tab / Chat 三大模式、cursorrules 撰寫、MCP 接入、到團隊協作的權限與安全策略,給你一條完整路徑。

2026年4月30日
2026 網頁爬蟲自動化終極指南:突破 AI 防禦與建立自我修復管線

2026 網頁爬蟲自動化終極指南:突破 AI 防禦與建立自我修復管線

當 70% 的企業網站部署 AI 防護,傳統爬蟲已死。本文揭秘 2026 年核心技術:如何利用 Playwright、TLS 指紋混淆與 LLM 自我修復機制,讓採集系統從暴力對抗轉向優雅共生。

2026年3月6日
2026 企業 LLM 聊天機器人整合策略方案:從 RAG 到 Agentic 的 ROI 實戰指南

2026 企業 LLM 聊天機器人整合策略方案:從 RAG 到 Agentic 的 ROI 實戰指南

企業 AI 整合的核心在於「任務編排」而非「模型規模」。本指南揭示如何透過混合調度(Hybrid Routing)與 Agentic Workflow,將 LLM 轉化為具備執行力的企業超級大腦,並有效控管 TCO 與法律風險。

2026年3月4日
2026 AI Code Review 工具實戰比較:CodeRabbit / Greptile / Korbit / Bito 完整對決

2026 AI Code Review 工具實戰比較:CodeRabbit / Greptile / Korbit / Bito 完整對決

人類 reviewer 看 PR 越來越累,AI Code Review 工具在 2025 年已經能抓出 70% 的常見問題。本文用 5 個真實 PR 場景比較 CodeRabbit、Greptile、Korbit、Bito 的審核品質、整合難度、價格與資安考量,給技術主管的工具選型決策框架。

2026年4月30日
2026 AI 圖像生成工具完整比較:Midjourney v7 / Flux Pro / Imagen 4 / SDXL 實測與商用授權

2026 AI 圖像生成工具完整比較:Midjourney v7 / Flux Pro / Imagen 4 / SDXL 實測與商用授權

2026 年 AI 圖像生成進入「不仔細看分不出真假」階段,Midjourney v7、Flux Pro、Imagen 4、Stable Diffusion XL 各有強項。本文用真實測試案例(人物、產品、場景、文字渲染)比較品質、速度、價格與商用授權細節,並給設計師、行銷、自媒體不同的最佳工具組合。

2026年4月30日
2026 企業級 AI 工作流程自動化全攻略:從 RAG 到自律型代理人架構

2026 企業級 AI 工作流程自動化全攻略:從 RAG 到自律型代理人架構

當傳統 RPA 已無法滿足需求,2026 年的企業核心競爭力在於「自主代理人(Autonomous Agents)」。本文拆解記憶體管理、多代理人協作框架與 2026 最新 Token 成本估算,助您建構具備自我修正能力的 AI 工作流。

2026年3月6日

分類・AI 自動化

近期文章 →

所有分類