首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
Jira-MCP-Server2025-05-270分享
github
通过模型上下文协议启用与 Jira 的自然语言交互,以便通过 Claude Desktop 管理项目、问题、任务和工作流,从而允许用户委托项目管理任务。
By George5562
2025-05-270
github
详情内容

Jira MCP 服务器

smithery 徽章
MCP
Claude
Cursor

通过自然语言与 Jira 交互,获取项目信息并修改项目。结合您创建的包含项目信息的自定义 README 文件,与 Claude Desktop 一起使用,以便您可以委托项目管理任务(例如,给定您的团队成员及其专长列表,将任何新问题分配给最相关的人员)。

使用 Model Context Protocol 构建。

Jira 服务器 MCP 服务器

该服务器支持以下功能:

  • 项目创建和配置
  • 问题和子任务管理
  • 问题链接和依赖关系
  • 自动化问题工作流

配置

所需的环境变量:

可用工具

1. 用户管理

// 通过电子邮件获取用户的账户 ID
{
  email: "user@example.com";
}

2. 问题类型管理

// 列出所有可用的问题类型
// 返回:id、name、description、subtask status
// 不需要参数

3. 问题链接类型

// 列出所有可用的问题链接类型
// 返回:id、name、inward/outward descriptions
// 不需要参数

4. 问题管理

检索问题

// 获取项目中的所有问题
{
  projectKey: "PROJECT"
}

// 使用 JQL 过滤获取问题
{
  projectKey: "PROJECT",
  jql: "status = 'In Progress' AND assignee = currentUser()"
}

// 获取分配给用户的问题
{
  projectKey: "PROJECT",
  jql: "assignee = 'user@example.com' ORDER BY created DESC"
}

创建问题

// 创建标准问题
{
  projectKey: "PROJECT",
  summary: "问题标题",
  issueType: "Task",  // 或 "Story"、"Bug" 等
  description: "详细描述",
  assignee: "accountId",  // 来自 get_user 工具
  labels: ["frontend", "urgent"],
  components: ["ui", "api"],
  priority: "High"
}

// 创建子任务
{
  parent: "PROJECT-123",
  projectKey: "PROJECT",
  summary: "子任务标题",
  issueType: "Subtask",
  description: "子任务详情",
  assignee: "accountId"
}

更新问题

// 更新问题字段
{
  issueKey: "PROJECT-123",
  summary: "更新后的标题",
  description: "新描述",
  assignee: "accountId",
  status: "In Progress",
  priority: "High"
}

问题依赖关系

// 创建问题链接
{
  linkType: "Blocks",  // 来自 list_link_types
  inwardIssueKey: "PROJECT-124",  // 被阻塞的问题
  outwardIssueKey: "PROJECT-123"  // 阻塞的问题
}

删除问题

// 删除单个问题
{
  issueKey: "PROJECT-123"
}

// 删除带有子任务的问题
{
  issueKey: "PROJECT-123",
  deleteSubtasks: true
}

// 删除多个问题
{
  issueKeys: ["PROJECT-123", "PROJECT-124"]
}

字段格式化

描述字段

描述字段支持 Markdown 样式的格式化:

  • 段落之间使用空行
  • 使用 "- " 表示项目符号
  • 使用 "1. " 表示编号列表
  • 使用以 ":" 结尾的标题(后面跟一个空行)

示例:

任务概述:

此任务涉及实现新功能:
- 功能 A 的实现
- 功能 B 的测试

步骤:
1. 设计组件
2. 实现逻辑
3. 添加测试

验收标准:
- 所有测试通过
- 文档更新

错误处理

服务器为以下情况提供详细的错误消息:

  • 无效的问题键
  • 缺少必填字段
  • 权限问题
  • API 速率限制

设置说明

  1. 克隆仓库:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:
    在根目录中创建一个 .env 文件:

    JIRA_HOST=your-instance.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your-api-token
    
  4. 构建项目:

    npm run build
    
  5. 启动服务器:

    npm start
    

配置 Claude Desktop

