MCP 实战:给 Agent 接上 GitHub / 数据库 / 浏览器

MCP 实战:给 Agent 接上 GitHub / 数据库 / 浏览器
本文目录

上节我们讲了 MCP 是什么、为什么重要。今天我们讲怎么用——跟着本文,你能在 30 分钟内把 Claude(或 Cursor)接上 GitHub、PostgreSQL、Playwright 浏览器,让你的 Agent 能查仓库、查数据库、操作网页。

这 3 个 MCP Server 几乎是所有企业内部 Agent 的”标配”,学会它们,你就能应对 80% 的 Agent 工具集成场景。

一、为什么要把这 3 个工具集成在一起

在开始之前,先说一个真实场景——为什么这 3 个工具缺一不可:

假设你的团队要做”竞品监控 Agent”。这个 Agent 需要:

  • 每天自动跑一遍竞品网站(Playwright)
  • 把新内容存到数据库(PostgreSQL)
  • 把分析结果推到 GitHub 仓库,作为团队知识库(GitHub)

这三个动作必须连贯。如果你不会 MCP,得分别写 3 套集成代码;用 MCP,30 分钟搞定。这就是为什么 MCP 在企业 Agent 场景里几乎是必备技能。

接下来我们一个个讲怎么接。

二、准备工作:5 分钟装好 MCP Client

我们用 Claude Desktop 作为 MCP Client(也是目前最稳定的 MCP 客户端)。如果你偏好 Cursor、Windsurf 或其他工具,流程一样,只是配置文件路径不同。

步骤 1:装 Claude Desktop

从 [claude.ai/download](https://claude.ai/download) 下载,装好后用邮箱登录。新账号有 Pro 试用,够用。

步骤 2:找到 MCP 配置文件

Claude Desktop 的 MCP 配置在:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

如果文件不存在,新建一个。

步骤 3:准备 API key

后文用到的 MCP Server 需要这些 key:

  • GitHub:GitHub Personal Access Token(PAT),去 GitHub Settings → Developer settings → Personal access tokens → Tokens (classic) 生成。勾选 repo、read:org、read:user 等权限。
  • PostgreSQL:数据库连接字符串,如 postgresql://user:password@localhost:5432/mydb
  • Tavily(配合 Playwright 用):Web 搜索 API key,去 [tavily.com](https://tavily.com) 注册免费 1000 次/月。

把这些 key 存到环境变量,或者直接写在 MCP 配置的 env 字段。

到这里准备就绪。下面开始接工具。

三、实战 1:接 GitHub(查仓库、提 issue、看 PR)

GitHub MCP 是最常用的 MCP Server 之一,Anthropic 官方维护。装好后,你的 Agent 能:

  • 查仓库信息(描述、语言、stars)
  • 列 issue、PR、commits
  • 创建 issue、加评论
  • 看 workflow 状态

配置 MCP

claude_desktop_config.json 里加:

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_你的token"
}
}
}
}

重启 Claude Desktop。它会自动连接 GitHub MCP Server,在对话窗口你会看到左下角有个 “🔧 1 tool available” 提示——这就是 GitHub MCP 已经接好了。

测试用例

用例 1:查仓库信息

输入:帮我查一下 anthropics/anthropic-sdk-python 仓库的描述、最新 release、stars 数

Claude 会自动:

  1. 调用 GitHub MCP 的 get_repository 工具
  2. 拿到仓库信息后整理输出
  3. 给你可读的摘要

用例 2:列出我所有的 PR

输入:列出我最近一周在 [你的用户名] 名下所有仓库的 open PR

Claude 会调 list_pull_requests 工具,带过滤条件。

用例 3:查 issue

输入:查一下 [仓库名] 上所有 label 是 bug 的 open issue,按创建时间倒序排

Claude 会综合多个工具调用,把结果整理好。

用例 4:创建 issue

输入:给 [仓库] 提一个新 issue,标题是 [XXX],内容是 [YYY],labels 是 [bug, enhancement]

Claude 会调 create_issue,告诉你 issue URL。

这些用例展示了一个关键能力:Claude 不仅能”读”GitHub(查询信息),还能”写”GitHub(创建 issue、加评论)。这是普通 LLM 调用做不到的——通过 MCP,Agent 真正能改变外部系统。

