第 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:
- 前往 github.com → Settings → Developer settings
- Personal access tokens → Tokens (classic)
- 產生新 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...
✅ 檢查您的理解
-
MCP 代表什麼?
- Model Context Protocol
- Multi-Cloud Platform
- Machine Control Protocol
- Message Communication Protocol
-
哪個 MCP 伺服器類型最適合雲端 API?
- STDIO
- HTTP
- SSE
- TCP
-
在哪裡配置專案特定的 MCP 伺服器?
-
~/.config/claude-code/settings.json -
.claude/settings.json -
/etc/claude/mcp.json -
mcp-config.json
-
-
True or False: Claude 可以在未經詢問的情況下使用 MCP 工具。
- True
- False - Claude 可以在相關時自動使用它們
-
哪個 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 課:進階功能 →