当前位置: 首页 > news >正文

[claude code] 05 实战篇:MCP 服务器与技能扩展

05 实战篇:MCP 服务器与技能扩展

通过 MCP 连接外部世界,用 Skills 扩展 Claude 的能力边界。


5.1 MCP 协议概念

MCP(Model Context Protocol)是 Anthropic 的开源协议,标准化 AI 模型与外部数据源的交互方式。

核心概念

Claude Code ←→ MCP Server ←→ 外部服务 (客户端) (中间层) (数据源)
  • MCP Server:一个独立进程,提供工具(Tools)和资源(Resources)
  • 传输方式:stdio(本地进程通信)或 HTTP(网络通信)
  • 协议:JSON-RPC 2.0

MCP 能做什么

能力说明示例
ToolsClaude 可调用的函数搜索 GitHub Issue、查询数据库
ResourcesClaude 可读取的数据文件内容、API 响应
Prompts预定义的提示模板代码审查模板

5.2 添加与管理 MCP 服务器

添加 stdio 服务器(本地进程)

# 基本格式claude mcpadd<名称><命令>[参数...]# 示例:添加 GitHub MCPclaude mcpaddgithub-y@modelcontextprotocol/server-github# 示例:添加带环境变量的服务器claude mcp add-json brave-search'{ "command": "npx", "args": ["-y", "brave-search-mcp"], "env": { "BRAVE_API_KEY": "your-api-key" } }'

添加 HTTP 服务器(远程服务)

# 基本 HTTP 服务器claude mcpadd--transporthttp my-server https://api.example.com/mcp# 带认证头的 HTTP 服务器claude mcpadd--transporthttp\--header"Authorization: Bearer your-token"\my-server https://api.example.com/mcp

指定作用范围

# 全局(所有项目可用)claude mcpadd--scopeuser github-y@modelcontextprotocol/server-github# 仅当前项目claude mcpadd--scopeproject my-db-y@modelcontextprotocol/server-postgres

管理命令

# 列出所有已配置的服务器claude mcp list# 查看服务器详情claude mcp get github# 移除服务器claude mcp remove github# 在对话中检查服务器状态/mcp

配置文件

全局配置~/.claude.json

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

项目配置.mcp.json(项目根目录):

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

最佳实践

  • 全局通用的服务器用--scope user(如 GitHub、搜索)
  • 项目特定的服务器用--scope project(如数据库、内部 API)
  • 敏感信息(API Key)放在env中,不要硬编码在命令行
  • 定期用/mcp检查服务器状态,移除不用的服务器

5.3 常用 MCP 服务器推荐

开发工具类

服务器安装命令功能
GitHubclaude mcp add github -y @modelcontextprotocol/server-githubIssue、PR、代码搜索
PostgreSQLclaude mcp add postgres -y @modelcontextprotocol/server-postgres数据库查询
SQLiteclaude mcp add sqlite -y @modelcontextprotocol/server-sqliteSQLite 操作
Filesystemclaude mcp add fs -y @modelcontextprotocol/server-filesystem /path安全文件访问

搜索与信息类

服务器安装命令功能
Brave Searchclaude mcp add-json brave-search '{...}'网页搜索
Puppeteerclaude mcp add puppeteer -y @modelcontextprotocol/server-puppeteer浏览器自动化
Memoryclaude mcp add memory -y @modelcontextprotocol/server-memory持久化知识图谱

设计与协作类

服务器安装命令功能
Figma通过 Figma 插件市场安装设计到代码工作流
Slackclaude mcp add slack -y @modelcontextprotocol/server-slackSlack 消息读写

基础设施类

服务器安装命令功能
Dockerclaude mcp add docker -y @modelcontextprotocol/server-docker容器管理
SSHclaude mcp add ssh -y mcp-ssh-managerSSH 连接管理

5.4 Skills 技能体系

Skills 是 Claude Code 的可扩展能力包,按需加载,节省 token。

技能类型

类型位置作用范围是否共享
个人技能~/.claude/skills/所有项目
项目技能.claude/skills/当前项目是(提交 Git)
插件技能随插件安装插件范围

技能目录结构

my-skill/ ├── SKILL.md # 必需:指令和元数据 ├── scripts/ # 可选:可执行脚本 ├── references/ # 可选:参考文档 └── assets/ # 可选:模板、资源

SKILL.md 格式

--- name: code-review description: 代码审查技能,检查安全、性能和可维护性 triggers: - "review code" - "审查代码" - "code review" --- # 代码审查技能 ## 审查维度 1. **安全性**:SQL 注入、XSS、敏感信息泄露 2. **性能**:N+1 查询、内存泄漏、不必要的循环 3. **可维护性**:函数长度、命名规范、注释质量 4. **错误处理**:异常捕获、边界条件、资源释放 ## 审查流程 1. 读取目标文件 2. 按维度逐项检查 3. 标注严重程度(Critical / Warning / Suggestion) 4. 给出修复建议 ## 输出格式 ### [Critical] 问题标题 - 位置:文件:行号 - 描述:问题说明 - 建议:修复方案

内置技能一览

技能调用方式功能
/init/init生成项目 CLAUDE.md
/review/review审查 Pull Request
/security-review/security-review安全审查
/simplify/simplify优化代码质量
/commit/commit智能提交
/loop/loop 5m /check-deploy定时循环执行
/insights/insights使用分析报告

5.5 自定义斜杠命令

.claude/commands/目录下创建.md文件,自动变成斜杠命令。

创建自定义命令

.claude/commands/review.md

