-
使用背景与概述
- 该项目实现了一个 MCP 服务器,能够通过标准化的接口向 LLM 客户端提供 Jira 数据、工具以及提示模板的访问能力,并支持可扩展的传输协议与 Prometheus 指标监控。
- 主要功能包括:读取 Jira 相关资源、注册并执行工具、以及提供和渲染用于对话的 Prompt 模板。服务器可通过多种传输方式与客户端通信,确保会话管理与能力声明的可扩展性。
-
主要功能点
- 资源与数据源管理:通过 Snowflake 数据库中的 Jira 表实现对 Jira 数据的查询与聚合,支持普通字段和时间戳字段的格式化与解析。
- 工具注册与执行:提供五个核心工具,涵盖 issues 列表、详情、项目汇总、链接检索和按冲刺查询等功能,供 LLM 调用以获得所需信息。
- 并发数据 enriched 处理:对标签、评论、链接、状态变更等多维数据进行并发提取与聚合,提升查询效率。
- Prometheus 指标(可选):可开启指标采集,监控工具调用、Snowflake 查询、并发处理以及连接情况等。
- 传输与通讯:支持基于 MCP 的多种传输协议(如 stdio、SSE、WebSocket 等),确保与不同客户端的无缝对接。
- 会话与资源清理:提供异步清理与资源回收,确保连接池、缓存及线程池等资源在退出时正确释放。
-
安装步骤
- 先决条件:Python 3.10 及以上、UV 包管理工具、Podman 或 Docker、可访问的 Snowflake 账户。
- 获取源码并安装依赖:将仓库克隆到本地并按照项目文档使用 UV 或 Makefile 进行依赖安装。
- 配置环境变量(示例要点,实际按项目 README 配置):
- Snowflake 连接相关参数(Base URL、数据库、Schema、Warehouse、账户等)
- MCP 传输方式(默认 stdio)、是否启用 Metrics、Metrics 端口等
- 启动服务器:执行入口脚本 src/mcp_server.py,通过配置的传输方式启动 MCP 服务器。 -(可选)启动并配置 Prometheus 指标服务,用于监控 MCP 工具使用和 Snowflake 查询等。
-
服务器配置(MCP 客户端需要的最小配置信息)
- 服务名称:jira-mcp-snowflake
- 启动方式(示例一,本地主机容器运行,stdio 传输)
- command: podman
- args:
- run
- -i
- --rm
- -e MCP_TRANSPORT=stdio
- -e SNOWFLAKE_CONNECTION_METHOD=api
- -e SNOWFLAKE_BASE_URL=https://your-account.snowflakecomputing.com/api/v2
- -e SNOWFLAKE_DATABASE=your_database
- -e SNOWFLAKE_SCHEMA=your_schema
- -e SNOWFLAKE_WAREHOUSE=your_warehouse
- -e SNOWFLAKE_TOKEN=your_token
- -e METRICS_PORT=8000
- localhost/jira-mcp-snowflake:latest
- 说明:以上配置示例展示了如何在本地容器中以 stdio 传输方式启动 MCP 服务器,并通过环境变量注入 Snowflake 连接信息和传输配置。实际应用中请替换为真实的 Snowflake 账户信息和镜像地址。
-
基本使用方法
- 通过 MCP 客户端连接到服务器后,可以使用以下核心工具进行查询与分析:
- list_jira_issues:按项目、关键词、日期范围、组件、版本等条件筛选 Jira 问题,返回简要的 issue 列表及元数据。
- get_jira_issue_details:按 Issue Key 列出多个问题的详细信息,包括标签、评论、链接、状态变更等。
- get_jira_project_summary:汇总各项目的 issue 数量、状态、优先级等统计信息。
- get_jira_issue_links:获取某个 Issue 的所有关联链接及关系描述。
- get_jira_issues_by_sprint:按 Sprint 名称检索该 Sprint 中的 Issue 列表及相关元数据。
- 与 MCP 的交互通常以 JSON-RPC 形式进行,请求工具时向服务传递适当参数即可获得结构化的 JSON 响应。
- 通过 MCP 客户端连接到服务器后,可以使用以下核心工具进行查询与分析:
-
运行与调试建议
- 使用容器化部署时,确保 Snowflake 接入所需的鉴权信息可用,并且 Snowflake API/连接方法配置正确。
- 如需性能监控,请开启 ENABLE_METRICS 并配置 METRICS_PORT,确保 Prometheus 客户端可访问。
- 如遇网络或权限问题,请检查 Snowflake 的账户、数据库、架构、仓库及凭据是否正确,以及 MCP 客户端对接时的传输参数。
-
使用示例(简要说明,非代码片段)
- 部署后,通过 MCP 客户端启动 jira-mcp-snowflake 服务,随后在客户端配置中指定服务器名称、启动命令及参数(以便客户端发送请求)。
- 使用 list_jira_issues 过滤条件检索 Jira 任务,使用 get_jira_issue_details 获取详细信息,使用 get_jira_project_summary 查看项目分布等。
信息
分类
网页与API