冷蟊初退 孤灯野澜 志起鸡鸣 墓不悲秋 技术交流 软件开发 商业合作 加Q:411239339

Day 6 MCP 工具集成:AI 的万能插头

浏览:9次阅读
没有评论

共计 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.jsonmcpServers 字段里配置。

配置结构

{
  "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:用户反馈 " 我的订单列表显示为空 "。传统流程:

  1. 登录数据库客户端
  2. 手动写 SQL 查数据
  3. 回到代码里找接口
  4. 分析代码逻辑
  5. 修复
  6. 测试

用 Claude Code + MCP 的流程:

> 用户反馈订单列表为空。帮我查一下 user_id=12345 的订单数据在不在数据库里,> 然后看看 /api/orders 接口的代码逻辑,找出问题。

Claude Code 会:

  1. 通过 MCP 查询数据库,确认数据存在
  2. 读取接口代码,发现 where 条件写错了
  3. 修复代码
  4. 再查一次数据库验证修复

整个过程你只说了一句话。


安全注意事项

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

正文完
创作不易,扫码加点动力
post-qrcode
 0
果较瘦
版权声明:本站原创文章,由 果较瘦 于2026-03-29发表,共计3044字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。