审查当前分支的所有变更,关注以下维度: 1. **安全性**:是否有敏感信息泄露、注入风险 2. **性能**:是否有 N+1 查询、不必要的计算 3. **可维护性**:函数是否过长、命名是否清晰 4. **测试覆盖**:变更是否有对应测试 输出格式: - 每个问题标注严重程度 [Critical/Warning/Suggestion] - 给出具体的修复建议 - 最后给出整体评分 (A/B/C/D)

.claude/commands/test-changed.md

检测当前分支相对于 main 分支的变更文件, 为每个变更的源文件找到对应的测试文件, 运行所有相关测试,报告结果。 如果没有测试,建议应该添加哪些测试。

命令命名规则

文件路径命令名
.claude/commands/review.md/project:review
.claude/commands/test-changed.md/project:test-changed
~/.claude/commands/daily.md/user:daily
  • 项目命令前缀:/project:
  • 个人命令前缀:/user:

带参数的命令

在命令文件中使用$ARGUMENTS占位符:

.claude/commands/explain.md

详细解释以下代码的工作原理:$ARGUMENTS 要求: 1. 逐行解释关键逻辑 2. 画出执行流程图(用文字描述) 3. 指出潜在的边界情况 4. 给出优化建议

使用方式:

> /project:explain @src/auth.py:validate_token

5.6 MCP vs Skills vs Hooks 选择指南

需求选择原因
连接外部服务(GitHub、数据库)MCP需要外部 API 交互
代码质量自动化(格式化、lint)Hooks需要在特定时机自动触发
重复性工作流(审查、测试)Skills按需加载,节省 token
安全防护(阻止危险操作)Hooks + 权限PreToolUse 钩子 + deny 规则
自定义提示模板斜杠命令简单、可参数化
持久化知识存储MCP Memory跨会话知识保留

组合使用示例

MCP(GitHub) + Skill(/review) + Hook(ESLint) → Claude 自动获取 PR → 按审查技能分析 → 编辑后自动 lint

5.7 小结

概念关键要点
MCP连接外部服务的标准协议,stdio 或 HTTP 传输
添加 MCPclaude mcp add <名称> <命令>
Skills按需加载的能力包,SKILL.md 定义
斜杠命令.claude/commands/*.md自动注册
选择策略MCP 连外部,Hooks 做自动化,Skills 做工作流

上一篇:04 进阶篇:权限、Hooks 与自动化
下一篇:06 高级篇:记忆系统与工作流优化

http://www.jsqmd.com/news/1301509/

相关文章:

  • 2026实力之选:上海充电桩回收领域值得关注的专业公司解析 - 卓企推荐
  • 《赛马娘》霸王世代角色性格分析:从寿司反应看角色塑造
  • 实测北京2026LV、迪奥回收门店:教你甄别无隐形扣费的正规奢侈品回收机构 - 融媒生活
  • AI眼镜等智能硬件PCBA代工怎么选?深度评测深圳市天地通电子
  • OpenClaw开源AI智能体:架构解析与实战部署指南
  • 气相色谱柱选型干货,搭配GC、GC-MS、样品前处理配套方案 - 品牌推荐大师
  • 2026温州自力式氮封阀厂家推荐,微压氮封阀厂家推荐怎么选不踩坑?避坑要点+厂家推荐 - GEO99
  • 终极Minecraft区块管理指南:如何用MCA Selector轻松清理和优化你的世界
  • 酒店业AI转型真相(2024Q2全球127家标杆案例深度复盘)
  • 滦南县室内除异味全面调研:装修异味久久不散?滦南本地除甲醛公司优劣对比全解析 - 专注室内空气检测治理
  • 公证书到底多久有效?证天下小程序帮你避开90%无效操作
  • 武汉男生学什么技术前景好?武汉新华电脑学校地址,软件开发、智能制造专业介绍 - 湖北找学校
  • 【AI时代异步沟通黄金法则】:20年IT专家亲授7大避坑指南,90%团队正在忽略的响应延迟陷阱
  • 硬件盲盒的改进建议
  • 密码存储安全:从彩虹表攻击到加盐哈希与Argon2实战
  • 轻法式静奢yyds!北京/上海/苏州豪宅都在装的老钱风,终于找到靠谱品牌 - GrowUME
  • 计算机单片机毕设实战-基于 STM32 的温控定时煮饭硬件控制系统研发 基于嵌入式 STM32 的多档位烹饪设备控制系统设计(016001)
  • 石排附近民谣清吧是哪家
  • 优化内存受限场景:_mm_stream_si128指令详解与实践
  • 2026苏州非机动车停车棚选购指南:六家优质膜结构建造商深度盘点 - 甄选测评官
  • 高分毕业论文是如何炼成的:自查查重率与 AI 率的终极避坑清单
  • Google留痕技术解析与SEO实战指南
  • 潮汕本地导游怎么挑选?费用、预约、避坑全攻略 2026 版 - 纯玩旅游推荐官
  • 全网舆情资讯舆情系统网址
  • 2026宁波市手机回收去哪家:宁波旧机处理门店推荐 - 五大品牌极选
  • AI不是替代混音师,而是淘汰不会用AI的混音师:2024行业薪酬调研显示,掌握AI多轨协同者时薪暴涨2.8倍
  • 小规模纳税人代理记账哪家好?2026 海南费用明细科普与避坑全指南 众创宝海南企服咨询:13098919146 - GrowUME
  • STM32时钟树深度解析:从HAL库配置到F1/F4/F7实战指南
  • 新媒体设计师发展前景?零基础可以学习新媒体设计吗 - 湖北找学校
  • MPV播放器懒人包:从零到专业级播放体验的完整解决方案