跳至主要内容

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

搜尋與資訊類

Brave Search MCP伺服器

功能

  • 網路搜尋
  • 本地商戶搜尋
  • 圖片搜尋
  • 影片搜尋
  • 新聞搜尋
  • AI摘要

配置示例

{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
}
}

使用場景

用户: "搜索React 19的新特性"
Claude: [通过Brave Search查询最新信息]
React 19的主要新特性包括:

1. Actions - 简化表单处理
2. useOptimistic - 优化用户体验
3. use API - 简化异步操作
4. Server Components改进

来源:react.dev官方博客

檔案系統類

Filesystem MCP伺服器

功能

  • 安全的檔案讀寫
  • 可配置的訪問控制
  • 目錄瀏覽
  • 檔案搜尋

安全配置

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/projects",
"/Users/username/documents"
]
}
}
}

只有配置的目錄可被訪問,確保安全性。

監控與錯誤追蹤類

Sentry MCP伺服器

功能

  • 獲取專案資訊
  • 分析錯誤
  • 檢視Issue詳情
  • 觸發Seer AI進行根因分析
  • 支援16種不同的工具呼叫

使用場景

用户: "分析Sentry中最严重的3个错误"
Claude: [通过Sentry MCP查询和分析]
最严重的3个错误:

1. PaymentError (影响1,234用户)
- 原因:第三方支付API超时
- 建议:添加重试机制和超时处理

2. DatabaseConnectionError (影响856用户)
- 原因:连接池耗尽
- 建议:增加连接池大小

3. NullReferenceError (影响423用户)
- 原因:用户数据未正确初始化
- 建议:添加空值检查

資料庫類

PostgreSQL MCP伺服器

功能

  • 執行查詢
  • 檢視錶結構
  • 分析資料
  • 生成報表

配置示例

{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://user:password@localhost:5432/mydb"
}
}
}
}

如何連線MCP伺服器

方法一:CLI嚮導(推薦)

Claude Code提供了友好的CLI嚮導來新增MCP伺服器:

# 基本添加命令
claude mcp add github --scope user

# 带环境变量的添加
claude mcp add brave-search \
-e BRAVE_API_KEY=your-api-key \
--scope user

# 添加远程服务器
claude mcp add sentry \
--transport http \
--url https://mcp.sentry.dev/mcp \
--scope project

互動流程

$ claude mcp add github --scope user

? Select server type:
❯ Official Server
Community Server
Custom Server

? Enter configuration:
Command: npx
Args: -y @modelcontextprotocol/server-github

? Environment variables (optional):
GITHUB_TOKEN: ghp_xxxxxxxxxxxxxxxxxxxx

✓ GitHub MCP server added successfully!
✓ Configuration saved to user scope

Restart Claude Code to apply changes.

方法二:直接編輯配置檔案

對於複雜配置,可以直接編輯配置檔案:

配置檔案位置

# macOS
~/Library/Application Support/Claude/claude_desktop_config.json

# Linux
~/.config/Claude/claude_desktop_config.json

# Windows
%APPDATA%/Claude/claude_desktop_config.json

完整配置示例

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_your_github_token"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server"],
"env": {
"BRAVE_API_KEY": "your_brave_api_key"
}
},
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"transport": "http"
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/projects",
"/Users/username/documents"
]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://user:pass@localhost:5432/db"
}
}
}
}

配置作用域

MCP伺服器可以在三個不同的作用域配置:

Local(本地)作用域

  • 位置:專案根目錄的 .claude/mcp.json
  • 用途:專案特定的配置、實驗性配置、敏感憑證
  • 特點:不會被Git追蹤,僅當前專案可用
claude mcp add database --scope local

Project(專案)作用域

  • 位置:專案根目錄的 mcp.json
  • 用途:團隊共享的伺服器、專案必需的工具
  • 特點:可以提交到Git,團隊成員共享
claude mcp add github --scope project

User(使用者)作用域

  • 位置:使用者配置目錄
  • 用途:個人常用工具、跨專案的開發工具
  • 特點:所有專案可用
claude mcp add brave-search --scope user