四、实战 2:接 PostgreSQL 数据库

数据库是 Agent 工具集成最常见的场景。有了 PostgreSQL MCP,Agent 能:

  • 执行 SQL 查询
  • 看表结构
  • 分析数据
  • 生成报告

配置 MCP

{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/mydb"
}
}
}
}

⚠️ 安全提醒:连接字符串里包含数据库密码。生产环境建议用只读权限的数据库账号,或者通过 Unix socket / SSH 隧道连。永远不要给 Agent 写权限的数据库账号。

测试用例

用例 1:查表结构

输入:看一下 mydb 库里 customers 表的表结构,列出所有字段名、类型、是否可空

Claude 会调 list_tablesdescribe_table 工具。

用例 2:执行 SQL

输入:用 postgres MCP 查一下 customers 表的总行数、最近一周新增客户数、按注册来源分组的客户数前三名

Claude 会:

  1. 写出 SQL:SELECT COUNT() FROM customers; + SELECT COUNT() FROM customers WHERE created_at >= NOW() - INTERVAL '7 days'; + SELECT source, COUNT(*) FROM customers GROUP BY source ORDER BY 2 DESC LIMIT 3;
  2. 执行每条 SQL(注意,mcp server 通常一次执行一条)
  3. 把结果整合成可读的总结

整个过程你不需要懂 SQL——Claude 自己写并执行。

用例 3:数据可视化建议

输入:基于上面的查询结果,给我 3 个可视化建议,每个说明用什么图表、为什么

Claude 会基于数据给出图表建议(柱状图、折线图、饼图各适用什么场景)。

用例 4:更新数据(慎用)

输入:更新 customers 库 city='Beijing' 且 status='inactive' 的记录,把 status 改成 'reactivated',需要我确认再执行

Claude 会先调 SQL,但等你确认才执行。MCP 实现通常不允许 Agent 静默执行写操作,必须有”二次确认”步骤。这是一个安全机制,确保 Agent 不能随意改数据。

> 💡 生产建议:Agent 接入数据库,只读账号是底线。如果需要写操作,加事务、人工审核、回滚机制。Agent 一旦有写权限,出了 bug 可能批量改坏数据。

五、实战 3:接 Playwright 浏览器

Playwright MCP 让 Agent 能操作真实浏览器,做自动化测试、抓数据、模拟用户操作。

配置 MCP

{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-playwright"]
}
}
}

注意:Playwright MCP 不需要 API key,它只是开了一个浏览器会话。但首次启动会下载浏览器二进制,可能需要几分钟。

测试用例

用例 1:抓网页数据

输入:用 Playwright 打开 https://news.ycombinator.com,列出前 10 条新闻的标题、链接、分数

Claude 会:

  1. browser_navigate 打开页面
  2. browser_snapshot 拿到 DOM 结构
  3. 解析 DOM,提取数据
  4. 整理输出

用例 2:自动填表单

输入:打开 https://example.com/contact,填写 name 字段为 "张三",email 字段为 "test@example.com",message 字段为 "你好",提交前先给我看截图

Claude 会:

  1. 打开页面
  2. 截图给你看(确认初始状态)
  3. 依次填字段
  4. 每一步截图给你看
  5. 提交前最后截图,等你确认

整个表单填写过程是”可视化”的——你能看到每一步发生什么,出错了 Claude 会主动停下来。

用例 3:多步骤业务流程

输入:在 https://github.com 上搜索 "agent framework",找到 anthropic-sdk-python 仓库,点进去看 README,把 README 的前 5 段提取出来给我

Claude 会执行一连串操作:搜索、点击、滚动、提取。每一步都会验证,失败会重试或换策略。

Playwright MCP 的最大价值是给 Agent”看见”和”操作”真实网页的能力。对于做”竞品监控”、”自动测试”、”数据采集”的 Agent 来说,这是必备工具。

六、实战 4:多个 MCP Server 组合

单 MCP 强不是真强,组合起来才见威力。我们做个综合应用:

让 Claude 同时接入 GitHub + PostgreSQL + Playwright,完成一个”竞品监控 Agent”。

配置文件

