别让 Claude Code 果奔,用 Claude Code MCP 与 Skills 打造自动化开发(Part 2)

不知道如何让 AI 读取本地数据库和最新文档?本篇 Claude Code 教程带你深入掌握 Model Context Protocol (MCP) 协议与 SKILL.md 自定义技能。手把手教你配置 mcp.json,接入 GitHub、Playwright 与 Context7,打造零幻觉的自动化 Code Review 工作流。

上篇文章中,介绍了 Code Code 基础的环境搭建和上下文管理,运行Claude Code 依赖 Node.js 环境,借助 ServBay 我们可以一键免配置完成本地环境的部署。但光会基础还不够,开发者在使用的过程中肯定还会遇到新的技术瓶颈。

如果业务需要接入最新发布的第三方 API,而程序的训练数据还没更新时,AI 写代码数据过期怎么办。通常它就会会根据旧版本的逻辑强行生成代码,那么 AI 产生幻觉怎么解决。再比如,前端工程师希望机器能帮着看看页面样式有没有错位,或者后端工程师需要核对数据库字段,单纯的本地代码读取权限已经无法满足需求。

这篇 Claude Code 进阶教程将重点拆解两个高级特性,分别是构建内部工作流的 Claude Skills 以及打通外部数据通道的 Claude Code MCP 协议。掌握这两项技术,能让单机的代码助手蜕变为全链路的研发协作者。

进阶实操前置准备

在深入配置之前,请确保本地开发环境已满足以下条件:

  • 已掌握基础配置: 建议先阅读本系列的第一部分,确保已完成基础环境初始化,并熟悉了如何管理对话上下文。

  • 配置 Node.js 18+ 环境: 运行各类 MCP 服务器需要较新的 Node 环境支撑。推荐使用 ServBay 这一本地 Web 开发环境管理工具,通过其直观的面板即可一键安装并切换 Node.js 18+ 版本,省去手动配置系统环境变量的繁琐步骤。

  • 准备带有 UI界面的项目: 准备一个包含前端页面的本地工程,用于后续体验 Playwright 插件的视觉测试功能。

  • 获取 GitHub 账号权限: 准备好 GitHub 账号以及带有仓库访问权限的 Personal Access Token(用于演示 GitHub MCP 的自动化流转)。

建立标准规范与 Claude Skills

要让程序自动完成特定任务,单纯依靠每次手动输入冗长的提示词效率极低。Claude Skills 提供了一种定义标准化操作流程的机制。

技能文件本质上是一些存放在特定目录下的 Markdown 规范。当开发者用自然语言提出需求时,程序会自动匹配并触发对应的技能,从而按照预设的专业步骤执行任务。

开发者可以将项目专用的技能保存在项目根目录的 .claude/skills/ 文件夹下,或者将通用的技能放在系统级别的 ~/.claude/skills/ 目录中。

SKILL.md 怎么写

创建一个实用技能的基础是编写一份清晰的配置文件。这里以一个自动化安全审查技能为例,展示配置文件的基本结构。

YAML 复制代码
---
name: 安全与规范审查
description: 对提交的代码进行全面的安全漏洞排查和格式校验
triggers:
  - 审查变更代码
  - 执行安全排查
  - 检查代码规范
allowed-tools:
  - Read
  - Glob
  - Bash(git diff HEAD)
---
# 审查执行准则
## 步骤解析
1. 运行 `git diff HEAD` 抓取当前未提交的代码差异
2. 筛选出变更的文件并按语言分类
3. 按照下述安全标准进行逐行比对
4. 整理出清晰的审查结论

## 必须检查的安全项
- 确认没有将数据库连接串或密钥硬编码在文件中
- 所有的外部输入参数是否都经过了类型校验
- 异步请求是否都包含了异常捕获机制

## 输出排版要求
- 🔴 阻断性风险 [指出具体位置并提供修复代码]
- 🟡 潜在隐患 [解释可能引发的问题]
- 🟢 良好实践 [对写得好的代码给予记录]

这份配置的顶部采用 YAML 格式定义了基础属性。triggers 定义了唤醒该技能的触发词。allowed-tools 则划定了安全边界,限制该技能只能读取文件和执行特定范围的 Git 命令,防止在审查过程中意外修改或删除文件。

为了节省对话内存,复杂的技能说明不应全部堆砌在一个文件中。可以通过模块化的方式,在主文件中使用 @reference.md 引用外部的详细规则手册,实现按需加载。

连接外部世界的桥梁