優先順序:Local > Project > User

驗證配置

配置完成後,驗證MCP伺服器:

# 列出所有已配置的MCP服务器
claude mcp list

# 输出示例:
# MCP Servers (5):
# ✓ github (user)
# ✓ brave-search (user)
# ✓ sentry (project)
# ✓ filesystem (local)
# ✓ postgres (local)

# 测试特定服务器
claude mcp test github

在Claude Code中測試:

claude

# 输入测试命令
> 列出我配置的所有MCP服务器

Claude会显示已连接的服务器列表和可用功能

MCP安全認證和OAuth

為什麼需要認證

許多MCP伺服器需要訪問受保護的資源:

  • GitHub需要Personal Access Token
  • Sentry需要使用者授權
  • 資料庫需要連線憑證

MCP支援多種認證方式,其中OAuth 2.1是最安全和標準化的方式。

OAuth 2.1規範

2025年3月,MCP規範引入了OAuth 2.1支援,包括:

關鍵安全特性

  • 強制PKCE:保護所有客戶端免受攻擊
  • 後設資料發現:自動發現OAuth端點
  • 動態客戶端註冊(DCR):自動註冊新客戶端

OAuth認證流程

1. 用户添加需要OAuth的MCP服务器

2. Claude Code检测到需要OAuth

3. 打开浏览器进行授权
┌──────────────────────────────┐
│ Login to Sentry │
│ ┌────────────────────────┐ │
│ │ Email: user@example.com│ │
│ │ Password: ************ │ │
│ └────────────────────────┘ │
│ │
│ [Continue] │
└──────────────────────────────┘

4. 用户同意授权
┌──────────────────────────────┐
│ Claude Code requests access │
│ │
│ This app wants to: │
│ ✓ Read your projects │
│ ✓ View error information │
│ ✓ Trigger Seer AI analysis │
│ │
│ [Deny] [Allow] │
└──────────────────────────────┘

5. 获取访问令牌

6. 令牌安全存储

7. 自动刷新令牌

Sentry OAuth配置例項

新增Sentry MCP伺服器

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

首次使用時會觸發OAuth流程:

$ claude

> 查看Sentry中的错误

🔐 Authentication Required

Sentry MCP server requires OAuth authentication.

Opening browser for authorization...

✓ Authorization successful!
✓ Access token saved securely

Now fetching Sentry errors...

配置檔案(自動生成)

{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"transport": "http",
"oauth": {
"authorizationUrl": "https://sentry.io/oauth/authorize",
"tokenUrl": "https://sentry.io/oauth/token",
"clientId": "auto-registered-client-id",
"scopes": ["project:read", "event:read", "event:write"]
}
}
}
}

API金鑰認證

對於不支援OAuth的伺服器,使用API金鑰:

GitHub Personal Access Token

# 1. 在GitHub创建Personal Access Token
# Settings → Developer settings → Personal access tokens → Generate new token

# 2. 添加到环境变量
claude mcp add github \
-e GITHUB_TOKEN=ghp_your_token_here \
--scope user

Brave Search API Key

# 1. 在Brave获取API Key
# https://brave.com/search/api/

# 2. 配置到MCP
claude mcp add brave-search \
-e BRAVE_API_KEY=your_api_key \
--scope user

安全最佳實踐

  1. 使用環境變數而非硬編碼
// ❌ 不好
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_hardcoded_token_here"
}
}
}
}

// ✅ 好
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}

然後在shell配置中設定:

# ~/.bashrc 或 ~/.zshrc
export GITHUB_TOKEN="ghp_your_token_here"
  1. 使用最小許可權原則
  • GitHub Token只授予必需的許可權
  • 資料庫賬號使用只讀許可權
  • API金鑰限制訪問範圍
  1. 定期輪換憑證
  • 定期更新API金鑰
  • 使用短期訪問令牌
  • 監控異常訪問
  1. 不要提交敏感資訊到Git
# .gitignore
.claude/mcp.json
.env
*.key
*.token

實際整合案例

讓我們透過幾個真實案例來看MCP如何提升開發效率。

