Skip to content

11.2 MCP 核心功能

MCP 提供豐富的核心功能,使 Claude Code 能夠與外部工具和資料來源無縫整合,極大擴充套件了 AI 助手的能力邊界。

工具调用

基本工具调用

MCP 伺服器提供可呼叫的工具,Claude Code 可以像使用內建工具一樣使用它們。這些工具可以是任何型別的服務或應用,從簡單的 API 呼叫到複雜的工作流自動化。

    bash


    # 使用 MCP 工具的示例
    使用 GitHub 工具创建 PR
    使用 Sentry 工具查询最近的错误
    使用数据库工具查询用户数据
    使用 Docker 工具管理容器

### 工具发现

Claude Code 會自動發現 MCP 伺服器提供的所有工具,並將其整合到使用者介面中。使用者可以透過簡單的命令檢視所有可用工具:

bash
    bash


    # 查看可用的 MCP 工具
    /mcp

    # 输出示例
    MCP 服务器:
    - github: 提供 PR、issue、代码搜索等工具
    - sentry: 提供错误查询、监控等工具
    - database: 提供数据库查询工具
    - docker: 提供容器管理工具

### 工具参数

MCP 工具可以接受引數,使呼叫更加靈活和精確。引數可以是位置引數或命名引數:

    bash


    # 带参数的工具调用
    使用 GitHub 工具查看 PR #123
    使用数据库工具查询用户 ID 为 456 的信息
    使用 Docker 工具启动名为 "web-server" 的容器

## 资源访问

### 资源类型


MCP 伺服器可以提供多種型別的資源,讓 Claude Code 能夠直接訪問和操作:

  * **資料庫表** : 可查詢和操作的資料表
  * **檔案系統** : 可訪問的檔案和目錄
  * **API 端點** : 可呼叫的 REST API
  * **配置檔案** : 可讀取和修改的配置
  * **監控資料** : 可檢視的系統監控指標

### 資源發現

Claude Code 自動發現 MCP 伺服器提供的所有資源,並以直觀的方式展示給使用者:

    bash


    # 查看可用的 MCP 资源
    /mcp

    # 输出示例
    MCP 资源:
    - database.users: 用户表
    - database.orders: 订单表
    - filesystem.logs: 日志目录
    - api.metrics: 系统监控 API

### 资源访问

使用者可以透過自然語言命令直接訪問 MCP 資源:

javascript
    bash


    # 访问 MCP 资源的示例
    查询数据库中的用户表
    读取日志文件 /var/log/app.log
    获取系统配置信息
    查看最近 24 小时的 CPU 使用率

## 提示模板

### 提示模板定义

MCP 伺服器可以提供預定義的提示模板,幫助使用者快速完成常見任務。這些模板包含最佳實踐和標準化格式,確保輸出質量。

    bash


    # 使用 MCP 提示模板的示例
    使用 GitHub 的 PR 审查模板
    使用 Sentry 的错误分析模板
    使用 Jira 的 bug 报告模板

### 提示模板优势


提示模板帶來以下優勢:

  * **標準化** : 統一的提示格式,確保輸出質量
  * **高效** : 快速開始任務,減少重複工作
  * **一致性** : 確保團隊成員使用相同的標準
  * **可擴充套件性** : 可以輕鬆建立和共享新模板

## 身份验证

### OAuth 2.0

MCP 支援 OAuth 2.0 身份驗證,允許 Claude Code 安全地訪問受保護的資源:

    bash


    # 使用 /mcp 进行身份验证
    /mcp
    # 选择需要身份验证的服务器
    # 按照提示完成 OAuth 流程

### API 密钥

MCP 支援 API 金鑰身份驗證,適用於服務之間的通訊:

    bash


    # 添加带 API 密钥的服务器
    claude mcp add --transport http api https://api.example.com/mcp \
      --header "Authorization: Bearer your-api-key"

### 环境变量

MCP 支援透過環境變數傳遞憑證,提高安全性和配置靈活性:

    bash


    # 使用环境变量添加服务器
    claude mcp add --transport stdio db --env DB_URL=your-db-url \
    -- npx -y @bytebase/dbhub

## 权限管理

### 工具权限

MCP 提供細粒度的工具級許可權控制,確保使用者只能訪問他們需要的工具:

    bash


    # 限制工具访问
    claude --allowedTools "Read,Grep,Glob,mcp__github"

### 资源权限

MCP 支援資源級許可權控制,允許管理員限制對特定資源的訪問:

    bash


    # 限制资源访问示例
    只允许访问 database.users 表
    禁止修改配置文件

### 操作权限

MCP 提供操作級許可權控制,允許管理員限制使用者可以執行的操作型別:

    bash


    # 限制操作类型示例
    只允许只读操作
    禁止删除数据库记录

## 数据流控制

### 输出限制

