Jira MCP服务器

一个容器化的Python MCP服务器,为Cursor提供Jira访问功能。

  • by redhat-community-ai-tools
  • Python
  • 混合部署
  • 17 星标
  • 更新于
在 GitHub 查看 redhat-ai-tools/jira-mcp

使用说明

红帽人工智能工具/jira mcp

一个容器化的Python MCP服务器,用于Cursor提供对Jira的访问。

[!重要] 这个项目是实验性的,最初是作为学习练习而创建的。 请注意,有更多功能强大、成熟的Jira MCP解决方案可供选择, 例如 索珀塞特/mcp澳大利亚, 以及Atlassian自己的 MCP 服务器.

另请参阅 红帽ai工具/jira mcp雪花 这提供了访问Red Hat Jira数据的另一种方式。

快速开始

  1. 准备Jira令牌

  2. 配置光标

    • 在游标中,转到“设置”、“工具和集成”,然后单击“新建MCP服务器”
    • 粘贴以下JSON(或仅插入 jiraMcp 物体下面 mcpServers 键)。
    • 更新 "/path/to/your/dotenv/file.env" 指向步骤1中的文件。
    • 保存
{
  "mcpServers": {
    "jiraMcp": {
      "command": "podman",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env-file",
        "/path/to/your/dotenv/file.env",
        "quay.io/sbaird/jira-mcp:latest"
      ],
      "description": "A containerized MCP server to query Jira issues"
    }
  }
}

快速入门(面向开发人员)

  1. 先决条件

    • 潜艇 -安装时使用 sudo dnf install podman (Fedora/RHEL)或 brew install podman (macOS)
    • 年 -安装时使用 sudo dnf install yq (Fedora/RHEL)或 brew install yq (macOS)
    • 做 -通常预装在大多数系统上
  2. 获取代码

git clone git@github.com:redhat-ai-tools/jira-mcp.git
cd jira-mcp
  1. 构建图像并配置光标
    这也创造了一个 ~/.rh-jira-mcp.env 类似文件 这.
make setup
  1. 准备Jira令牌

  2. 决定是否启用写入操作

允许您的MCP服务器对Jira进行编辑可能非常有用,但如果您在使用MCP工具时不小心,也会导致很多问题。 默认情况下,服务器已关闭写入操作。 如果要打开它,请编辑 .rh-jira-mcp.env 要设置的主目录中的文件 JIRA_ENABLE_WRITE=true.

  1. 检查它是否在Cursor中工作

要确认其工作正常,请运行Cursor,转到“设置”,然后单击“工具和集成”。在MCP工具下,如果满足以下条件,您应该看到启用了20个工具的“jiraMcp” JIRA_ENABLE_WRITE=false (默认值)或启用30个工具,如果 JIRA_ENABLE_WRITE=true.

与基于HTTP的MCP应用程序一起使用

如果您想将此MCP服务器与通过HTTP通信的应用程序一起使用,那么您需要使用基于HTTP的传输机制运行服务器。 以下是一个使用Streamable HTTP实现此操作的示例,Streamable HTTP是当前推荐的MCP基于HTTP的传输机制:

export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport http --port 3075

以下是一个使用SSE实现此操作的示例,SSE是一种已弃用的基于http的传输机制(例如,因为您有一个依赖于SSE的旧MCP客户端应用程序):

export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport sse --port 3075

对于Streamable HTTP或SSE,环境中的JIRA_API_KEY将被忽略(不需要)。这是一个重要的安全功能,否则任何人 有权访问HTTP服务的人将有权访问配置和运行该服务器的任何人的帐户信息。 相反,调用应用程序必须发送自己的Jira令牌作为Bearer令牌。以下是一个使用Llama Stack完成此操作的示例:

from llama_stack_client import LlamaStackClient

client = LlamaStackClient(base_url=LLAMA_STACK_URL)
mcp_llama_stack_client_response = client.responses.create(
    model=LLAMA_STACK_MODEL_ID,
    input="Tell me about RHAISTRAT-24.",
    tools=[
        {
            "type": "mcp",
            "server_url": JIRA_MCP_URL,
            "server_label": "Jira_tools",            
            "headers": {
                "Authorization": f"Bearer {JIRA_API_TOKEN}"
            }
        }
    ]
)

可用工具

此MCP服务器提供以下工具:

问题搜索和检索

  • get_jira -按密钥获取特定Jira问题的详细信息。
  • search_issues -使用JQL搜索问题

问题创建和管理

  • create_issue -创建一个新的Jira问题,包括摘要、描述、类型、优先级和受让人
  • update_issue -更新现有问题的摘要、描述、优先级或受让人
  • delete_issue -删除Jira问题(谨慎使用)

问题评论

  • get_issue_comments -获取Jira问题的所有评论
  • add_comment -为Jira问题添加评论
  • delete_comment -从Jira问题中删除评论

问题分配

  • assign_issue -将Jira问题分配给用户
  • unassign_issue -取消分配Jira问题

问题工作流和状态

  • transition_issue -将Jira问题转换为新状态(例如“进行中”、“完成”)
  • get_issue_transitions -获取Jira问题的可用转换

问题标签

  • add_issue_labels -为Jira问题添加标签
  • remove_issue_labels -从Jira问题中删除标签

项目管理

  • list_projects -列出所有项目
  • get_project -按键获取项目详细信息
  • get_project_components -获取项目的组件
  • get_project_versions -获取项目的版本
  • get_project_roles -获取项目的角色
  • get_project_permission_scheme -获取项目的权限方案
  • get_project_issue_types -获取项目的问题类型

董事会和Sprint管理

  • list_boards -列出所有板
  • list_sprints -列出板上的冲刺
  • get_sprint -按ID获取冲刺详细信息
  • get_sprints_by_name -按板的名称获取冲刺,可选择按状态筛选

用户管理

  • search_users -按查询搜索用户
  • get_user -按帐户ID获取用户详细信息
  • get_current_user -获取当前用户信息
  • get_assignable_users_for_project -获取项目的可分配用户
  • get_assignable_users_for_issue -获取问题的可分配用户

开发命令

  • make build -塑造形象
  • make run -运行容器
  • make clean -清理已构建的图像
  • make cursor-config -修改 ~/.cursor/mcp.json 安装此MCP服务器
  • make setup -构建映像、配置游标并创建 ~/.rh-jira-mcp.env 如果它不存在

故障排除

服务器未启动

  • 确认 make run 作品
  • 检查JIRA_API_TOKEN是否正确
  • 验证映像是否已成功构建 podman images jira-mcp
  • 转到Cursor底部窗格中的“输出”选项卡,从下拉列表中选择“MCP日志”,并检查其中的日志
  • (MacOS)jiraMcp显示在光标工具部分,但没有显示活动工具:
    • 编辑jiraMcp的args部分 mcp.json 文件中包含您的完整路径 .rh-jira-mcp.env 文件。
    • 例子: "~/.rh-jira-mcp.env", 到 "/Users/your_username/.rh-jira-mcp.env",

连接问题

  • 配置更改后重新启动Cursor
  • 检查Cursor的开发人员控制台是否有错误消息
  • 验证Jira URL是否可以从您的网络访问

许可证

该项目根据MIT许可证获得许可。看 许可证 文件以获取详细信息。