要将此 MCP 服务器与 Claude Desktop 一起使用:

  1. 找到您的 Claude Desktop 配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%/Claude/claude_desktop_config.json
    • Linux:~/.config/Claude/claude_desktop_config.json
  2. 将 Jira MCP 服务器添加到您的配置中:

    {
      "mcpServers": {
        "jira-server": {
          "name": "jira-server",
          "command": "/path/to/node",
          "args": ["/path/to/jira-server/build/index.js"],
          "cwd": "/path/to/jira-server",
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_EMAIL": "your-email@example.com",
            "JIRA_API_TOKEN": "your-api-token"
          }
        }
      }
    }
    

    /path/to/jira-server 替换为您克隆的仓库的绝对路径。
    /path/to/node 替换为您的 Node.js 可执行文件的绝对路径(通常可以通过在终端中运行 which nodewhere node 找到)。
    建议使用 Node.js 可执行文件的直接路径和构建的 JavaScript 文件(运行 npm run build 后的 build/index.js)以确保可靠性。

  3. 重启 Claude Desktop 以应用更改。

配置 Cursor

要将此 Jira MCP 服务器与 Cursor 一起使用:

  1. 确保服务器已构建:Jira-MCP-Server 目录中运行 npm run build 以创建必要的 build/index.js 文件。

  2. 找到或创建 Cursor 的 MCP 配置文件:

    • 项目特定配置:项目根目录中的 .cursor/mcp.json
    • 全局配置(所有项目):主目录中的 ~/.cursor/mcp.json
  3. 将 Jira MCP 服务器配置添加到 mcp.json

    {
      "mcpServers": {
        "jira-mcp-server": {
          "command": "node", // 或提供您的 Node.js 可执行文件的绝对路径
          "args": [
            "/path/to/your/Jira-MCP-Server/build/index.js" // Jira-MCP-Server 构建的 index.js 的绝对路径
          ],
          "cwd": "/path/to/your/Jira-MCP-Server", // Jira-MCP-Server 目录的绝对路径
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_EMAIL": "your-email@example.com", // 您的 Jira 电子邮件
            "JIRA_API_TOKEN": "your-api-token" // 您的 Jira API 令牌
          }
        }
        // 您可以在此处添加其他 MCP 服务器配置
      }
    }
    
    • /path/to/your/Jira-MCP-Server 替换为您克隆的 Jira-MCP-Server 仓库的正确绝对路径。
    • 如果 node 不在您的系统 PATH 中,或者您更喜欢使用绝对路径,请将 "node" 替换为您的 Node.js 可执行文件的完整路径(例如,/usr/local/bin/nodeC:\Program Files\nodejs\node.exe)。
    • 确保在 env 部分正确填写您的 Jira 实例详细信息和 API 令牌。
  4. 重启 Cursor 以应用更改。

使用 Cursor 规则为 Jira 上下文

为了更顺畅地与 Jira 交互,您可以在 Cursor 的规则中定义您的默认 Jira 项目和用户标识符。这有助于 Cursor 的 AI 在不需要您在每个提示中指定上下文的情况下理解您的上下文。

创建或编辑您的 Cursor 规则文件(例如,在您的项目 .cursor/rules.json 或全局 ~/.cursor/rules.json 中(规则文件和方法可能因版本而异,请检查 Cursor 文档中的“Rules”或“Context Management”))。添加如下条目:

作为 AI 助手,当我被问及 Jira 任务时:
- 假设主要 Jira 项目键是 'YOUR_PROJECT_KEY_HERE'。
- 假设 '我的分配任务' 或分配给 '我' 的任务指的是 Jira 用户,其电子邮件为 'your_jira_email@example.com'(或您的 Jira 账户 ID)。
然后,您可以在 JQL 查询中使用这些信息,例如:project = YOUR_PROJECT_KEY_HERE AND assignee = 'your_jira_email@example.com'。

YOUR_PROJECT_KEY_HEREyour_jira_email@example.com 替换为您的实际详细信息。

在 Cursor 聊天中的使用示例

配置完成后(特别是使用 Cursor 规则设置上下文后),您可以询问 Cursor:

"使用 Jira MCP,列出我的分配任务。然后,基于这些任务,制定一个实施计划和工作时间表。"

如果您尚未设置规则,或需要指定不同的项目或用户,则需要更明确地说明:

"使用 Jira MCP,列出分配给 'user@example.com' 的 'PROJECT_KEY' 项目中的任务。然后,基于这些任务,制定一个实施计划和工作时间表。"

Cursor 的 AI 将使用 Jira MCP 服务器获取任务,然后继续进行计划和时间表请求。

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Jira MCP 服务器:

npx -y @smithery/cli install @George5562/Jira-MCP-Server --client claude

手动安装

  1. 克隆仓库:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:
    在根目录中创建一个 .env 文件:

    JIRA_HOST=your-instance.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your-api-token
    
  4. 构建项目:

    npm run build
    
  5. 启动服务器:

    npm start
    

参考资料

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档