mcpField
J
jira-admin-mcp

jira-admin-mcp

本地服务
github.com/its-qusai-nasr生产力118 周前更新

关于 jira-admin-mcp

jira-admin-mcp 是面向 Jira Cloud 管理任务的 MCP 服务,提供覆盖问题、字段、工作流、权限、项目和批量操作的工具。干运行、共享方案检测和身份检查等防护措施适用于需要审慎执行管理变更的团队。

主要功能

  1. 01管理问题、项目和用户组
  2. 02维护自定义字段、权限和工作流
  3. 03创建及管理已保存的筛选器
  4. 04批量编辑问题和转换状态
  5. 05干运行预览写入操作
  6. 06检查共享方案并提供可操作错误

适用场景

  1. 01调整自定义字段的项目和问题类型范围
  2. 02检查共享权限方案后再修改
  3. 03批量转换问题类型或状态
  4. 04创建并共享 JQL 筛选器

MCP 相关

服务器通过 MCP 向客户端提供 Jira Cloud 管理工具,并使用 Jira Cloud REST API v3。客户端以 Atlassian 邮箱和 API token 配置连接。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"its-qusai-nasr-jira-admin": {
"command": "uvx",
"args": [
"jira-admin-mcp"
],
"env": {
"JIRA_BASE_URL": "<JIRA_BASE_URL>",
"JIRA_EMAIL": "<JIRA_EMAIL>",
"JIRA_API_TOKEN": "<JIRA_API_TOKEN>",
"JIRA_DRY_RUN": "<JIRA_DRY_RUN>"
}
}
}
}
启动命令uvx jira-admin-mcp
需要配置的环境变量
JIRA_BASE_URLJira Cloud base URL, e.g. https://your-company.atlassian.net
JIRA_EMAILAtlassian account email that owns the API token
JIRA_API_TOKEN密钥Atlassian API token (id.atlassian.com/manage-profile/security/api-tokens)
JIRA_DRY_RUNWhen true, simulate all write operations instead of executing them

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypijira-admin-mcp0.1.1

工具

还没有获取到工具列表

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

详细介绍

Jira Admin MCP 服务

PyPI version Python License: MIT CI MCP

一个 Model Context Protocol 服务,可为 AI 助手(Claude、Cursor、VS Code 或任何 MCP 客户端)提供 78 个专用工具,用于管理 Jira Cloud 站点——不仅可以读取和创建工单,还能处理幕后管理工作:自定义字段及其显示位置、权限方案、工作流、屏幕、问题类型方案、群组、项目角色、已保存的筛选器以及批量操作。

大多数 Jira MCP 服务都涵盖日常使用场景。这个服务专注于管理工作,并加入了安全保障措施(试运行模式、共享方案检测、修改群组前进行身份检查、提供可操作的错误信息),让 Agent 能够端到端地执行实际管理任务。

基于 FastMCP 构建。使用你自己的 Atlassian 邮箱和 API 令牌调用 Jira Cloud REST API v3。


快速开始

需要满足两个前提条件,均只需设置一次,而且很快就能完成:

  1. 一个 Atlassian API 令牌(它继承你的 Jira 权限,因此请使用具备所需访问权限的账户):在此创建。
  2. 已安装 uv(一行命令即可;它会为你管理 Python 和依赖项,无需虚拟环境)。

然后,使用一键按钮或适用于你的工具的一行命令添加此服务,并填写三个 JIRA_* 值。

Cursor

Add to Cursor

点击按钮,在 Cursor 中确认,然后打开 ~/.cursor/mcp.json(或 Cursor Settings -> MCP),并在 jira-admin 条目中设置 JIRA_BASE_URL、JIRA_EMAIL 和 JIRA_API_TOKEN。

Claude Code

一条命令(替换为你自己的三个值):

claude mcp add --scope user \
  --env JIRA_BASE_URL=https://your-company.atlassian.net \
  --env [email protected] \
  --env JIRA_API_TOKEN=your_api_token_here \
  --transport stdio jira-admin \
  -- uvx jira-admin-mcp

--scope user 会让它在每个项目中都可用;移除该参数即可仅添加到当前项目。使用 claude mcp list 检查。

VS Code

Install in VS Code Install in VS Code Insiders

安装后,在 .vscode/mcp.json(或你的用户级 mcp.json)中的 jira-admin 条目里设置 JIRA_* 值。

其他 MCP 客户端(手动)

将此代码块添加到客户端的 MCP 配置中:

