06-MCP工具扩展

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

Claude Code 进阶篇(四):MCP 工具扩展


修订记录

编号版本修订人修订内容日期
0011.0lixh创建全文2026-01-21

1. 概述

MCP(Model Context Protocol)是 Claude Code 的核心扩展机制,允许接入外部工具和服务,极大地扩展 Claude 的能力边界。

1.1 什么是 MCP

在这里插入图片描述

图表源文件:06-mcp-architecture.drawio

MCP 的本质:一种标准化协议,定义了 AI 模型如何与外部工具交互。

1.2 MCP 的价值

优势说明
能力扩展接入数据库、API、浏览器等外部资源
标准化统一的工具调用协议
可复用MCP 服务可跨项目共享
安全可控权限隔离,按需授权

2. MCP 服务类型

2.1 官方 MCP 服务

服务功能典型用途
githubGitHub 操作创建 PR、管理 Issue
playwright浏览器自动化网页测试、截图
filesystem文件系统扩展跨目录文件操作
memory知识图谱实体关系存储

2.2 社区 MCP 服务

服务功能来源
claude-mem向量记忆社区开发
drawio图表绘制社区开发
modao原型设计墨刀集成

3. MCP 配置

3.1 配置文件位置

系统路径
Windows%APPDATA%\claude\settings.json
macOS~/Library/Application Support/claude/settings.json
Linux~/.config/claude/settings.json

3.2 配置结构

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/path/to/allowed/dir"]
    }
  }
}

3.3 配置字段说明

字段类型说明
commandstring启动命令(如 npx、node)
argsarray命令参数
envobject环境变量(API Keys 等)
cwdstring工作目录(可选)

4. 常用 MCP 服务详解

4.1 GitHub MCP

功能:完整的 GitHub 操作能力

配置

{
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token"
    }
  }
}

支持的操作

操作工具名说明
创建仓库create_repository创建新仓库
创建 PRcreate_pull_request发起 Pull Request
管理 Issuecreate_issue / update_issueIssue 操作
搜索代码search_code跨仓库代码搜索
提交文件push_files推送文件到仓库

使用示例

> 帮我创建一个 PR,标题是 "feat: 添加用户认证"

(Claude 使用 GitHub MCP 创建 PR)

4.2 Playwright MCP

功能:浏览器自动化和网页操作

配置

{
  "playwright": {
    "command": "npx",
    "args": ["-y", "@anthropic-ai/mcp-server-playwright"]
  }
}

支持的操作

操作工具名说明
导航browser_navigate访问 URL
点击browser_click点击元素
输入browser_type输入文本
截图browser_take_screenshot页面截图
快照browser_snapshot获取页面结构

使用示例

> 帮我打开 example.com 并截图

(Claude 使用 Playwright MCP 操作浏览器)

4.3 Memory MCP

功能:知识图谱存储,实体和关系管理

配置

{
  "memory": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-memory"]
  }
}

支持的操作

操作工具名说明
创建实体create_entities存储知识节点
创建关系create_relations建立实体关联
搜索search_nodes查询知识
读取图谱read_graph获取全部知识

4.4 Filesystem MCP

功能:扩展文件系统访问

配置

{
  "filesystem": {
    "command": "npx",
    "args": [
      "-y",
      "@anthropic-ai/mcp-server-filesystem",
      "/allowed/path1",
      "/allowed/path2"
    ]
  }
}

注意:只能访问配置中指定的目录。


5. 安装与使用 MCP 服务

5.1 安装步骤

步骤 1:编辑配置文件

# 打开配置文件
code ~/.config/claude/settings.json

步骤 2:添加 MCP 配置

{
  "mcpServers": {
    "服务名": {
      "command": "...",
      "args": ["..."]
    }
  }
}

步骤 3:重启 Claude Code

claude

5.2 验证安装

> 列出可用的 MCP 工具

(Claude 会列出已配置的 MCP 服务和工具)

5.3 使用 MCP 工具

Claude 会自动识别并使用 MCP 工具:

> 帮我在 GitHub 上搜索 "react hooks" 相关代码

(自动使用 GitHub MCP 的 search_code)

> 打开 https://example.com 看看页面内容

(自动使用 Playwright MCP)

6. 高级 MCP 配置

6.1 环境变量管理

推荐做法:将敏感信息存储在环境变量中

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

6.2 多实例配置

可以配置同一 MCP 的多个实例:

{
  "filesystem-docs": {
    "command": "npx",
    "args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/docs"]
  },
  "filesystem-src": {
    "command": "npx",
    "args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/src"]
  }
}

6.3 自定义 MCP 服务

可以开发自己的 MCP 服务:

// 简单的 MCP 服务示例
const { Server } = require('@modelcontextprotocol/sdk/server');

const server = new Server({
  name: 'my-custom-mcp',
  version: '1.0.0'
});

server.addTool({
  name: 'my_tool',
  description: 'My custom tool',
  inputSchema: { /* JSON Schema */ },
  handler: async (params) => {
    // 工具逻辑
    return { result: 'success' };
  }
});

server.start();

7. MCP 与工具链集成

7.1 典型工作流

在这里插入图片描述

7.2 实际案例

案例:自动化 PR 流程

> 帮我完成以下工作:
> 1. 修改代码
> 2. 运行测试
> 3. 创建 PR
> 4. 截图展示变更

Claude 执行:
1. 使用内置工具修改代码
2. 使用 Bash 运行测试
3. 使用 GitHub MCP 创建 PR
4. 使用 Playwright MCP 截图

8. 常用 MCP 工具速查

8.1 GitHub MCP

工具用途
mcp__github__create_repository创建仓库
mcp__github__create_pull_request创建 PR
mcp__github__create_issue创建 Issue
mcp__github__search_code搜索代码
mcp__github__get_file_contents获取文件内容
mcp__github__push_files推送文件

8.2 Playwright MCP

工具用途
mcp__playwright__browser_navigate导航到 URL
mcp__playwright__browser_click点击元素
mcp__playwright__browser_type输入文本
mcp__playwright__browser_snapshot获取页面快照
mcp__playwright__browser_take_screenshot截图

8.3 Memory MCP

工具用途
mcp__memory__create_entities创建实体
mcp__memory__create_relations创建关系
mcp__memory__search_nodes搜索节点
mcp__memory__read_graph读取图谱

9. 故障排除

9.1 MCP 服务未加载

检查点

  1. 配置文件 JSON 格式是否正确
  2. 服务名是否有拼写错误
  3. 命令和参数是否正确

调试

# 手动运行 MCP 服务检查
npx -y @modelcontextprotocol/server-github

9.2 权限错误

GitHub MCP

  • 检查 Token 权限范围
  • 确认 Token 未过期

Filesystem MCP

  • 确认目录路径正确
  • 检查文件系统权限

9.3 连接超时

可能原因

  • 网络问题
  • 服务启动慢

解决

  • 检查网络连接
  • 增加超时配置

10. 下一步

了解了 MCP 系统后,继续学习:


参考资料

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值