news 2026/6/2 3:57:13

第二十二篇:使用MCP Server打造“外部连接”:从数据库到Jira、Slack全打通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第二十二篇:使用MCP Server打造“外部连接”:从数据库到Jira、Slack全打通

📌标签#MCP#集成#实战案例#外部工具

仅凭 Claude Code 本身就已经相当强大,但在装上 MCP 之后,它的能力会得到一次质的飞升——可以直接连接数据库、管理 Jira 工单、向 Slack 发送通知,以及和整个开发工具链无缝协同。目前有不少现成的 MCP 服务器可以直接使用。这一篇将完整演示如何把真实的外部工具接入 Claude Code,让 AI 真正融入你的日常开发工作流。


1. MCP Server 是什么?

MCP(Model Context Protocol,模型上下文协议)是一个专门为 AI 工具连接外部数据源和服务设计的开放标准。AI 助手可以借助 MCP 服务器实现以下功能:

  • 从 Google Drive 读取文档
  • 更新和查询 Jira 工单
  • 从 Slack 获取消息和上下文
  • 直接在本地连接 PostgreSQL、MySQL 等数据库
  • 通过浏览器实现自动化操作
  • 与团队自建的各种内部工具对接

MCP 服务器在运行时会暴露工具、资源和提示词,Claude Code 会根据具体任务自主决定何时调用哪个 MCP 工具。


2. 配置 MCP Server 的三种方式

在 Claude Code 中连接 MCP 服务器,主要有三种方式。建议按需选择:

方式一:CLI 命令(最快)

这是最简洁直接的方式,适合快速添加。

# stdio 传输(用于本地命令行工具)claude mcpaddslack-webhook-tstdio -- npx-y@agentuse/mcp-slack-webhook# HTTP 传输(用于远程服务)claude mcpadd--transporthttp pgmcplocal http://localhost:3000/mcp

CLI 添加的服务器会自动写入settings.json文件,也可以用claude mcp remove <server-name>来移除。

方式二:直接编辑 settings.json(最灵活)

适合需要精确控制配置、设置工作目录或引用环境变量的场景。

项目级配置:存放在.claude/settings.json(推荐,可随项目共享)
用户级配置:存放在~/.claude/settings.json(全局生效)

{"mcpServers":{"jira":{"command":"npx","args":["-y","jira-rest-mcp-server"],"env":{"JIRA_BASE_URL":"${JIRA_BASE_URL}","JIRA_EMAIL":"${JIRA_EMAIL}","JIRA_API_TOKEN":"${JIRA_API_TOKEN}"}}}}

各字段含义如下:

  • command:指定要运行的可执行文件(必需)
  • args:传递给命令的参数数组
  • env:传递给服务器的环境变量
  • cwd:设置服务器的工作目录
  • transport:传输类型,支持stdio(默认)和http

方式三:使用 Agent SDK

通过编程方式集成,适合需要更灵活调用的场景。


3. 实战一:连接 PostgreSQL 数据库

通过 MCP 服务器让 Claude Code 直接查询数据库,是最能体现 MCP 实际价值的场景之一。

选择一:使用 pg-mcp(推荐,只读模式)

这款服务器实现的是只读访问INSERTUPDATEDELETE等写入操作在到达数据库之前就会被阻断,天然适合 AI 查询,无需担心数据安全问题。

配置步骤

# 1. 全局安装npminstall-g@mir1198yusuf/pg-mcp# 2. 首次运行会进入交互式配置(设置端口、添加数据库连接)pg-mcp# 3. 添加 MCP server 到 Claude Codeclaude mcpadd--transporthttp--scopelocalpgmcplocal http://localhost:3000/mcp

之后打开浏览器访问http://localhost:3000/ui可以添加和管理更多数据库连接。⚠️ 安全提醒~/.pg-mcp/dbs.json中包含数据库明文凭证,切勿提交或对外分享。不要在公网服务器上运行这个服务器。

使用示例

Claude Code > 列出所有已配置的数据库 [调用 list_dbs 工具] Claude Code > 查询 orders 表最近的 10 条订单记录

选择二:使用 @passionfroot/postgres-mcp(Prisma 集成)

如果项目中使用了 Prisma,这个服务器能带来更好的体验。它会合并实时数据库和 Prisma schema,让 AI 不仅能看到原始的数据库结构,还能理解模型名、字段映射和表之间的关联关系。

配置方式:创建postgres-mcp.toml配置文件,添加数据库源。

