|
|
Claude Code 从入门到脱发 · Day 6
前五天,Claude Code 一直在你的项目目录里打转——读文件、改文件、跑命令。它像个被关在房间里的天才,能力很强,但只能摸到房间里的东西。
MCP(Model Context Protocol)就是给这个房间开门的钥匙。
连上数据库,Claude Code 能直接查数据、分析表结构。连上浏览器,它能帮你测试页面、截图。连上 Slack,它能在修完 bug 后自动发消息通知团队。连上 Sentry,它能读取线上报错然后直接定位代码问题。
截至 2026 年初,MCP 生态已经有超过 300 个集成工具。今天我们挑几个最实用的来上手。
本文你将学到:
MCP 是什么,怎么工作的
如何配置 MCP 工具(以数据库和浏览器为例)
Tool Search 懒加载机制
实战:连数据库查数据 + 浏览器自动化测试
阅读时间:8 分钟 | 实操时间:30 分钟 | 难度:中级
━━━━━━━━━━━━━━━━━━━━
MCP 是什么
MCP 全称 Model Context Protocol,是 Anthropic 推出的标准协议,用于让 AI 模型连接外部工具和数据源。
你可以把它理解为 USB 接口——标准化的协议,不同厂商的设备都能接上去。
- Claude Code
- |
- |-- MCP 协议
- |
- +-- 数据库(MySQL、PostgreSQL)
- +-- 浏览器(Playwright)
- +-- 消息(Slack、Discord)
- +-- 监控(Sentry、Datadog)
- +-- 文件系统(S3、Google Drive)
- +-- 代码管理(GitHub、GitLab)
- +-- ... 300+ 更多
复制代码
每个 MCP 工具以"服务器"的形式运行,Claude Code 通过协议跟它们通信。你不需要理解协议细节,只需要知道怎么配置。
━━━━━━━━━━━━━━━━━━━━
配置 MCP 工具
MCP 工具在的字段里配置。
配置结构
- {
- "mcpServers": {
- "工具名": {
- "command": "启动命令",
- "args": ["参数列表"],
- "env": {
- "环境变量": "值"
- }
- }
- }
- }
复制代码
示例一:连接 MySQL 数据库
- {
- "mcpServers": {
- "mysql": {
- "command": "npx",
- "args": [
- "-y",
- "@anthropic-ai/mcp-mysql",
- "--host", "127.0.0.1",
- "--port", "3306",
- "--user", "root",
- "--password", "your_password",
- "--database", "your_db"
- ]
- }
- }
- }
复制代码
配置好之后,你可以直接这样用:
- > 查一下 users 表有多少条记录
- > 帮我看看 orders 表的结构,有哪些字段
- > 查一下最近 7 天每天的订单量,按天分组
- > 找出 users 表里 email 为空的记录
复制代码
Claude Code 会自动生成 SQL 并执行,把结果展示给你。它不是瞎写 SQL——它知道你的表结构,生成的查询通常很靠谱。
示例二:Playwright 浏览器自动化
- {
- "mcpServers": {
- "playwright": {
- "command": "npx",
- "args": ["-y", "@anthropic-ai/mcp-playwright"]
- }
- }
- }
复制代码
配置好之后:
- > 打开 http://localhost:3000,截个图看看首页长什么样
- > 在登录页面输入用户名 test@example.com 和密码 123456,点击登录按钮
- > 验证登录后页面是否显示了"欢迎回来"的文字
复制代码
Claude Code 会控制浏览器执行这些操作。做 E2E 测试时特别有用——你用自然语言描述测试步骤,它帮你执行。
示例三:文件系统(只读模式)
- {
- "mcpServers": {
- "filesystem": {
- "command": "npx",
- "args": [
- "-y",
- "@anthropic-ai/mcp-filesystem",
- "--read-only",
- "/path/to/allowed/directory"
- ]
- }
- }
- }
复制代码
限制 Claude Code 只能访问指定目录,并且只读。适合在安全敏感的环境中使用。
━━━━━━━━━━━━━━━━━━━━
Tool Search:懒加载的智慧
MCP 工具越装越多,每个工具的定义都要占用上下文 Token。Anthropic 的解决方案是 Tool Search——懒加载。
原理很简单:Claude Code 启动时不加载所有工具的完整定义,只保留一个轻量级索引。当它需要某个工具时,通过 Tool Search 动态加载具体定义。
这个优化效果惊人:Anthropic 内部测试显示,Token 消耗从约 134k 降到约 5k,减少了 85%。
你不需要手动配置 Tool Search,它是自动的。但了解这个机制有助于理解为什么有时候 Claude Code 会"先搜索一下有什么工具可用"。
━━━━━━━━━━━━━━━━━━━━
实战:数据库驱动的 Bug 修复
假设你的应用有个 Bug:用户反馈"我的订单列表显示为空"。传统流程:
登录数据库客户端
手动写 SQL 查数据
回到代码里找接口
分析代码逻辑
修复
测试
用 Claude Code + MCP 的流程:
- > 用户反馈订单列表为空。帮我查一下 user_id=12345 的订单数据在不在数据库里,
- > 然后看看 /api/orders 接口的代码逻辑,找出问题。
复制代码
Claude Code 会:
通过 MCP 查询数据库,确认数据存在
读取接口代码,发现 where 条件写错了
修复代码
再查一次数据库验证修复
整个过程你只说了一句话。
━━━━━━━━━━━━━━━━━━━━
安全注意事项
MCP 强大,但也要注意安全:
数据库连接:
不要在配置文件里硬编码生产环境密码
使用环境变量:- "env": { "DB_PASSWORD": "${DB_PASSWORD}" }
复制代码 开发环境可以随意,生产环境建议用只读账号
浏览器自动化:
不要让 Claude Code 在生产环境的管理后台乱点
Playwright 默认打开本地 URL,连接外部 URL 要谨慎
通用原则:
开发环境大胆用
生产环境只读权限
敏感信息走环境变量,不要提交到 Git
━━━━━━━━━━━━━━━━━━━━
常见问题 Q&A
Q1:MCP 工具需要单独安装吗?
大多数 MCP 工具通过 npx 自动安装,第一次使用时会下载。少数需要预装(比如 Docker MCP 需要先装 Docker)。
Q2:能同时连多个数据库吗?
能。给不同数据库配不同的名字:
- {
- "mcpServers": {
- "mysql-main": { "command": "npx", "args": ["...", "--database", "main_db"] },
- "mysql-log": { "command": "npx", "args": ["...", "--database", "log_db"] }
- }
- }
复制代码
然后指示 Claude Code 用哪个:
Q3:MCP 工具列表在哪里找?
Anthropic 官方有一个 MCP 工具目录,GitHub 上也有社区维护的 awesome-mcp-servers 列表,收录了数百个工具。
━━━━━━━━━━━━━━━━━━━━
小结
今天学了 MCP 工具集成:
MCP 是标准协议,让 Claude Code 连接外部工具(数据库、浏览器、消息等)
配置在 settings.json 的 mcpServers 字段
Tool Search 提供懒加载,减少 85% 的 Token 消耗
安全原则:开发大胆用,生产只读权限,密码走环境变量
现在 Claude Code 不仅能在本地代码上工作,还能连接数据库、操作浏览器、调用外部服务。能力越来越强了。
但到目前为止,你跟 Claude Code 是一对一的关系——你下指令,它执行。如果一个大任务需要同时做好几件事呢?
明天 Day 7,我们聊子代理——让 Claude Code 自己带团队,并行执行多个任务。
━━━━━━━━━━━━━━━━━━━━
系列进度:6/10 |
|