欢迎光临
我们一直在努力

第二十二篇:使用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 mcp add slack-webhook -t stdio — npx -y @agentuse/mcp-slack-webhook

# HTTP 传输(用于远程服务)
claude mcp add –transport http 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(推荐,只读模式)

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

配置步骤:

# 1. 全局安装
npm install -g @mir1198yusuf/pg-mcp

# 2. 首次运行会进入交互式配置(设置端口、添加数据库连接)
pg-mcp

# 3. 添加 MCP server 到 Claude Code
claude mcp add –transport http –scope local pgmcplocal 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,可以省去在开发环境和浏览器之间反复切换的成本。

前置准备

  • 获取 Jira API Token:访问 https://id.atlassian.com/manage-profile/security/api-tokens,点击 Create API token,并立即复制保存。
  • 准备关键信息: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 mcp add jira npx mcp-jira-stdio@latest \\
    –env JIRA_BASE_URL=https://yourcompany.atlassian.net \\
    –env JIRA_EMAIL=your-email@example.com \\
    –env JIRA_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 读取消息、管理频道、操作表情和提醒。

    快速接入步骤:

  • 将 Composio MCP 添加到 Claude
  • 启动 Claude Code
  • 打开 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.log stdio 模式下 stdout 需严格保留给 JSON-RPC 协议;移除多余的 console.log

    9. 安全与成本建议

    安全性

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

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

    10. 下篇预告

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

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


    思考题(自测理解)

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

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

    赞(0)
    未经允许不得转载:171主机测评 » 第二十二篇:使用MCP Server打造“外部连接”:从数据库到Jira、Slack全打通
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址