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.0MCP 支援 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
# 错误处理建议
捕获并记录所有错误
提供清晰的错误信息和恢复方案
实现自动重试机制
```