mcpField
J
JIRA MCP Server (Async)

JIRA MCP Server (Async)

本地服务
github.com/judexzhu版本控制212 周前更新

关于 JIRA MCP Server (Async)

JIRA MCP Server (Async) 是一个通过 stdio 管理 JIRA 问题的异步 MCP 服务,支持 Atlassian Cloud 和 Server/DC。它提供问题搜索、更新、流转和创建等工具。

主要功能

  1. 01使用 JQL 搜索问题
  2. 02读取问题详情和评论
  3. 03创建和更新问题
  4. 04推动问题进行工作流流转
  5. 05支持 Cloud 和 Server/DC
  6. 06请求限流并处理速率限制

适用场景

  1. 01查找符合 JQL 条件的问题
  2. 02查看问题详情及关联评论
  3. 03创建或更新 JIRA 问题
  4. 04推动问题完成工作流转换

MCP 相关

该服务通过 stdio 向 MCP 客户端提供六种 JIRA 问题管理工具和两个提示词模板,支持 Atlassian Cloud 与 Server/DC 实例。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

JIRA MCP 服务(异步)

Python 3.13+ MCP Compatible UV

一个通过 stdio 传输方式集成 JIRA 的异步 Model Context Protocol(MCP)服务。支持 Atlassian Cloud 和 Server/DC 实例。

MCP 工具

6 个工具覆盖完整的问题生命周期,另有 2 个提示词模板:

工具描述关键参数
jira_search_issues使用 JQL 搜索问题(分页)jql、max_results、start_at
jira_get_issue获取问题详情、评论和链接;可选获取子任务和工作流转换issue_key、include_subtasks、include_transitions
jira_create_issue创建新问题project_key、summary、description、issue_type_name
jira_update_issue更新现有问题的字段,可选添加评论issue_key、summary、description、assignee、priority、labels、comment
jira_transition_issue通过工作流转换推进问题issue_key、transition_id、comment
jira_get_create_meta创建问题前获取必填字段和允许值project_key、issue_type

功能

  • Cloud + Server/DC:通过 JIRA_USER_EMAIL 环境变量自动检测部署类型
  • 令牌优化:转换 API 响应,使令牌数量减少 40-60%
  • ADF 支持:读取和写入 Atlassian Document Format(Cloud v3)
  • 连接池:使用 aiohttp,池大小可配置
  • 速率限制:内置限流,在遇到 429 时采用指数退避
  • 易于测试:可通过 _set_client() 注入客户端,可为 HTTP 级测试注入会话,包含 113 个单元测试

设置

先决条件
  • Python 3.13+
  • uv 包管理器
  • JIRA API 令牌
安装
git clone https://github.com/judexzhu/mcp-jira.git
cd mcp-jira
uv sync
cp config.env.example .env
# Edit .env with your JIRA credentials
环境变量
变量描述默认值必填
JIRA_SERVER_URLJIRA 实例 URL—是
JIRA_API_TOKENJIRA API 令牌—是
JIRA_USER_EMAIL用于 Cloud Basic Auth 的邮箱(启用 Cloud 模式)—仅 Cloud
MAX_CONCURRENT_REQUESTS最大并发请求数和速率限制(请求/秒)2否
REQUEST_TIMEOUTHTTP 请求超时(秒)30否
CONNECT_TIMEOUTHTTP 连接超时(秒)10否
LOG_LEVEL日志级别ERROR否
LOG_TO_STDOUT启用 stdout 日志记录(会破坏 MCP stdio)false否
Claude Desktop

将以下内容添加到 Claude Desktop MCP 配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "jira": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-jira", "python", "jira_mcp_server.py"],
      "env": {
        "JIRA_SERVER_URL": "https://your-company.atlassian.net",
        "JIRA_API_TOKEN": "your_api_token",
        "JIRA_USER_EMAIL": "[email protected]"
      }
    }
  }
}
Claude Code

将以下内容添加到 Claude Code MCP 设置中(.claude/settings.json 或全局 ~/.claude/settings.json):

{
  "mcpServers": {
    "jira": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-jira", "python", "jira_mcp_server.py"],
      "env": {
        "JIRA_SERVER_URL": "https://your-company.atlassian.net",
        "JIRA_API_TOKEN": "your_api_token",
        "JIRA_USER_EMAIL": "[email protected]"
      }
    }
  }
}

也可以通过 CLI 添加:

claude mcp add jira \
  -e JIRA_SERVER_URL=https://your-company.atlassian.net \
  -e JIRA_API_TOKEN=your_api_token \
  -e [email protected] \
  -- uv run --directory /path/to/mcp-jira python jira_mcp_server.py

或者,省略 -e 标志,并将凭据放入 mcp-jira 目录中的 .env 文件;load_dotenv() 会自动加载这些凭据。

测试

# Unit tests (no credentials needed)
uv sync --group dev
uv run pytest tests/ -v

架构

核心由两个文件组成:

  • jira_mcp_server.py — 6 个 MCP 工具函数和 2 个提示词模板,每个都只是一个委托给客户端的薄封装
  • jira_client.py — AsyncJiraClient,包含 JiraClientProtocol 接口、_CloudFormat/_ServerFormat 适配器、身份验证、连接池、速率限制、重试和响应转换

通过是否存在 JIRA_USER_EMAIL 来检测 Cloud 或 Server/DC。设计原因请参阅 docs/adr/0001-cloud-detection-via-email.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。