案例1:使用Sentry MCP除錯生產問題

場景:生產環境出現高頻錯誤,需要快速定位和修復。

步驟1:配置Sentry MCP

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

步驟2:啟動Claude Code並查詢錯誤

用户: 查看production项目中最近24小时错误率最高的3个问题

Claude: [通过Sentry MCP查询]

查询到production项目的高频错误:

1. TypeError: Cannot read property 'user' of undefined
- 文件: src/middleware/auth.js:45
- 发生次数: 1,234次
- 影响用户: 456人
- 首次出现: 18小时前

2. ReferenceError: calculateDiscount is not defined
- 文件: src/services/pricing.js:89
- 发生次数: 678次
- 影响用户: 234人
- 首次出现: 12小时前

3. NetworkError: Request timeout
- 文件: src/api/payment.js:123
- 发生次数: 432次
- 影响用户: 156人
- 首次出现: 6小时前

步驟3:深入分析第一個錯誤

用户: 分析第一个错误的根因

Claude: [调用Sentry Seer AI进行根因分析]

根因分析结果:

问题原因:
auth.js中间件在某些情况下没有正确处理session对象为null的情况。
当用户的session过期但cookie仍然存在时,会触发此错误。

错误堆栈:
1. auth.js:45 - req.session.user访问
2. session.js:23 - session已过期返回null
3. cookie-parser:34 - 解析到过期的session cookie

建议修复:
添加空值检查和session有效性验证

步驟4:檢視相關程式碼並修復

用户: 读取src/middleware/auth.js的内容并修复这个问题

Claude: [读取文件内容并生成修复]

我已经读取了auth.js的代码,问题在第45行:

当前代码:
```javascript
const userId = req.session.user.id;

修复后:

// 檢查session和user物件是否存在
if (!req.session || !req.session.user) {
return res.status(401).json({
error: 'Session expired. Please login again.'
});
}

const userId = req.session.user.id;

是否应用这个修复?


**步驟5:應用修復並驗證**

用户: 是的,请应用修复

Claude: ✓ 已应用修复到src/middleware/auth.js ✓ 添加了session有效性检查 ✓ 添加了友好的错误响应

建议:

  1. 运行单元测试验证修复
  2. 在staging环境测试
  3. 部署后监控Sentry确认错误消失

### 案例2:使用Linear MCP管理開發任務

**場景**:從Linear任務直接生成實現程式碼。

**配置Linear MCP**:
```json
{
"mcpServers": {
"linear": {
"url": "https://mcp.linear.app",
"transport": "http"
}
}
}

工作流演示

用户: 查看分配给我的高优先级任务

Claude: [通过Linear MCP查询]

你有3个高优先级任务:

1. [PROJ-123] 实现用户头像上传功能
优先级: High
状态: In Progress
描述: 允许用户上传和更新个人头像,支持裁剪和压缩

2. [PROJ-124] 优化首页加载速度
优先级: High
状态: Todo
描述: 首页加载时间超过3秒,需要优化到1秒内

3. [PROJ-125] 修复移动端表单验证
优先级: High
状态: Todo
描述: 移动端表单验证不生效,需要修复

────────────────────────────────────────

用户: 开始实现PROJ-123

Claude: [获取任务详情]

任务PROJ-123详情:

标题: 实现用户头像上传功能

详细需求:
- 支持JPG、PNG格式
- 文件大小限制5MB
- 前端裁剪为正方形
- 自动压缩为200x200
- 上传到S3存储
- 更新用户profile

技术栈:
- React前端
- Node.js后端
- AWS S3存储

我建议按以下步骤实现:
1. 创建前端上传组件
2. 实现图片裁剪和压缩
3. 创建后端API端点
4. 实现S3上传逻辑
5. 更新数据库

开始实现第一步吗?

────────────────────────────────────────

用户: 是的,开始实现

Claude: [创建Avatar上传组件]

✓ 创建 src/components/AvatarUpload.jsx
✓ 添加图片选择功能
✓ 集成react-image-crop裁剪库
✓ 实现预览功能

