返回市场
Jira-MCP-服务器

Jira-MCP-服务器

作者:pdogra12999 星标更新:2025-10-25

项目介绍

Jira MCP Server

npm 版本 许可证:MIT

这是一个用于与Jira API集成的模型上下文协议(MCP)服务器。该服务器使像Claude这样的AI助手能够与Jira Cloud实例进行交互,以管理问题、搜索、评论和工作流转换。

功能

  • 问题管理:获取、创建、更新和分配具有自定义字段支持的Jira问题
  • JQL搜索:使用Jira查询语言搜索问题
  • 评论:添加和检索问题上的评论(支持提及和链接)
  • 工作流:获取可用的转换并更改问题状态
  • 元数据发现:获取项目字段的要求和允许值
  • 用户搜索:通过电子邮件或姓名查找用户以进行分配
  • 项目:列出所有可访问的项目
  • API令牌认证:使用电子邮件+API令牌进行安全认证

安装

使用npm(推荐)

npm install -g @nexus2520/jira-mcp-server

从源码安装

  1. 克隆仓库

    git clone https://github.com/pdogra1299/jira-mcp-server.git
    cd jira-mcp-server
    
  2. 安装依赖项

    pnpm install
    
  3. 构建项目

    pnpm run build
    

先决条件

  • Node.js >= 16.0.0
  • 带有API访问权限的Jira Cloud账户
  • Jira API令牌(从Atlassian账户设置生成)

配置

环境变量

服务器需要以下环境变量:

  • JIRA_EMAIL:您的Atlassian账户电子邮件
  • JIRA_API_TOKEN:您的Jira API令牌
  • JIRA_BASE_URL:您的Jira实例URL(例如,https://yourcompany.atlassian.net

Claude Desktop配置

在您的Claude Desktop MCP设置文件中添加以下内容:

位置

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

配置(如果通过npm安装)

{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": [
        "-y",
        "@nexus2520/jira-mcp-server"
      ],
      "env": {
        "JIRA_EMAIL": "your-email@company.com",
        "JIRA_API_TOKEN": "your-api-token-here",
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net"
      }
    }
  }
}

配置(如果从源码构建)

{
  "mcpServers": {
    "jira": {
      "name": "jira",
      "command": "node",
      "args": [
        "/absolute/path/to/jira-mcp-server/build/index.js"
      ],
      "transport": "stdio",
      "env": {
       
        "JIRA_EMAIL": "your-email@company.com",
        "JIRA_API_TOKEN": "your-api-token-here",
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net"
      }
    }
  }
}

获取您的Jira API令牌

  1. 转到Atlassian账户设置
  2. 点击“创建API令牌”
  3. 给它一个标签(例如,“Claude MCP”)
  4. 复制生成的令牌
  5. 在您的配置中使用它

可用工具

问题管理

get_issue

获取关于Jira问题的详细信息。

参数

  • issueKey(必需):问题键(例如,“PROJ-123”)

示例

获取问题PROJ-123的详细信息

create_issue

创建一个新的Jira问题。

重要提示:始终先使用get_create_metadata来发现所需字段、自定义字段及其允许值。

参数

  • projectKey(必需):项目键(例如,“PROJ”,“DEV”)
  • summary(必需):问题标题
  • issueType(必需):类型(例如,“Bug”,“Task”,“Story”)
  • description(可选):问题描述
  • priority(可选):优先级名称
  • assignee(可选):分配人账户ID或电子邮件
  • labels(可选):标签数组
  • customFields(可选):自定义字段对象

示例

在项目PROJ中创建一个标题为“登录按钮无法工作”的Bug,并描述“用户无法登录”

update_issue

更新现有问题的字段。

提示:使用get_create_metadata来发现可用的自定义字段及其允许值。

参数

  • issueKey(必需):要更新的问题
  • summary(可选):新的总结
  • description(可选):新的描述
  • priority(可选):新的优先级
  • assignee(可选):新的分配人
  • labels(可选):新的标签数组
  • customFields(可选):自定义字段对象

assign_issue

将问题分配给用户。

参数

  • issueKey(必需):要分配的问题
  • assignee(必需):用户账户ID、电子邮件或“-1”以取消分配

元数据及发现

get_create_metadata

获取创建项目问题所需的字段和元数据。

参数

  • projectKey(必需):项目键
  • issueType(可选):按特定问题类型过滤

search_users

通过姓名或电子邮件搜索用户以获取其账户ID。

参数

  • query(必需):搜索查询(电子邮件或姓名)
  • maxResults(可选):最大结果数(默认:50)

搜索

search_issues

使用JQL搜索问题。返回问题键和标题。

参数

  • jql(必需):JQL查询字符串
  • maxResults(可选):最大结果数(默认:50)

示例JQL查询

  • "project = PROJ AND status = Open"
  • "assignee = currentUser() AND status != Done"
  • "priority = High AND created >= -7d"

list_projects

列出所有可访问的项目。

参数

  • maxResults(可选):最大结果数(默认:50)

评论

add_comment

向问题添加评论。

参数

  • issueKey(必需):要评论的问题
  • comment(必需):评论文本

get_comments

获取问题的所有评论。

参数

  • issueKey(必需):问题键

工作流转换

get_transitions

获取问题的可用状态转换。

参数

  • issueKey(必需):问题键

transition_issue

更改问题的状态。

参数

  • issueKey(必需):要转换的问题
  • transitionId(必需):转换ID(来自get_transitions)
  • comment(可选):与转换一起添加的评论

API参考

此服务器使用Jira REST API v3

故障排除

“错误:JIRA_EMAIL和JIRA_API_TOKEN是必需的”

确保您已在MCP配置中设置了环境变量。

认证错误

  • 验证您的API令牌是否正确
  • 确保您的电子邮件与您的Atlassian账户匹配
  • 检查您的JIRA_BASE_URL是否没有尾随斜杠

权限错误

API令牌使用创建它的用户的权限。确保您的账户具有执行您尝试执行的操作所需的权限。

许可证

MIT

作者

Parth Dogra

贡献

欢迎打开问题或提交改进的拉取请求!