Skip to main content

第 7 課:MCP 整合

學習目標

完成本課程後,您將能夠:

  • 理解什麼是 MCP 及其用途
  • 區別 HTTP、SSE 和 STDIO 伺服器類型
  • 新增 MCP 伺服器到您的設定
  • 使用常見 MCP 整合(GitHub、資料庫等)
  • 理解 MCP 安裝範圍
  • 在對話中使用 MCP 工具

先決條件

  • 完成第 1-6 課 - 核心操作和設定
  • 舒適編輯 JSON - MCP 配置使用 JSON
  • API 存取 - 某些 MCP 伺服器需要 API 金鑰

預估時間: 25 分鐘


什麼是 MCP?

MCP(Model Context Protocol)是一種協議,允許 Claude Code 連接到外部工具和資料來源。

為什麼 MCP 存在

擴展能力:

  • 連接到外部 API
  • 存取資料庫
  • 與第三方服務整合
  • 使用特殊工具

標準化:

  • 整合的通用協議
  • 一致的提供者介面
  • 易於新增連線

彈性:

  • 混合和匹配整合
  • 自訂和社群伺服器
  • 專案特定設定

MCP 啟用的功能

無 MCP:

Claude 只能對本地檔案和指令進行操作

有 MCP:

Claude 可以:
- 讀取 GitHub issues 和 PR
- 查詢資料庫
- 搜尋文件
- 存取雲端儲存
- 與 API 互動
- 還有更多...

MCP 伺服器類型

MCP 伺服器以三種不同方式與 Claude Code 通訊。

類型 1:HTTP 伺服器

通訊: HTTP/HTTPS 要求 最適合: 雲端服務、Web API 設定: URL + 標頭

範例:

{
"mcpServers": {
"my-api": {
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}

使用案例:

  • SaaS 整合
  • 雲端服務
  • REST API
  • GraphQL 端點

類型 2:SSE(Server-Sent Events)

通訊: 持久 HTTP 連線與串流 最適合: 即時更新、串流資料 設定: URL + 可選標頭

範例:

{
"mcpServers": {
"streaming-service": {
"transport": "sse",
"url": "https://stream.example.com/mcp"
}
}
}

使用案例:

  • 即時監控
  • 即時資料饋
  • 事件驅動服務
  • 串流分析

類型 3:STDIO(標準輸入/輸出)

通訊: 本機程序通訊 最適合: 本機工具、腳本、工具程式 設定: 指令 + 引數

範例:

{
"mcpServers": {
"local-tool": {
"command": "python",
"args": ["/path/to/server.py"]
}
}
}

使用案例:

  • 本機開發工具
  • 檔案系統工具
  • 資料庫連接器
  • 自訂腳本

新增 MCP 伺服器

您在設定檔中配置 MCP 伺服器。

步驟 1:選擇設定範圍

專案特定(推薦):

.claude/settings.json

使用者範圍:

~/.config/claude-code/settings.json

步驟 2:新增 MCP 配置

編輯您的設定檔以包含 mcpServers 區段:

{
"model": "claude-sonnet-4-5",
"mcpServers": {
"server-name": {
// 伺服器配置在這裡
}
}
}

步驟 3:重啟 Claude Code

修改配置後,重新啟動您的工作階段:

You> /exit

然後再次啟動:

claude

常見 MCP 整合

讓我們探索流行的 MCP 伺服器。

GitHub MCP Server

用途: 存取 GitHub 儲存庫、issues、PR

安裝(STDIO):

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-github"],
"env": {
"GITHUB_TOKEN": "your-github-token-here"
}
}
}
}

取得 GitHub Token:

  1. 前往 github.com → Settings → Developer settings
  2. Personal access tokens → Tokens (classic)
  3. 產生新 token(repo 權限)

用法:

You> 列出 anthropic/claude-code 儲存庫中的開放 issues
You> 顯示 microsoft/vscode 的 PR #123
You: 搜尋我們儲存庫中與驗證相關的函式

資料庫 MCP Server

用途: 直接查詢 SQL 資料庫