MCP 工具輸出有預設限制,防止返回過多資料影響效能:

    bash


    # 默认限制:10,000 令牌
    # 增加限制
    MAX_MCP_OUTPUT_TOKENS=50000 claude

### 超时控制

MCP 伺服器啟動有超時限制,防止長時間執行的任務阻塞系統:

    bash


    # 默认超时:30 秒
    # 设置超时
    MCP_TIMEOUT=10000 claude

### 流式输出

MCP 支援流式輸出,允許處理大型資料集而不會佔用過多記憶體:

    bash


    # 流式输出大结果
    使用数据库工具导出所有用户数据
    使用日志工具实时监控系统日志

## 错误处理

### 错误捕获

MCP 提供詳細的錯誤資訊,幫助使用者快速定位和解決問題:

    bash


    # 错误示例
    使用 GitHub 工具创建 PR
    错误:无法创建 PR - 权限不足

### 错误恢复

MCP 提供錯誤恢復機制,包括自動重試和替代方案建議:

    bash


    # 自动重试失败的操作
    重试失败的数据库查询
    # 提供替代方案
    使用其他工具完成相同任务

### 错误日志

MCP 記錄詳細的錯誤日誌,方便管理員排查問題:

    bash


    # 查看错误日志
    claude --verbose

## 性能优化

### 缓存


MCP 支援結果快取:

# 快取查詢結果

使用資料庫工具查詢使用者資料

# 相同查询会使用缓存

    bash


    ### 批处理
    MCP 支持批量操作:

    ```bash

    # 批次查詢
批量查询多个用户

```

### 並行處理

MCP 支援並行處理:

```bash
# 并行执行多个 MCP 工具
同时查询多个数据源

```

## 監控和除錯

### 工具使用監控

```bash
# 查看工具使用情况
显示 MCP 工具使用统计

```

### 效能監控

```bash
# 查看性能指标
显示 MCP 工具执行时间

```

### 除錯模式

```bash
# 启用调试模式
claude --verbose

```

## 擴充套件功能

### 自定義工具

MCP 伺服器可以提供自定義工具:

```bash
# 使用自定义工具
使用自定义工具处理数据

```

### 外掛整合

MCP 可以透過外掛整合:

```bash
# 安装带 MCP 的插件
/plugin install my-plugin@claude

```

MCP 提供多種效能最佳化功能,確保工具呼叫高效可靠:

### 快取機制

MCP 支援結果快取,避免重複呼叫相同的工具:

```bash
# 启用缓存
claude mcp add --transport http api https://api.example.com/mcp \
  --cache-ttl 300

```

### 並行呼叫

MCP 支援並行呼叫多個工具,提高處理效率:

```bash
# 并行调用示例
同时使用 GitHub 工具和 Sentry 工具

```

### 外掛整合

MCP 可以與外掛系統整合,進一步擴充套件功能:

```bash
# 安装 MCP 插件
/plugin install my-plugin@claude

```

### 技能整合

MCP 可以與技能系統深度整合,實現更復雜的自動化任務:

```bash
# 使用技能调用 MCP 工具
使用数据处理技能调用数据库工具
使用自动化技能执行 DevOps 流程

```

## 安全功能

### 資料加密

MCP 支援資料加密傳輸,確保敏感資訊不被洩露:

```bash
# 加密传输
claude mcp add --transport http secure https://api.example.com/mcp \
  --header "Authorization: Bearer encrypted-token"

```

### 審計日誌

MCP 記錄詳細的審計日誌,便於追蹤和合規檢查:

```bash
# 查看审计日志
显示 MCP 工具使用历史
导出审计报告

```

### 訪問控制

MCP 提供細粒度的訪問控制,確保只有授權使用者可以使用特定工具:

```bash
# 控制访问权限
限制特定用户访问 MCP 工具
基于角色的权限分配

```

## 最佳實踐

### 1. 合理配置

根據實際需求配置 MCP 伺服器,確保最佳效能和安全性:

```bash
# 配置建议
选择合适的传输方式(HTTP 用于远程,stdio 用于本地)
设置适当的超时时间(根据工具响应时间调整)
配置最小权限原则的权限设置

```

### 2. 監控使用

定期監控 MCP 工具使用情況,識別效能瓶頸和最佳化機會:

```bash
# 监控建议
查看使用统计数据
分析性能指标(响应时间、成功率)
识别高频使用的工具和资源

```

### 3. 安全第一

確保 MCP 配置安全,保護敏感資料和資源:

```bash
# 安全建议
使用强身份验证机制(OAuth 2.0 优于 API 密钥)
限制权限范围,遵循最小权限原则
定期更新凭证和密钥

```

### 4. 錯誤處理

妥善處理錯誤,提高系統可靠性和使用者體驗:

```bash
# 错误处理建议
捕获并记录所有错误
提供清晰的错误信息和恢复方案
实现自动重试机制

```

基于 MIT 许可发布 | 永久导航