{
"mcpServers": {
"github": { … },
"postgres": { … },
"playwright": { … }
}
}

任务示例

输入:帮我做一次竞品监控:

  1. 用 Playwright 打开 example.com/pricing,把页面截图和价格文本存到 PostgreSQL 的 competitor_data 表
  2. 查一下 PostgreSQL 里 competitor_data 表,有几条最近一周的数据,列出来
  3. 如果发现价格有变化,在 GitHub 我的 [用户名]/competitive-analysis 仓库提一个 issue,标题 "Pricing change detected"

这个任务涉及 3 个 MCP Server、多个工具调用、状态持久化、外部通知。一般开发者写需要 200+ 行代码,用 MCP 30 分钟就能跑通。

七、调试技巧:常见坑与解决方案

问题 1:MCP Server 启动失败

症状:Claude 启动后没看到 “🔧 tool available” 提示
原因:

  • 配置文件路径错
  • JSON 格式错(注意 JSON 不能有注释)
  • 缺少依赖(Node.js、Python 等)

修复:

  • 查配置文件路径
  • 在线 JSON validator 校验格式
  • 终端手动跑 npx -y @modelcontextprotocol/server-postgres,看错误信息

问题 2:工具调用成功但结果不返回

症状:Claude 调用工具,日志有调用记录,但 Claude 没拿到结果
原因:通常是 MCP Server 的 stdout 输出有问题,或者超时
修复:把 MCP Server 输出重定向到文件,查错误日志

问题 3:权限拒绝

症状:Claude 报 “permission denied”
原因:token、key、数据库账号权限不够
修复:去对应平台(GitHub、DB)检查权限设置

问题 4:Agent 不知道有什么工具可用

症状:Claude 不知道怎么调某个工具
原因:这个 MCP Server 的工具没列在对话上下文里
修复:重启 Claude Desktop,确保 MCP Server 正常加载

问题 5:Agent 反复调同一个工具

症状:死循环,Agent 不停调工具
原因:工具返回的结果”误导”了 Agent,或者 Agent 没意识到任务完成
修复:

  • 把任务描述写得更明确(“调 1 次就够”)
  • 加 “如果不成功,告诉我,不要重试” 这样的 prompt
  • 在工具描述里加上”什么时候该停止”

八、安全建议:Agent 的工具调用不是”无代价”的

接 MCP 让 Agent 强大,但也让 Agent 有了”破坏力”。几个必须遵守的安全原则:

原则 1:权限最小化

不要给 Agent “root/admin” 权限的账号。例如:

  • 数据库只给只读账号
  • GitHub 用细粒度 PAT,只勾选需要的权限
  • 文件系统只在指定目录读写

原则 2:二次确认

涉及写操作(创建/更新/删除)的事,应该:

  • 让 Agent 先描述”它要做什么”
  • 等用户确认再执行
  • 或者用审批工作流

原则 3:审计日志

所有 MCP 工具调用都应该记录日志,包括:

  • 谁、什么时候、调了哪个工具
  • 输入输出是什么
  • 持续保存,便于事后审查

原则 4:超时和限流

防止 Agent 跑死循环:

  • 每个工具调用都有超时(30s/60s)
  • 每个会话有最大调用次数限制
  • 监控异常模式(如 100 次工具调用/分钟)

这些不是”偏执”,而是 MCP 工具集成的”基本功”。在企业生产环境,合规和审计是绕不过去的门槛。

九、下一步

学完 MCP 实战,你的 Agent 已经能”用手脚”做真实的事了。接下来的几个方向:

方向 1:基于 MCP 构建自定义 Agent

不只 Claude Desktop,你可以用 LangGraph、AutoGen 框架构建自己的 Agent,把 MCP Server 接进去。这样你有完全控制权(可以加 prompt 优化、加多 Agent 协作、加业务逻辑)。

参考上一节的 LangGraph 教程,把 MCP 工具包注入 Agent:

from mcp import StdioServerParameters
# 把 GitHub MCP 加载为 LangChain 工具
github_tools = await load_mcp_tools("github", …)
agent = create_react_agent(model, […其他工具, …github_tools])

方向 2:自己开发 MCP Server