代码已创建,包含:
- 文件选择和验证
- 图片裁剪界面
- 实时预览
- 上传按钮

下一步创建后端API?

────────────────────────────────────────

[继续实现...]

────────────────────────────────────────

用户: 实现完成,更新Linear任务状态

Claude: [通过Linear MCP更新任务]

✓ PROJ-123状态已更新为 "Done"
✓ 添加了实现说明
✓ 标记为已完成

任务完成摘要:
- 创建了5个新文件
- 修改了3个现有文件
- 添加了单元测试
- 更新了API文档

案例3:結合多個MCP伺服器的綜合工作流

場景:從Figma設計到完整實現的全流程。

用户: 根据Figma设计实现新的产品展示页面

Claude: [检测到需要多个MCP服务器]

这个任务需要:
✓ Figma MCP - 获取设计
✓ GitHub MCP - 访问代码库
✓ Brave Search MCP - 查找最佳实践
✓ Filesystem MCP - 创建文件

开始执行...

步骤1: 从Figma获取设计
[通过Figma MCP读取设计规范]
✓ 获取到布局规范
✓ 提取颜色方案
✓ 导出图标资源

步骤2: 查找React最佳实践
[通过Brave Search查询]
✓ 找到产品展示页面的最佳实践
✓ 了解最新的性能优化技巧

步骤3: 创建组件文件
[通过Filesystem MCP创建]
✓ src/pages/ProductShowcase.jsx
✓ src/components/ProductCard.jsx
✓ src/styles/showcase.css

步骤4: 实现响应式布局
✓ 桌面端布局 (1200px+)
✓ 平板端布局 (768px-1199px)
✓ 移动端布局 (<768px)

步骤5: 优化性能
✓ 图片懒加载
✓ 代码分割
✓ CSS优化

步骤6: 提交代码
[通过GitHub MCP]
✓ 创建feature分支
✓ 提交代码
✓ 创建Pull Request

Pull Request已创建: #234
标题: "实现产品展示页面"
链接: https://github.com/yourorg/repo/pull/234

所有完成!需要我做什么其他的吗?

MCP的實際應用場景

1. 全棧開發

適用工具組合

  • GitHub/Git MCP - 程式碼管理
  • PostgreSQL/MongoDB MCP - 資料庫操作
  • Sentry MCP - 錯誤監控
  • Brave Search MCP - 技術查詢

典型工作流

需求 → Linear任务

设计 → Figma MCP获取

开发 → Claude Code + 多个MCP

测试 → 自动化测试

部署 → GitHub MCP提交

监控 → Sentry MCP追踪

2. 資料分析

適用工具組合

  • PostgreSQL MCP - 資料查詢
  • Brave Search MCP - 外部資料
  • Filesystem MCP - 本地資料檔案

應用示例

用户: 分析最近30天的用户增长趋势

Claude: [通过PostgreSQL MCP查询]

执行查询:
SELECT DATE(created_at) as date,
COUNT(*) as new_users
FROM users
WHERE created_at >= NOW() - INTERVAL '30 days'
GROUP BY DATE(created_at)
ORDER BY date;

结果分析:
- 总新增用户: 1,234
- 日均增长: 41.1人
- 增长趋势: 上升13%
- 峰值日期: 2025-12-15 (89人)

需要我生成可视化图表吗?

3. DevOps自動化

適用工具組合

  • Sentry MCP - 監控告警
  • GitHub MCP - 自動修復
  • Slack MCP - 通知團隊

自動化流程

Sentry检测到错误

Claude Code通过Sentry MCP获取详情

分析根因

通过GitHub MCP创建修复PR

通过Slack MCP通知团队

4. 知識管理

適用工具組合

  • Notion MCP - 文件管理
  • GitHub MCP - 程式碼文件
  • Brave Search MCP - 外部知識

應用示例

用户: 为新员工创建React开发入门文档

Claude: 我会整合多个来源创建全面的文档:

1. [Brave Search] 最新React最佳实践
2. [GitHub MCP] 我们项目的代码规范
3. [Notion MCP] 现有团队文档

正在生成文档...

