目录
- [🔧 Claude Code 进阶玩法:MCP集成、自定义配置与团队协作](#🔧 Claude Code 进阶玩法:MCP集成、自定义配置与团队协作)
-
- [📌 目录](#📌 目录)
- [1. CLAUDE.md最佳实践](#1. CLAUDE.md最佳实践)
-
- [📄 什么是CLAUDE.md?](#📄 什么是CLAUDE.md?)
- [🎯 最佳实践模板](#🎯 最佳实践模板)
- [💡 高级技巧](#💡 高级技巧)
- [2. MCP协议集成](#2. MCP协议集成)
-
- [🔌 什么是MCP?](#🔌 什么是MCP?)
- [🛠️ 常用MCP服务器](#🛠️ 常用MCP服务器)
- [⚙️ 配置MCP服务器](#⚙️ 配置MCP服务器)
- [📝 使用MCP工具](#📝 使用MCP工具)
- [🔧 自定义MCP服务器](#🔧 自定义MCP服务器)
- [3. Hooks钩子系统](#3. Hooks钩子系统)
-
- [🪝 什么是Hooks?](#🪝 什么是Hooks?)
- [📍 可用的Hook点](#📍 可用的Hook点)
- [⚙️ 配置Hooks](#⚙️ 配置Hooks)
- [💡 实用Hook示例](#💡 实用Hook示例)
-
- [1. 敏感文件保护](#1. 敏感文件保护)
- [2. 自动格式化](#2. 自动格式化)
- [3. 审计日志](#3. 审计日志)
- [4. Skills技能系统](#4. Skills技能系统)
-
- [🎓 什么是Skills?](#🎓 什么是Skills?)
- [📁 Skills目录结构](#📁 Skills目录结构)
- [✍️ 创建Skill](#✍️ 创建Skill)
- 注意事项
- [5. 多模型切换策略](#5. 多模型切换策略)
-
- [🤖 模型选择指南](#🤖 模型选择指南)
- [🔄 切换方式](#🔄 切换方式)
- [💡 智能切换策略](#💡 智能切换策略)
- [6. CI/CD集成](#6. CI/CD集成)
-
- [🚀 GitHub Actions集成](#🚀 GitHub Actions集成)
- [🔄 GitLab CI集成](#🔄 GitLab CI集成)
- [🛠️ 本地Git Hook](#🛠️ 本地Git Hook)
- [7. 团队协作工作流](#7. 团队协作工作流)
-
- [👥 团队配置共享](#👥 团队配置共享)
- [📋 团队工作流示例](#📋 团队工作流示例)
- [🔐 权限管理](#🔐 权限管理)
- [8. 插件系统](#8. 插件系统)
-
- [🔌 安装插件](#🔌 安装插件)
- [📦 常用插件](#📦 常用插件)
- [✍️ 创建插件](#✍️ 创建插件)
- [9. 性能优化](#9. 性能优化)
-
- [⚡ 速度优化](#⚡ 速度优化)
- [💰 成本优化](#💰 成本优化)
- [🧹 上下文优化](#🧹 上下文优化)
- [10. 总结](#10. 总结)
-
- [🎯 进阶功能速查表](#🎯 进阶功能速查表)
- [📚 系列文章回顾](#📚 系列文章回顾)
- [📚 参考资料](#📚 参考资料)
🔧 Claude Code 进阶玩法:MCP集成、自定义配置与团队协作
📅 更新于 2026年5月 | ✍️ 原创文章,转载请注明出处
📌 目录
1. CLAUDE.md最佳实践
📄 什么是CLAUDE.md?
CLAUDE.md是项目的"记忆文件",告诉Claude Code你的项目信息、代码规范、常用命令等。Claude每次启动都会读取它。
🎯 最佳实践模板
markdown
# 项目名称
## 项目简介
一句话描述项目做什么
## 技术栈
- 语言/框架版本
- 数据库
- 缓存
- 消息队列
## 目录结构
src/
├── api/ # API路由
├── services/ # 业务逻辑
├── models/ # 数据模型
├── utils/ # 工具函数
└── config/ # 配置文件
## 常用命令
- 安装依赖: `npm install`
- 运行测试: `npm test`
- 启动开发: `npm run dev`
- 构建生产: `npm run build`
## 代码规范
- 命名规则:camelCase(变量)、PascalCase(组件)
- 文件命名:kebab-case
- 注释语言:中文
## Git规范
- 分支命名:feature/xxx, fix/xxx, hotfix/xxx
- Commit格式:type(scope): description
## 环境变量
- `DB_HOST`: 数据库地址
- `DB_PASSWORD`: 数据库密码(不要硬编码!)
- `JWT_SECRET`: JWT密钥
## 注意事项
- 不要修改 `src/legacy/` 目录
- 测试覆盖率要求 > 80%
- 所有API必须有错误处理
💡 高级技巧
多层级CLAUDE.md
bash
# 项目根目录
CLAUDE.md # 全局配置
# 子目录
src/api/CLAUDE.md # API模块特殊配置
src/utils/CLAUDE.md # 工具函数规范
# Claude会合并所有层级的配置
条件配置
markdown
# 根据文件类型给出不同指令
## 当处理测试文件时
- 使用 Jest 测试框架
- 测试文件命名:*.test.js
- 必须包含边界测试
## 当处理API文件时
- 必须有输入验证
- 统一错误处理
- 记录请求日志
2. MCP协议集成
🔌 什么是MCP?
MCP(Model Context Protocol)是一个开放协议,让Claude Code连接外部工具和数据源。
🛠️ 常用MCP服务器
| MCP服务器 | 功能 | 用途 |
|---|---|---|
| filesystem | 文件系统访问 | 读写文件 |
| github | GitHub API | PR、Issues |
| postgres | PostgreSQL | 数据库查询 |
| slack | Slack API | 发送消息 |
| google-drive | Google Drive | 云盘文件 |
| puppeteer | 浏览器自动化 | 网页测试 |
⚙️ 配置MCP服务器
bash
# 方法1:使用命令配置
claude mcp add postgres
# 方法2:配置文件
# 创建 .mcp.json
{
"servers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}
📝 使用MCP工具
bash
# 配置后,直接在对话中使用
# 查询数据库
> 查询用户表有多少条记录
# 操作GitHub
> 帮我创建一个PR
# 读取Google Drive
> 读取Google Drive上design-spec.md的内容
🔧 自定义MCP服务器
javascript
// my-mcp-server.js
const { Server } = require('@modelcontextprotocol/sdk');
const server = new Server({
name: 'my-custom-server',
version: '1.0.0',
});
// 注册工具
server.setRequestHandler('tools/list', async () => ({
tools: [{
name: 'query_user',
description: '查询用户信息',
inputSchema: {
type: 'object',
properties: {
userId: { type: 'string', description: '用户ID' }
}
}
}]
}));
// 处理调用
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'query_user') {
const user = await queryUser(request.params.arguments.userId);
return { content: [{ type: 'text', text: JSON.stringify(user) }] };
}
});
server.start();
3. Hooks钩子系统
🪝 什么是Hooks?
Hooks让你在Claude Code执行特定动作时运行自定义脚本。
📍 可用的Hook点
| Hook点 | 触发时机 | 用途 |
|---|---|---|
| PreToolUse | 工具执行前 | 权限检查、日志 |
| PostToolUse | 工具执行后 | 结果处理、通知 |
| Notification | 通知发送时 | 自定义通知 |
| Stop | 会话结束时 | 清理、统计 |
⚙️ 配置Hooks
json
// .claude/settings.json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "python3 scripts/check_sensitive.py $CLAUDE_FILE_PATH"
}
]
}
],
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "echo \"Command executed: $CLAUDE_TOOL_INPUT\" >> ~/.claude/audit.log"
}
]
}
]
}
}
💡 实用Hook示例
1. 敏感文件保护
bash
#!/bin/bash
# scripts/check_sensitive.sh
FILE_PATH="$CLAUDE_FILE_PATH"
# 检查是否是敏感文件
if [[ "$FILE_PATH" == *".env"* ]] || [[ "$FILE_PATH" == *"secret"* ]]; then
echo "ERROR: 不能修改敏感文件: $FILE_PATH"
exit 1
fi
exit 0
2. 自动格式化
bash
#!/bin/bash
# scripts/auto_format.sh
FILE_PATH="$CLAUDE_FILE_PATH"
# 如果是JS/TS文件,自动格式化
if [[ "$FILE_PATH" == *".js" ]] || [[ "$FILE_PATH" == *".ts" ]]; then
npx prettier --write "$FILE_PATH"
fi
3. 审计日志
bash
#!/bin/bash
# scripts/audit_log.sh
echo "$(date): Tool=$CLAUDE_TOOL_NAME, Input=$CLAUDE_TOOL_INPUT" >> ~/.claude/audit.log
4. Skills技能系统
🎓 什么是Skills?
Skills是可复用的提示词模板,让Claude Code执行特定任务。
📁 Skills目录结构
~/.hermes/skills/
├── my-skill/
│ ├── SKILL.md # 技能定义
│ ├── references/ # 参考资料
│ ├── templates/ # 模板文件
│ └── scripts/ # 辅助脚本
✍️ 创建Skill
markdown
<!-- ~/.hermes/skills/my-skills/api-generator/SKILL.md -->
---
name: api-generator
description: "生成RESTful API代码"
tags: [api, nodejs, express]
triggers:
- 生成API
- 创建接口
---
# API代码生成器
## 使用场景
当用户需要创建新的API接口时使用此技能。
## 步骤
1. 询问用户需要的API功能
2. 分析现有项目结构
3. 生成路由文件
4. 生成控制器
5. 生成服务层
6. 生成测试
7. 更新API文档
## 代码模板
```javascript
// 路由文件模板
router.post('/api/{{resource}}', auth, {{resource}}Controller.create);
router.get('/api/{{resource}}/:id', auth, {{resource}}Controller.getById);
注意事项
-
遵循项目现有风格
-
包含错误处理
-
添加输入验证
-
编写测试用例
📝 使用Skill
bash# 在对话中触发 > 帮我生成用户管理的API # 或者使用斜杠命令 /api-generator
5. 多模型切换策略
🤖 模型选择指南
| 模型 | 速度 | 能力 | 成本 | 适用场景 |
|---|---|---|---|---|
| Haiku | ⚡⚡⚡ | ⭐⭐ | 💰 | 简单问答、快速补全 |
| Sonnet | ⚡⚡ | ⭐⭐⭐⭐ | 💰💰 | 日常开发、代码生成 |
| Opus | ⚡ | ⭐⭐⭐⭐⭐ | 💰💰💰 | 复杂任务、架构设计 |
🔄 切换方式
bash
# 方法1:斜杠命令
/model sonnet
/model opus
/model haiku
# 方法2:快捷键
# Option+P (Mac) / Alt+P (Windows)
# 方法3:启动参数
claude --model opus
# 方法4:环境变量
export ANTHROPIC_MODEL=claude-sonnet-4
💡 智能切换策略
bash
# 日常开发用Sonnet
/model sonnet
> 帮我写一个登录接口
# 复杂任务切Opus
/model opus
> 帮我设计整个微服务架构
# 简单问答用Haiku
/model haiku
> 这个正则表达式什么意思?
# 可以设置fallback
claude --model sonnet --fallback-model haiku
6. CI/CD集成
🚀 GitHub Actions集成
yaml
# .github/workflows/claude-review.yml
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
- name: Run Review
run: |
claude -p "审查这个PR的代码改动,重点关注安全和性能问题" \
--output-format json > review.json
- name: Post Review
uses: actions/github-script@v7
with:
script: |
const review = require('./review.json');
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: review.content
});
🔄 GitLab CI集成
yaml
# .gitlab-ci.yml
claude-review:
stage: review
image: node:20
script:
- npm install -g @anthropic-ai/claude-code
- claude -p "审查代码改动" --output-format json > review.json
- cat review.json
artifacts:
paths:
- review.json
only:
- merge_requests
🛠️ 本地Git Hook
bash
#!/bin/bash
# .git/hooks/pre-commit
# 运行Claude检查
RESULT=$(claude -p "检查即将提交的代码有没有问题" --output-format text)
if [[ "$RESULT" == *"问题"* ]]; then
echo "Claude发现问题:"
echo "$RESULT"
exit 1
fi
exit 0
7. 团队协作工作流
👥 团队配置共享
bash
# 1. 共享CLAUDE.md
# 提交到Git仓库,团队共享
# 2. 共享MCP配置
# .mcp.json 提交到仓库
# 3. 共享Skills
# 将skills目录提交到仓库
# 或者使用远程skill仓库
📋 团队工作流示例
bash
# 开发者A:开发新功能
claude -n "feature-user-auth"
> 帮我实现用户认证功能
# 工作完成后导出
/export feature-auth-log.txt
# 开发者B:Code Review
/review #123
# Claude会自动审查PR
# 开发者C:修复Bug
claude -c
> 继续昨天的bug修复
🔐 权限管理
json
// 团队共享的权限配置
// .claude/settings.json
{
"permissions": {
"allow": [
"Read",
"Edit(src/**)",
"Bash(npm test *)",
"Bash(git *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Read(.env*)",
"Read(*.key)"
]
}
}
8. 插件系统
🔌 安装插件
bash
# 从插件仓库安装
claude plugin install code-formatter
# 从本地目录安装
claude plugin install /path/to/my-plugin
# 从URL安装
claude plugin install https://github.com/user/plugin/releases/latest
📦 常用插件
| 插件 | 功能 |
|---|---|
| code-formatter | 自动代码格式化 |
| test-runner | 智能测试运行 |
| git-workflow | Git工作流自动化 |
| doc-generator | 文档自动生成 |
| security-scanner | 安全漏洞扫描 |
✍️ 创建插件
json
// plugin.json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "我的自定义插件",
"main": "index.js",
"skills": [
"skills/my-skill.md"
],
"hooks": {
"PostToolUse": [
{
"matcher": "Write",
"command": "node scripts/format.js"
}
]
}
}
9. 性能优化
⚡ 速度优化
bash
# 1. 使用快速模式
/fast on
# 2. 设置努力级别
/effort low # 最快
# 3. 使用最小模式
claude --bare
# 4. 禁用不必要的功能
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
💰 成本优化
bash
# 1. 选择合适的模型
/model sonnet # 性价比最高
# 2. 设置预算限制
claude --max-budget-usd 5
# 3. 定期查看用量
/usage
# 4. 使用订阅计划
# Max $100/月 够重度使用
🧹 上下文优化
bash
# 1. 定期压缩
/compact
# 2. 开始新任务时
/clear
# 3. 导出重要对话
/export important.txt
# 4. 使用会话命名
claude -n "任务名称"
10. 总结
🎯 进阶功能速查表
| 功能 | 命令/配置 | 用途 |
|---|---|---|
| CLAUDE.md | 项目根目录 | 项目记忆 |
| MCP | claude mcp add |
外部工具集成 |
| Hooks | .claude/settings.json |
生命周期钩子 |
| Skills | ~/.hermes/skills/ |
可复用技能 |
| 模型切换 | /model |
按需切换模型 |
| CI/CD | GitHub Actions | 自动化审查 |
| 插件 | claude plugin install |
扩展功能 |
📚 系列文章回顾
- 第1篇:入门安装配置
- 第2篇:命令大全速查
- 第3篇:实战案例教学
- 第4篇:避坑指南
- 第5篇:进阶玩法(本篇)
📚 参考资料
- Claude Code MCP文档 - Anthropic官方
- Claude Code Hooks文档 - Anthropic官方
- Claude Code Skills文档 - Anthropic官方
- Claude Code CI/CD指南 - Anthropic官方
💬 你用过Claude Code的哪些进阶功能?有什么心得?评论区分享!
📌 关注我,获取更多AI编程进阶技巧!