有了内部执行规范,接下来需要解决外部数据获取的问题。这就引出了当前开发者社区非常关注的一项新技术。

什么是 MCP 协议

模型上下文协议(Model Context Protocol)是一个开放的通信标准。它的作用是为 AI 模型提供一套通用接口,使其能够安全地连接到外部工具和数据源。如果说 Skills 是指导工作的方法论,那么 Claude Code MCP 就是执行这些工作所需的实际工具箱。

通过在本地运行小型的 MCP 服务器程序,开发者可以将网页抓取、数据库查询、版本控制等能力开放给大模型调用。

mcp.json 配置教程

所有的外部服务器连接都需要在 .claude/mcp.json 文件中进行注册。以下是一个包含常用服务的配置模板,展示了如何配置环境参数和启动命令。

JSON 复制代码
{
  "mcpServers": {
    "github_connect": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "doc_fetcher": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-server-context7"]
    },
    "ui_tester": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-server-playwright"]
    }
  }
}

将该文件放置在项目级或全局配置目录下,程序启动时便会自动挂载这些能力。如果挂载失败,可以通过在终端附加 --mcp-debug 参数来查看具体的报错日志。

四大高频实战场景

配置完成后,开发体验将得到大幅提升。以下是几个能解决实际痛点的典型应用场景。

获取最新文档解决信息滞后

面对前端框架频繁更新,利用 Context7 MCP 可以完美避开旧版数据的干扰。当开发者要求使用 React 最新特性编写组件时,程序会自动调用该服务去抓取官方的实时文档,按照最新的 API 规范输出代码,从根本上消除了技术幻觉。

引入视觉反馈完善前端闭环

很多时候生成的界面代码逻辑是对的,但样式存在偏差。借助 Playwright 插件,AI 测试前端页面变得非常直观。程序可以在后台启动一个无头浏览器,访问本地开发服务器,对渲染出的页面进行截图分析。它能像人类工程师一样发现按钮被遮挡或是边距不一致的问题,并针对性地修改 CSS 代码。

洞察底层存储结构

在编写复杂的业务逻辑时,AI 读取本地数据库结构是提升准确率的关键。配置好 PostgreSQL 或 SQLite 的连接插件后,程序可以直接查询真实的表结构、字段类型以及关联约束。随后再让它去编写数据迁移脚本或连表查询语句,就能做到精准契合当前的业务数据模型。

无缝对接代码托管平台

配置 GitHub 访问令牌后,程序可以直接在终端里拉取远程合并请求的详情。发现问题后,还能直接调用接口在代码托管平台上创建 Issue 或添加评审评论,整个过程无需打开浏览器。

技能与外设的协同运作

将规范与数据源结合,能爆发出极强的自动化能力。

设想一个日常的开发流程。开发者在终端输入一条指令,要求核对最新的提交并确认前端展示无误。

接收到指令后,GitHub 插件负责拉取代码差异,代码审查技能提供评判标准,Context7 负责核对第三方库的用法是否正确,最后 Playwright 访问预览地址进行截图验证。全部排查无误后,审查报告会自动同步到远端仓库。

更有趣的是,开发者甚至可以让程序自己来编写技能规范。把一份全新的第三方支付 API 文档保存在本地,命令程序阅读该文档并生成一份用于当前项目的接入技能。它会自动提炼出鉴权方式、报错处理规则,并生成一份完整的 SKILL.md 存入技能库供后续复用。

当开发者熟练配置了这些进阶模块,一套高效、精准且懂业务的研发环境就已经搭建成型。在接下来的系列教程中,我们会探讨更宏观的架构实践,探讨如何利用多实例并行开发以及自动化流水线集成来处理大型工程项目。

相关推荐
Patrick在香港6 小时前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
苏三说技术6 小时前
如何看待GPT-6在UP主众测中碾压夺冠?它是现在最强大模型吗?
后端
mldong7 小时前
一份 JSON,一条能跑的审批流:把报销流程送上工作流引擎
后端·架构
wno7047 小时前
Spring Boot WebFlux增删改查
java·spring boot·后端
Captaincc7 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
aramae8 小时前
模拟实现strlen()函数 (C语言)
c语言·开发语言·后端
kyriewen8 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
IT_陈寒9 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
分支预测失败9 小时前
RISC-V 时间子系统深度专题:mtime 访问路径、SBI 定时器与 Linux tickless 协同
后端
65岁退休Coder9 小时前
PI Agent 开发一个生产级 Harness
后端·node.js·agent