✓ 创建了完整的入门指南
✓ 包含代码示例
✓ 添加了项目特定的注意事项
✓ 已保存到Notion

文档链接: notion.so/react-onboarding

常見問題排查

問題1:MCP伺服器無法連線

症狀

Error: Failed to connect to MCP server "github"
Connection timeout after 30s

排查步驟

  1. 檢查配置
# 查看配置
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json

# 验证JSON格式
python3 -m json.tool claude_desktop_config.json
  1. 檢查網路
# 对于HTTP传输,测试URL可访问性
curl https://mcp.sentry.dev/mcp

# 检查代理设置
echo $HTTP_PROXY
echo $HTTPS_PROXY
  1. 檢查依賴
# 确保npx可用
npx --version

# 手动运行MCP服务器测试
npx -y @modelcontextprotocol/server-github
  1. 檢視詳細日誌
# 启用调试模式
claude --verbose

# 或设置环境变量
export DEBUG=mcp:*
claude

問題2:認證失敗

症狀

Error: Authentication failed for GitHub MCP server
401 Unauthorized

解決方案

  1. 驗證Token有效性
# 测试GitHub token
curl -H "Authorization: token YOUR_TOKEN" \
https://api.github.com/user

# 测试Brave API key
curl -H "X-Subscription-Token: YOUR_KEY" \
https://api.search.brave.com/res/v1/web/search?q=test
  1. 檢查Token許可權
  • GitHub需要 reporead:user 許可權
  • 確保Token未過期
  • 檢查組織訪問許可權
  1. 重新授權OAuth
# 删除已保存的token
claude mcp remove sentry

# 重新添加触发新的OAuth流程
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

問題3:環境變數未載入

症狀

Error: GITHUB_TOKEN is not defined

解決方案

  1. 檢查環境變數
# 查看当前环境变量
echo $GITHUB_TOKEN

# 检查shell配置
cat ~/.bashrc | grep GITHUB_TOKEN
cat ~/.zshrc | grep GITHUB_TOKEN
  1. 正確設定環境變數
# 添加到shell配置
echo 'export GITHUB_TOKEN="ghp_your_token"' >> ~/.zshrc

# 重新加载配置
source ~/.zshrc

# 验证
echo $GITHUB_TOKEN
  1. 在配置中直接設定(僅用於測試)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_actual_token_here"
}
}
}
}

注意:生產環境應使用環境變數而非硬編碼。

問題4:MCP伺服器響應慢

症狀

MCP server response time: 15s (expected < 3s)

最佳化方案

  1. 使用本地快取
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}",
"CACHE_TTL": "300"
}
}
}
}
  1. 選擇合適的傳輸方式
  • 本地伺服器:使用STDIO(更快)
  • 遠端伺服器:使用HTTP + SSE(支援流式)
  1. 限制查詢範圍
❌ "分析所有仓库的所有issues"
✅ "分析react-app仓库最近7天的issues"

問題5:許可權錯誤

症狀

Error: Permission denied: /path/to/file
Filesystem MCP server cannot access this location

解決方案

  1. 檢查檔案系統配置
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/allowed/path1",
"/allowed/path2"
]
}
}
}
  1. 新增訪問路徑
# 重新配置包含需要的路径
claude mcp remove filesystem
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path1 /path2 /path3
  1. 檢查檔案許可權
# 确保文件可读
ls -la /path/to/file

# 修改权限(如需要)
chmod +r /path/to/file

問題6:版本不相容

症狀

Error: MCP protocol version mismatch
Server: v1.0, Client: v0.9

解決方案

  1. 更新Claude Code
# 检查版本
claude --version

# 更新到最新版
npm install -g @anthropic/claude-code@latest
  1. 更新MCP伺服器
# 清除npx缓存
npx clear-npx-cache

# 强制使用最新版本
npx -y @modelcontextprotocol/server-github@latest
  1. 鎖定版本(如需要):
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github@1.0.0"
]
}
}
}

除錯技巧

  1. 啟用詳細日誌
export DEBUG=mcp:*
export MCP_LOG_LEVEL=debug
claude --verbose
  1. 單獨測試MCP伺服器
