共计 3044 个字符,预计需要花费 8 分钟才能阅读完成。
文章目录[显示]
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 工具在 .claude/settings.json 的 mcpServers 字段里配置。
配置结构
{
"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 用哪个:> 从 log 数据库查一下最近的错误日志
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