项目简介

Jira MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端应用,旨在作为Atlassian Jira与支持MCP协议的LLM客户端(如某些AI助手或IDE插件)之间的桥梁。它允许通过标准化的接口与您的Jira数据进行交互,使LLM能够理解Jira上下文、执行相关操作。

主要功能点

这个服务器提供了一系列能力,允许AI助手等客户端与您的Jira实例互动:

  • 搜索Jira任务: 使用Jira查询语言 (JQL) 查找符合特定条件的任务。
  • 获取任务详情: 获取某个具体Jira任务的详细信息,包括评论等。
  • 更新Jira任务: 修改现有Jira任务的字段信息。
  • 获取状态转换: 查看某个Jira任务当前可用的状态转换选项。
  • 转换任务状态: 将Jira任务的状态变更为下一个阶段(例如,从“待办”变为“进行中”)。
  • 搜索Jira用户: 查找您Jira实例中的用户。
  • 分配任务: 将一个Jira任务指派给特定用户。

这些功能作为“工具”暴露给MCP客户端,LLM可以根据用户指令选择并调用适当的工具来执行操作。

安装步骤

最推荐且简便的安装方式是使用Docker。您需要先安装 Docker 和 Docker Compose。

  1. 获取 Docker 镜像: 拉取项目预构建好的Docker镜像。通常会选择 SSE 或 Stdio 模式的镜像。例如,拉取SSE模式镜像:

    docker pull ghcr.io/noxfr/jira-mcp-sse:latest

    或 Stdio 模式镜像:

    docker pull ghcr.io/noxfr/jira-mcp-stdio:latest
  2. 配置并启动服务器: 创建一个 'docker-compose.yml' 文件来配置和运行服务器。您需要提供您的 Jira 实例URL、邮箱以及 API Token 作为环境变量。

    以下是一个使用 SSE 模式镜像的 'docker-compose.yml' 示例:

    services:
      jira-mcp-server:
        image: ghcr.io/noxfr/jira-mcp-sse:latest
        ports:
          - "3001:3001" # 根据需要调整端口映射
        environment:
          - JIRA_URL=https://your-instance.atlassian.net # 替换为您的Jira实例URL
          - [email protected] # 替换为您的Jira注册邮箱
          - JIRA_PAT=your_jira_api_token # 替换为您的Jira API Token (推荐使用PAT而非密码)

    如果您选择 Stdio 模式镜像,'docker-compose.yml' 会有所不同,但更常见的是直接在MCP客户端配置中使用 'docker run' 命令来启动 Stdio 服务器(见下一节的客户端配置说明)。

    保存 'docker-compose.yml' 后,在同一目录下运行:

    docker-compose up

    服务器将在Docker容器中启动。

服务器配置 (供MCP客户端使用)

Jira MCP 服务器启动后,您需要在支持MCP的LLM客户端(如某些IDE或AI助手设置)中配置如何连接到它。配置信息通常是JSON格式,包含服务器的名称、连接方式(URL或启动命令)及参数。

根据您选择的服务器模式配置:

  1. HTTP (SSE) 模式: 如果服务器作为独立Web服务运行(如上面的docker-compose示例),客户端需要配置一个HTTP/SSE URL。 客户端配置中需要指定一个服务器名称(例如 '"mcp-kotlin-jira-server"')和一个 'url' 字段,指向服务器的SSE端点,例如 'http://127.0.0.1:3001/sse' (如果服务器运行在本地3001端口)。

  2. Stdio 模式: 如果使用 Stdio 模式,客户端需要配置一个启动服务器进程的命令和其参数。 客户端配置中需要指定一个服务器名称(例如 '"mcp-kotlin-jira-stdio"')、一个 'command' 字段(例如 '"docker"')和一个 'args' 字段(一个字符串数组,包含传递给命令的参数)。'args' 数组中通常包含运行Docker容器的参数,如 '"run"', '"--rm"', '"-i"', 必要的环境变量 ('"-e JIRA_URL"', '"-e JIRA_EMAIL"', '"-e JIRA_PAT"') 以及 Stdio 模式的 Docker 镜像名称 ('"ghcr.io/noxfr/jira-mcp-stdio:latest"'). 此外,客户端配置中还需要在 'env' 字段下提供实际的Jira连接环境变量值 ('JIRA_URL', 'JIRA_EMAIL', 'JIRA_PAT')。

    重要: 在进行客户端配置时,请将配置示例中的占位符(如URL、邮箱、API Token)替换为您实际的Jira连接信息。这些信息需要安全保管,不应公开。

基本使用方法

一旦MCP客户端成功连接并配置了Jira MCP服务器,您就可以通过与客户端集成的LLM进行交互,以自然语言的方式请求对Jira进行操作。例如:

  • 告诉AI助手:“帮我在项目 'MYPROJ' 中搜索所有状态为 '待处理' 且由我分配的任务。” (AI可能会调用 'search_issues' 工具)
  • 对AI助手说:“获取任务 'MYPROJ-123' 的详细信息。” (AI可能会调用 'get_issue' 工具)
  • 请AI助手执行:“将任务 'MYPROJ-456' 的状态变更为 '进行中'。” (AI可能会调用 'get_transitions' 和 'transition_issue' 工具)
  • 让AI助手帮助:“将任务 'MYPROJ-789' 分配给用户 'john.doe'。” (AI可能会调用 'get_users' 和 'assign_issue' 工具)

LLM将解析您的请求,识别意图,并使用配置好的Jira MCP服务器提供的工具来执行相应的Jira API调用,然后将结果或操作状态反馈给您。

信息

分类

开发者工具