範例(PostgreSQL):

{
"mcpServers": {
"postgres": {
"command": "mcp-server-postgres",
"args": ["postgresql://user:pass@localhost/db"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost/db"
}
}
}
}

用法:

You> 列出資料庫中的所有使用者
You: 找出過去 7 天內建立的訂單
You: 顯示產品表的 schema

Filesystem MCP Server

用途: 擴展的檔案系統操作

設定:

{
"mcpServers": {
"filesystem": {
"command": "mcp-server-filesystem",
"args": ["/path/to/allowed/directory"]
}
}
}

用法:

You> 列出專案中所有大於 1MB 的檔案
You: 找出今天修改的所有 Python 檔案
You: 顯示目錄樹狀結

MCP 安裝範圍

與設定類似,MCP 伺服器可以在不同範圍配置。

專案層級 MCP

檔案: .claude/settings.json

使用時:

  • MCP 伺服器特定於此專案
  • 團隊成員共享整合
  • Git 追蹤的設定

範例:

{
"mcpServers": {
"project-db": {
"command": "mcp-server-postgres",
"args": ["postgresql://localhost/project_db"]
}
}
}

使用者層級 MCP

檔案: ~/.config/claude-code/settings.json

使用時:

  • 個人工具您在所有專案中使用
  • API 金鑰特定於您
  • 開發工具程式

範例:

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-github"],
"env": {
"GITHUB_TOKEN": "my-personal-token"
}
}
}
}

在對話中使用 MCP 工具

一旦配置,MCP 工具在您的對話中可用。

探索可用工具

列出 MCP 工具:

You> 有哪些 MCP 工具可用?

檢查特定伺服器:

You> GitHub 伺服器可以提供什麼工具?

使用 MCP 工具

MCP 工具在相關時自動使用:

範例 1:GitHub 整合

You: 顯示這個儲存庫中的最新 issues

Claude: [使用 GitHub MCP 工具]
我在 facebook/react 中找到 5 個開放 issues:
1. #12345 - useState hook 未更新...
2. #12346 - TypeError in component...
...

範例 2:資料庫查詢

You: 本週有多少新使用者註冊?

Claude: [使用資料庫 MCP 工具]
根據資料庫,127 個新使用者在這週註冊。

範例 3:Web 搜尋

You: 目前 Node.js 的版本是多少?

Claude: [使用 web 搜尋 MCP 工具]
Node.js 的目前 LTS 版本是 v20.11.0...

✅ 檢查您的理解

  1. MCP 代表什麼?

    • Model Context Protocol
    • Multi-Cloud Platform
    • Machine Control Protocol
    • Message Communication Protocol
  2. 哪個 MCP 伺服器類型最適合雲端 API?

    • STDIO
    • HTTP
    • SSE
    • TCP
  3. 在哪裡配置專案特定的 MCP 伺服器?

    • ~/.config/claude-code/settings.json
    • .claude/settings.json
    • /etc/claude/mcp.json
    • mcp-config.json
  4. True or False: Claude 可以在未經詢問的情況下使用 MCP 工具。

    • True
    • False - Claude 可以在相關時自動使用它們
  5. 哪個 MCP 伺服器類型通過標準輸入/輸出通訊?

    • HTTP
    • SSE
    • STDIO
    • WebSocket

答案: 1-a, 2-b, 3-b, 4-False, 5-c


總結

在本課程中,您學到了:

  • 什麼是 MCP - 外部整合的協議
  • 三種伺服器類型 - HTTP、SSE、STDIO
  • 新增伺服器 - 在設定檔中配置
  • 常見整合 - GitHub、資料庫、Jira、web 搜尋
  • 安裝範圍 - 專案 vs 使用者層級配置
  • 使用工具 - 自動或明確叫用

下一步

在**第 8 課:進階功能**中,您將學到:

  • 子代理如何運作(Explore、Plan、Bash)
  • 背景任務
  • 設定鉤子進行自動化
  • 工作階段管理

進階閱讀


繼續至第 8 課:進階功能