当你有内部工具想给 Agent 用,可以自己写 MCP Server 包一层:

  • Python:用 mcp SDK,100 行内能写一个
  • TypeScript:用 @modelcontextprotocol/sdk

下次我会单独写一篇”如何开发 MCP Server”的实战教程。

方向 3:企业级 MCP 平台

如果你所在的企业想统一管理 MCP Server,可以搭一个 MCP Hub,提供:

  • 工具目录(像 App Store)
  • 权限管理(谁能用哪个工具)
  • 使用监控(谁调用了多少次)
  • 成本分析

MCP 的生态才刚开始,机会很大。

十、写在最后:MCP 让 Agent 从”能对话”变成”能做事”

最后回顾一下今天的重点:

  • GitHub MCP——让 Agent 管理代码仓库、自动化 issue 工作流
  • PostgreSQL MCP——让 Agent 查数据库、做数据分析、生成报告
  • Playwright MCP——让 Agent 操作浏览器、抓数据、做自动化测试
  • 多 MCP 组合——让 Agent 完成跨系统的复杂任务

这 4 个 MCP 工具,你任何一个能熟练用,都能在企业内部做出能解决真实问题的 Agent。组合起来,你能做的就更多了。

下周我会写一篇”如何自己开发 MCP Server”的文章,把你的内部工具也变成 MCP,接入到 Claude 或自研 Agent 里。这一步走通,你的”AI 转型”才真正落到实处。

今天先把 3 个公开 MCP 跑通,体验”Agent 能做事”的快感。30 分钟后,你的 Claude 就能查 GitHub、查数据库、操作网页——这 3 个能力,几乎覆盖所有企业内部 Agent 场景。

附:MCP 价值的三层递进

走完上面 3 个 MCP 实战,你的 Agent 已经能”动手做事”了。但这只是 MCP 价值的第一层——背后还有更深的价值空间,值得你慢慢体会。

第一层:接工具

你刚开始做的是”接工具”——Claude 用上 GitHub MCP、数据库 MCP、浏览器 MCP。这种能力的价值是”让 Agent 能做事”,适用于个人提升效率,但不适合企业大规模生产。

第二层:接场景

下一层是”接场景”——你为一个具体业务场景接入一套 MCP(比如”销售场景”的 CRM MCP + Email MCP + 会议纪要 MCP + 客户画像 MCP)。这种能力的价值是”让 Agent 能跑通一个完整业务流”,适用于部门级自动化。

第三层:接生态

最高层是”接生态”——你帮企业构建一个 MCP 内部生态,所有内部工具都暴露为 MCP Server。这样做的好处是:

  • 不同 Agent 可以互联互通(销售 Agent 能调技术 Agent,财务 Agent 能调运营 Agent)
  • 新员工接 Agent 的成本降低(招新人不用学内部所有系统,只要跟 Agent 说话)
  • 工具复用率提升(一个 MCP Server 服务所有 Agent,避免重复造轮子)

这一层是 2026 年企业 AI 转型的”决战点”——谁能先建好 MCP 生态,谁就能先享受 Agent 时代红利。

这三个层级不是一次到位,是 1-3 年的渐进过程。个人/小团队做到第一层就足以效率翻倍;中型企业需要做到第二层;头部企业则必须在第三层布局。你现在做的事,从一开始就在为未来蓄能。

最后一句话:MCP 不只是”工具集成协议”,它是”Agent 时代的操作系统接口”。今天你接入 3 个 MCP,是理解这个接口的最好方式。1-2 年后回看,这 30 分钟的学习可能是你在 AI 时代最划算的一笔投资。

现在就去 Claude Desktop 装上 GitHub MCP,试试让 Claude 查一下你的某个仓库——体验”Agent 真正能动手做事”的感觉。这种体验一旦有了,你就回不去了。

(综合 Anthropic MCP 官方文档、Playwright MCP 文档、PostgreSQL MCP 文档、GitHub MCP Server 配置指南整理)

游客头像

龙主编

龙主编,AI智习室官方媒体主编。 专注 AI 行业观察与实操分享,擅长将复杂技术转化为通俗易懂的实战指南。 坚信 AI 不是取代人类,而是赋能每个人。 内容风格: 真实案例 + 详细干货 + 可操作性 使命: 让普通人也能抓住 AI 时代的红利。