# 可选:关联 Prisma schema # prisma_schema_path = "~/work/myproject/prisma/schema.prisma" [[sources]] id = "production" dsn = "postgres://user:pass@db-host:5432/mydb?sslmode=require" readonly = true

使用示例

Claude Code > 搜索与 User 模型相关的所有表 [调用 search_objects 工具] Claude Code > 执行 SQL 查询分析订单状态的分布情况

4. 实战二:Jira —— 让 AI 管理你的工单

让 Claude Code 直接操作 Jira,可以省去在开发环境和浏览器之间反复切换的成本。

前置准备

  1. 获取 Jira API Token:访问 https://id.atlassian.com/manage-profile/security/api-tokens,点击Create API token,并立即复制保存。
  2. 准备关键信息:Jira 实例的 base URL、你的登录邮箱、上一步获取的 API Token。

推荐方案:使用jira-rest-mcp-server

相比官方的 Atlassian SSE 端点,jira-rest-mcp-server的连接更稳定,不会因为认证丢失而导致 API 调用失败。

配置步骤

创建.claude/settings.local.json(加入.gitignore防泄露):

{"env":{"JIRA_BASE_URL":"https://your-domain.atlassian.net","JIRA_EMAIL":"your-email@example.com","JIRA_API_TOKEN":"your-api-token"}}

然后在.claude/settings.json中添加:

{"mcpServers":{"jira":{"command":"npx","args":["-y","jira-rest-mcp-server"],"env":{"JIRA_BASE_URL":"${JIRA_BASE_URL}","JIRA_EMAIL":"${JIRA_EMAIL}","JIRA_API_TOKEN":"${JIRA_API_TOKEN}"}}}}

使用示例

Claude Code > 查询分配给 @sarah 且状态为 In Progress 的 issue Claude Code > 在 PROJ-123 下面加一条评论:代码已提交至 PR #456,等待 Code Review Claude Code > 把 ISSUE-456 的状态从 In Progress 更新为 In Review Claude Code > 当前 sprint 里有哪些还未被指派的 bug?

备选方案:使用mcp-jira-stdio

这款服务器可以通过一条 CLI 命令快速完成配置:

claude mcpaddjira npx mcp-jira-stdio@latest\--envJIRA_BASE_URL=https://yourcompany.atlassian.net\--envJIRA_EMAIL=your-email@example.com\--envJIRA_API_TOKEN=your-api-token

执行后服务器即自动配置完成,无需额外编辑配置文件。


5. 实战三:Slack —— 让 AI 自动推送消息

Slack 集成有两种典型路径:单向通知(Webhook)和完整交互。

路径一:Slack Webhook(仅发送,最简单)

前置准备:在 Slack API 中创建应用,启用 Incoming Webhooks,生成一个指向特定频道的 webhook URL。

配置方法

{"mcpServers":{"slack-webhook":{"command":"npx","args":["-y","@agentuse/mcp-slack-webhook"],"env":{"SLACK_WEBHOOK_URL":"https://hooks.slack.com/services/YOUR/WEBHOOK/URL"}}}}

使用示例

Claude Code > 使用 send-message 向 #alerts 频道发送一条消息:构建失败,请检查。 [支持文本或 Block Kit 富文本格式]

路径二:完整 Slack 集成

通过 Composio 等平台实现认证,让 Claude Code 读取消息、管理频道、操作表情和提醒。

快速接入步骤

  1. 将 Composio MCP 添加到 Claude
  2. 启动 Claude Code
  3. 打开 MCP 列表,选择 Composio 并完成认证

更多能力

  • 发送消息到指定频道,或设置自然语言定时提醒
  • 管理表情和反应,归档不再活跃的频道
  • 添加 Google Drive 等外部文件共享链接

6. 其他实用的 MCP Server

类别推荐 Server功能说明
代码协作GitHub / GitLab搜索代码、PR 审查、创建 issue、管理仓库
项目管理Jira / Linear / Asana查询/创建/更新工单、管理冲刺
监控告警Sentry / Datadog查询错误信息、分析性能数据、获取告警
设计工具Figma读取设计稿、提取设计 token、生成代码
文档查询Context7 / Brave Search获取最新的 API 文档、联网搜索
浏览器自动化Playwright网页截图、填写表单、执行 JavaScript

7. 多个 MCP Server 串连的实战工作流

