• 使用背景与概述

    • 该项目实现了一个 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 响应。
  • 运行与调试建议

    • 使用容器化部署时,确保 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