MCP整合基礎
MCP(Model Context Protocol,模型上下文協議)是Claude Code最強大的擴充套件機制。
透過MCP,Claude Code能連線上百個外部工具和資料來源:GitHub、網路搜尋、資料庫、監控系統等等。
今天詳細介紹MCP的概念、工作原理和實際整合方法。
什麼是MCP
核心概念
Model Context Protocol(MCP)是Anthropic於2024年11月推出的開放標準和開源框架,旨在標準化AI系統(如大型語言模型)與外部工具、系統和資料來源的整合與資料共享方式。
簡單來說,MCP就像是一座橋樑:
- 一端連線著AI助手(如Claude Code)
- 另一端連線著各種外部服務和資料來源
- 透過這座橋樑,AI可以安全、高效地訪問和操作外部資源
MCP的價值
MCP出現前,每個AI工具都要為每個服務寫定製程式碼,導致:
- 大量重複工作
- 質量參差不齊
- 難維護、難擴充套件
MCP用標準化解決這些問題:
传统方式:
AI工具A → 定制集成 → GitHub
AI工具A → 定制集成 → Slack
AI工具B → 定制集成 → GitHub
AI工具B → 定制集成 → Slack
MCP方式:
AI工具A → MCP客户端 → MCP标准 → GitHub MCP服务器
AI工具B → MCP客户端 → MCP标准 → GitHub MCP服务器
AI工具C → MCP客户端 → MCP标准 → Slack MCP服务器
好處:
- 一次開發,處處可用: MCP伺服器能被所有支援MCP的AI工具用
- 更安全: 統一的認證和授權機制
- 生態好: 社羣可以一起開發和維護
- 擴充套件快: 新工具快速接入現有的MCP伺服器網路
行業採用情況
MCP已經獲得了廣泛的行業支援:
- 2025年3月:OpenAI正式採用MCP,整合到ChatGPT桌面應用、Agents SDK和Responses API
- 2025年4月:Google DeepMind CEO Demis Hassabis確認即將在Gemini模型中支援MCP
- 2025年12月:Anthropic將MCP捐贈給Linux基金會下的Agentic AI Foundation(AAIF),由Anthropic、Block、OpenAI共同創立,獲得Google、Microsoft、AWS、Cloudflare和Bloomberg支援
這使得MCP成為2025年AI工具整合的事實標準。
MCP工作原理
架構概覽
MCP採用客戶端-伺服器架構,包含兩個主要層次:
┌─────────────────────────────────────────────────────────┐
│ 应用层(Host) │
│ (如Claude Code、ChatGPT等) │
└───────── ───────────┬────────────────────────────────────┘
│
┌────────────────────▼────────────────────────────────────┐
│ MCP客户端层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │客户端1 │ │客户端2 │ │客户端3 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└─────────┼─────────────┼─────────────┼───────────────────┘
│ │ │
│ MCP协议 │ MCP协议 │ MCP协议
│ (JSON-RPC) │ (JSON-RPC) │ (JSON-RPC)
│ │ │
┌─────────▼─────────────▼─────────────▼───────────────────┐
│ MCP服务器层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │GitHub │ │Sentry │ │Filesystem│ │
│ │服务器 │ │服务器 │ │服务器 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└─────────┼─────────────┼─────────────┼───────────────────┘
│ │ │
┌─────────▼─────────────▼─────────────▼───────────────────┐
│ 外部服务层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │GitHub │ │Sentry │ │本地文件 │ │
│ │API │ │API │ │系统 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
核心元件
1. 資料層(Data Layer)
資料層定義了基於JSON-RPC的協議,包括:
生命週期管理:
- 連線建立和斷開
- 會話管理
- 錯誤處理
核心原語:
- Tools(工具):可被AI呼 叫的函式或操作
- Resources(資源):可被AI讀取的資料或內容
- Prompts(提示):預定義的提示模板
- Notifications(通知):伺服器向客戶端傳送的事件
2. 傳輸層(Transport Layer)
傳輸層定義了資料交換機制:
STDIO傳輸(本地):
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
}
}
}
HTTP/SSE傳輸(遠端):
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"transport": "http"
}
}
}
通訊流程
讓我們看一個完整的互動流程:
1. 连接建立
Claude Code → [初始化请求] → MCP服务器
Claude Code ← [服务器能力] ← MCP服务器
2. 工具发现
Claude Code → [列出工具] → MCP服务器
Claude Code ← [工具列表+描述] ← MCP服务器
3. 工具调用
用户: "查看我的GitHub仓库"
Claude Code → [调用list_repos工具] → GitHub MCP服务器
GitHub MCP服务器 → [查询GitHub API] → GitHub
GitHub → [返回仓库列表] → GitHub MCP服务器
GitHub MCP服务器 → [格式化结果] → Claude Code
Claude Code → [展示结果] → 用户
4. 资源读取
Claude Code → [获取README内容] → GitHub MCP服务器
GitHub MCP服务器 → [读取文件] → GitHub API
GitHub MCP服务器 ← [文件内容] ← GitHub API
Claude Code ← [返回内容] ← GitHub MCP服务器
為什麼MCP對Claude Code很重要
突破能力邊界
Claude Code本身已經很強大,但受限於:
- 只能訪問本地檔案系統
- 無法直接查詢外部API
- 不能訪問需要認證的服務
- 無法獲取實時資料
MCP打破了這些限制:
没有MCP的Claude Code:
用户: "帮我查看Sentry中最近的错误"
Claude: 抱歉,我无法直接访问Sentry。请您手动查看。
有MCP的Claude Code:
用户: "帮我查看Sentry中最近的错误"
Claude: [通过Sentry MCP服务器查询]
这是最近24小时的错误列表:
1. TypeError in payment.js (23次)
2. Network timeout in api.js (15次)
3. Null reference in user-profile.js (8次)
需要我帮您分析这些错误吗?
工作流整合
MCP使Claude Code能夠真正融入你的開發工作流:
從問題到程式碼,一氣呵成:
1. 从Linear/Jira获取任务详情
↓
2. 从GitHub拉取相关代码
↓
3. 分析Sentry中的错误日志
↓
4. 修改代码解决问题
↓
5. 运行测试验证
↓
6. 提交代码并更新任务状态
所有這些步驟都可以在Claude Code中完成,無需切換工具。
知識增強
透過MCP,Claude Code可以訪問:
- 企業內部知識庫
- 專案文件和Wiki
- 監控和日誌系統
- 資料庫和資料倉儲
這讓AI助手具備了企業特定的上下文知識。
內建MCP伺服器介紹
Claude Code團隊和社羣提供了豐富的MCP伺服器,涵蓋各種常見需求。
開發工具類
GitHub MCP伺服器
功能:
- 列出倉庫和分支
- 讀取檔案內容
- 搜尋程式碼
- 檢視Issues和Pull Requests
- 建立Issues和評論
使用場景:
用户: "查看我的react-app仓库中所有开放的issues"
Claude: [通过GitHub MCP查询]
你的react-app仓库有5个开放的issues:
#23 - 修复移动端布局问题
#21 - 添加暗色模式支持
#19 - 优化首页加载速度
#17 - 实现用户头像上传
#15 - 修复表单验证bug
Git MCP伺服器
功能:
- 讀取Git歷史
- 檢視提交資訊
- 比較分支差異
- 操作Git倉庫
使用場景:
用户: "查看最近5次提交修改了哪些文件"
Claude: [通过Git MCP查询]
最近5次提交的文件变更:
commit abc1234 - "优化性能"
- src/utils/cache.js
- src/components/ProductList.js
commit def5678 - "修复bug"
- src/api/auth.js