把多个 MCP Server 组合起来使用,可以实现开发工作流的端到端自动化。你可以一次性输入下面这种复合指令,让 Claude Code 自主规划并依次调用对应的 MCP 工具:

帮我检查刚刚 push 的 commit 在 GitHub 上的 CI 状态: - 如果通过,在 Jira 上将对应的 ticket 移到 QA 列,并在 #deployments Slack 频道发一条成功通知 - 如果失败,去 Sentry 查询相关错误,整理关键信息发到 #alerts 频道,同时在 Jira ticket 上添加一条包含失败原因的评论

8. 验证、管理及故障排查

验证服务器状态

在 Claude Code 会话中输入/mcp,可以查看已连接的服务器和可用的工具列表。

常用管理命令

命令作用
claude mcp list列出所有已添加的服务器
claude mcp remove <name>移除指定的服务器
claude mcp add-from-claude-desktop从 Claude Desktop 导入已有配置

常见问题

问题可能原因解决方法
/mcp看不到工具服务器未正确启动运行claude mcp list确认状态,检查服务器进程是否正常运行
工具调用返回认证错误API Token 失效或权限不足重新生成 API Token,更新配置文件中的对应变量
stdio 通信失败服务器代码中意外使用了console.logstdio 模式下 stdout 需严格保留给 JSON-RPC 协议;移除多余的console.log

9. 安全与成本建议

安全性

  1. 凭证保护:使用.claude/settings.local.json并加入.gitignore,或用${VAR}语法引用环境变量
  2. 只读优先:对生产数据库优先选择只读 MCP 服务器
  3. 本地运行:数据库 MCP 服务器只在本地运行,不要暴露到公网
  4. 审计日志:记录关键操作,便于追踪

成本管理

  • MCP Server 会调用外部 API(如 GitHub、Jira),可能产生额外费用
  • MCP 工具返回的大块数据(如数据库查询结果、API 响应)会进入上下文,被计入 token
  • 在提示词中建议 AI 精简 MCP 返回结果,定期用/cost监控额外开销

10. 下篇预告

MCP 把 Claude Code 和外部世界连接了起来。但如何让 AI 记住“你是如何在终端里构建这个项目的”?——测试命令、编译指令、项目模式。下一篇我们将学习跨会话项目记忆,让 AI 不再每次都需要你重新告诉它你的习惯。

👉下一篇:跨会话项目记忆:让AI自动记住你的测试命令、编译指令和项目模式


思考题(自测理解)

  1. 如果要让 Claude Code 分析 Sentry 中过去 24 小时的错误,并针对每个错误在 GitHub 上创建对应的 Issue,需要用到哪几个 MCP Server?这些服务器的工作流程如何串联?
  2. stdio 与 HTTP 两种传输模式分别适合哪些场景?本地数据库应该选用哪一种?
  3. 使用只读模式的 PostgreSQL MCP Server 相比允许写操作的普通数据库连接,在什么情境下会更有优势?

MCP 把门打开了,但学会让它记住你的习惯,才能成为真正的开发伙伴。下一章,我们聊聊 AI 的长期记忆。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 3:57:05

Linux TCP 和 UDP 通信

TCP与UDPTCP与UDP对比TCP特点&#xff1a;面向连接、可靠传输、流量控制、拥塞控制、全双工优点&#xff1a;可靠性&#xff08;ACK确认、超时重传&#xff09;、顺序性缺点&#xff1a;首部开销大&#xff08;20字节&#xff09;、连接管理复杂、延迟高应用场景&#xff1a;HT…

作者头像 李华
网站建设 2026/6/2 3:55:21

如何通过低成本创新架构实现家庭机器人智能控制突破

如何通过低成本创新架构实现家庭机器人智能控制突破 【免费下载链接】XLeRobot XLeRobot: Practical Dual-Arm Mobile Home Robot for $660 项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot XLeRobot是一个开源的家庭双臂移动机器人平台&#xff0c;以仅660…

作者头像 李华
网站建设 2026/6/2 3:54:27

UE5 C++ 游戏模式配置全攻略:告别蓝图,从零手写你的第一个GameMode

UE5 C 游戏模式配置全攻略&#xff1a;告别蓝图&#xff0c;从零手写你的第一个GameMode当你第一次在虚幻引擎中创建游戏模式时&#xff0c;蓝图无疑是快速上手的绝佳选择。但当你需要更高效、更灵活的控制&#xff0c;或者想要深入理解引擎底层机制时&#xff0c;C实现就成为了…

作者头像 李华