{
  "mcpServers": {
    "jira-admin": {
      "command": "uvx",
      "args": ["jira-admin-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://your-company.atlassian.net",
        "JIRA_EMAIL": "[email protected]",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

想使用尚未发布的 main,而不是 PyPI 版本?将 "args": ["jira-admin-mcp"] 替换为 "args": ["--from", "git+https://github.com/its-qusai-nasr/jira-admin-mcp", "jira-mcp"]。

配置文件位置:Claude Desktop claude_desktop_config.json(macOS ~/Library/Application Support/Claude/,Windows %APPDATA%\Claude\);Cursor ~/.cursor/mcp.json;VS Code .vscode/mcp.json(注意:VS Code 使用顶层 "servers" 键,而不是 "mcpServers")。编辑后重启客户端;服务将显示为 jira-admin,并提供全部 78 个工具。

本地克隆(用于开发)
git clone https://github.com/its-qusai-nasr/jira-admin-mcp
cd jira-admin-mcp
uv sync                 # creates .venv and installs deps from uv.lock
cp .env.example .env    # then edit .env with your Jira credentials
uv run jira-mcp         # starts the server over stdio

配置

服务从环境变量中读取设置(通过上方的 env 块传入;或者在运行本地克隆时,从项目目录中的 .env 文件读取)。

变量必填描述
JIRA_BASE_URL是你的 Jira Cloud 基础 URL,例如 https://your-company.atlassian.net
JIRA_EMAIL是拥有 API 令牌的 Atlassian 账户邮箱
JIRA_API_TOKEN是从 https://id.atlassian.com/manage-profile/security/api-tokens 获取的 API 令牌
JIRA_DRY_RUN否true 会模拟所有写入操作(POST/PUT/DELETE),并返回将要发送的载荷,而不会调用 Jira。默认为 false。

提示: 首次使用时,可设置 JIRA_DRY_RUN=true。每个写入工具都会返回 {"dry_run": true, "would_call": ...} 预览,让你在允许 Agent 操作实时数据之前,先查看它打算执行的操作。


你可以提出的请求

连接后,助手可以执行以下操作:

  • “将 [email protected] 添加到 jira-developers 组。”
  • “将 Team 自定义字段的范围限制为仅限 ENG 和 OPS 项目,并应用于 Story 和 Bug 问题类型。”
  • “哪些项目共用权限方案 10789?我想编辑它,但不影响其他项目。”
  • “将 OPS 项目中的每个 Internal Task 都改为 Task 类型,然后将未完成的问题转换为 In Progress。”
  • “为分配给我的未解决 Bug 创建一个已保存的筛选器,并与开发者组共享。”
  • “显示 PROJ-123 的变更历史,并告诉我是谁重新打开了它。”

工具(共 78 个)

问题(12)
工具描述
jira_issues_search使用 JQL 搜索问题,支持分页
jira_issues_get根据键获取单个问题(摘要或完整详情)
jira_issues_create创建问题并指定项目、类型和字段
jira_issues_update更新现有问题的字段
jira_issues_transition转换为新状态(自动解析转换 ID)
jira_issues_assign分配或取消分配问题
jira_issues_get_transitions列出可用的工作流转换
jira_issues_get_createmeta获取创建问题所需的字段
jira_issues_delete永久删除问题
jira_issues_link创建两个问题之间的链接
jira_issues_get_changelog获取审计历史记录(谁更改了什么)
jira_issues_bulk_create批量创建最多 50 个问题
评论(2)
工具描述
jira_comments_list列出问题上的评论
jira_comments_add添加评论(纯文本会自动转换为 ADF)
用户(2)
工具描述
jira_users_search按邮箱或显示名称搜索
jira_users_get根据账户 ID 获取用户详情和所属组
组(6)
工具描述
jira_groups_list列出组及其成员数量
jira_groups_get_members获取组成员
jira_groups_add_user将用户添加到组
jira_groups_remove_user从组中移除用户
jira_groups_create创建新组
jira_groups_delete删除组
项目(10)
工具描述
jira_projects_list按名称/键筛选项目
jira_projects_get获取项目详情和问题类型
jira_projects_get_statuses按问题类型分组的所有状态
jira_projects_get_roles获取包含执行者(用户/组)的角色
jira_projects_update_role在项目角色中添加/移除执行者
jira_projects_get_versions列出项目中的版本/发行版
jira_projects_create_version创建新版本/发行版
jira_projects_get_features获取已启用/禁用的功能
jira_projects_get_notification_scheme获取通知方案
jira_projects_get_categories列出项目类别
权限(4)
工具描述
jira_permissions_list_schemes列出所有权限方案
jira_permissions_get_scheme获取包含所有授权的方案
jira_permissions_add_grant向方案添加权限授权
jira_permissions_assign_scheme为项目分配方案
自定义字段(12)
工具描述
jira_fields_search搜索字段名称,查找字段 ID
jira_fields_get_contexts获取自定义字段的上下文
jira_fields_get_options获取选择/下拉字段的选项
jira_fields_manage_options添加、更新或重新排序字段选项
jira_fields_create_context创建上下文,可选择限定到项目/问题类型
jira_fields_update_context重命名上下文或修改其描述
jira_fields_delete_context删除上下文及其选项
jira_fields_assign_context_projects将上下文限定到特定项目
jira_fields_remove_context_projects移除上下文的项目限定
jira_fields_add_context_issuetypes将上下文限定到特定问题类型
jira_fields_remove_context_issuetypes从上下文中移除问题类型
jira_fields_get_project_mapping审查每个上下文涵盖的项目
筛选器(10)
工具描述
jira_filters_search搜索已保存的 JQL 筛选器
jira_filters_create创建新的已保存 JQL 筛选器
jira_filters_get获取包含所有者和共享权限的筛选器
jira_filters_update更新名称/JQL/描述
jira_filters_delete永久删除筛选器
jira_filters_change_owner更改筛选器的所有者
jira_filters_get_shares列出筛选器的共享权限
jira_filters_add_share添加共享(需要拥有该筛选器)
jira_filters_remove_share移除共享权限
jira_filters_force_add_share为非本人所有的筛选器添加共享(通过交换所有者绕过限制)
问题链接、状态(2)
工具描述
jira_issue_link_types_list列出可用的链接类型(Blocks、Relates 等)
jira_statuses_search搜索此实例中的状态
工作流(8)
工具描述
jira_workflows_search按名称搜索工作流
jira_workflows_get_schemes列出工作流方案
jira_workflows_get_scheme_mappings问题类型到工作流的映射
jira_workflows_get_scheme_project_usages列出使用某方案的项目(共享方案安全检查)
jira_workflows_set_scheme_issuetype将问题类型映射到工作流
jira_workflows_delete_scheme_issuetype移除问题类型的工作流映射
jira_workflows_create_scheme_draft创建可编辑的方案草稿
jira_workflows_publish_scheme_draft发布方案草稿,使其生效
问题类型、屏幕(6) | 工具 | 描述 | |---|---| | `jira_issuetypes_list` | 列出问题类型(可按项目筛选) | | `jira_issuetypes_get_schemes` | 列出问题类型方案 | | `jira_issuetypes_get_scheme_mappings` | 列出方案中的问题类型 | | `jira_screens_list` | 列出屏幕 | | `jira_screens_get_fields` | 获取屏幕标签页上的字段 | | `jira_screens_get_schemes` | 列出屏幕方案 |
批量操作、任务(4)
工具描述
jira_bulk_edit_issues批量编辑多个问题的字段
jira_bulk_transition_issues批量将问题转换为新状态
jira_tasks_get_status按 ID 查询通用任务或批量队列任务的状态
jira_tasks_cancel请求取消通用异步任务

设计说明

  • 整合,而非封装 - 提供 78 个面向工作流的工具,而非逐一镜像每个 REST 端点。
  • 试运行 - JIRA_DRY_RUN=true 会让所有写入操作返回模拟数据。
  • 响应过滤 - 移除 self、_links、avatarUrls 等冗余内容,让 Agent 只看到有用字段。
  • 详情级别 - 读取工具接受 detail="summary"(默认值)或 detail="full"。
  • 自动包装 ADF - 注释和描述中的纯文本会自动转换为 Atlassian Document Format。
  • 转换解析 - jira_issues_transition 会自动将状态名称解析为转换 ID。
  • 可操作的错误 - 错误消息会说明问题所在以及接下来可以尝试什么。
  • 令牌认证范围 - 有意不封装 webhook 端点(/webhook);Atlassian 将其限制为 Connect / OAuth 2.0 应用,而令牌认证无法满足这一要求。

本地测试

使用 MCP Inspector 交互式检查并调用工具:

npx @modelcontextprotocol/inspector uvx --from . jira-mcp

运行单元测试(不会进行网络调用):

uv sync --extra dev
uv run pytest
uv run ruff check .

安全

  • 切勿提交凭据。 .env 已加入 git 忽略;请使用客户端配置中的 env 块或操作系统的密钥管理器。
  • 遵循最小权限原则。 API 令牌以你的 Jira 用户身份运行。请使用权限范围仅包含所需内容的账户,尤其是用于写入/管理工具时。
  • 从试运行开始。 JIRA_DRY_RUN=true 可让你在正式执行前检查每项预期写入操作。
  • 请参阅官方的 MCP 安全最佳实践。

贡献

欢迎提交问题和 PR。请参阅 CONTRIBUTING.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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