# 直接运行服务器
npx -y @modelcontextprotocol/server-github

# 应该看到服务器启动信息
  1. 使用MCP Inspector(即將推出):
# MCP调试工具
claude mcp inspect github
  1. 檢視Claude Code日誌
# macOS
tail -f ~/Library/Logs/Claude/mcp.log

# Linux
tail -f ~/.local/share/Claude/logs/mcp.log

最佳實踐建議

1. 合理組織MCP伺服器

按使用頻率和作用域組織:

使用者級(常用工具)

claude mcp add brave-search --scope user
claude mcp add github --scope user

專案級(團隊共享)

claude mcp add sentry --scope project
claude mcp add postgres --scope project

本地級(敏感配置)

claude mcp add database --scope local

2. 安全管理憑證

# 使用密钥管理工具
# macOS Keychain
security add-generic-password \
-a "$USER" \
-s "github_token" \
-w "ghp_your_token"

# 在配置中引用
export GITHUB_TOKEN=$(security find-generic-password \
-a "$USER" \
-s "github_token" \
-w)

3. 監控MCP使用情況

# 定期审查配置
claude mcp list

# 删除不用的服务器
claude mcp remove unused-server

4. 文件化團隊配置

在專案的 README.md 中記錄:

## MCP服务器配置

本项目使用以下MCP服务器:

1. **Sentry** - 错误监控
```bash
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
  1. PostgreSQL - 数据库访问
    claude mcp add postgres \
    -e POSTGRES_URL="postgresql://localhost:5432/db" \
    --scope project

## 下一步探索

掌握MCP整合後,你可以:

1. **探索更多MCP伺服器**
- [官方MCP伺服器倉庫](https://github.com/modelcontextprotocol/servers)
- [社羣MCP伺服器列表](https://github.com/punkpeye/awesome-mcp-servers)

2. **開發自定義MCP伺服器**
- 檢視 [MCP協議規範](https://modelcontextprotocol.io/specification)
- 學習 [開發自定義伺服器](/claude-code/03-高階特性/custom-mcp)

3. **深入實戰應用**
- [使用MCP構建AI工作流](/claude-code/04-實戰案例/mcp-workflows)
- [企業級MCP部署](/claude-code/05-最佳實踐/enterprise-mcp)

## 總結

MCP是Claude Code生態的核心擴充套件機制:

✅ **標準化整合** - 統一協議,廣泛相容
✅ **安全認證** - OAuth 2.1支援,保護資料
✅ **豐富生態** - 數百個現成MCP伺服器
✅ **易於配置** - CLI嚮導和配置檔案
✅ **實際價值** - 顯著提升開發效率

合理配置和使用MCP伺服器,Claude Code就能成為連線整個開發工具鏈的智慧中樞。

## 參考資源

### 官方文件
- [Model Context Protocol官方網站](https://modelcontextprotocol.io/)
- [Claude Code MCP文件](https://code.claude.com/docs/en/mcp)
- [MCP規範](https://modelcontextprotocol.io/specification)

### MCP伺服器
- [官方MCP伺服器集合](https://github.com/modelcontextprotocol/servers)
- [Awesome MCP Servers](https://github.com/punkpeye/awesome-mcp-servers)
- [Sentry MCP文件](https://docs.sentry.io/product/sentry-mcp/)
- [Brave Search MCP](https://github.com/brave/brave-search-mcp-server)

### 教程和指南
- [MCP配置最佳實踐](https://scottspence.com/posts/configuring-mcp-tools-in-claude-code)
- [新增MCP伺服器到Claude Code](https://mcpcat.io/guides/adding-an-mcp-server-to-claude-code/)
- [MCP與OAuth整合](https://stytch.com/blog/oauth-for-mcp-explained-with-a-real-world-example/)

---

**延伸閱讀**:
- [CLAUDE.md配置](/claude-code/03-高階特性/claude-md)
- [自定義MCP伺服器開發](/claude-code/03-高階特性/custom-mcp)
- [Slash命令系統](/claude-code/02-核心功能/slash-commands)