J

Jira MCP 服务器

@kornbed/jira-mcp-server
0 Stars 361 次浏览 kornbed 更新于 2026-08-23

一个基于 TypeScript 的服务器, enables Cursor 编辑器与 Jira 工单进行交互,可以在编辑器中直接查看、创建、评论和更新工单。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Jira MCP 服务器用于 Cursor

一个基于 TypeScript 的 MCP 服务器,与 Jira 集成,允许 Cursor 与 Jira 工单进行交互。

功能

  • 列出 Jira 工单
  • 获取工单详情
  • 获取工单评论
  • 创建新工单
  • 向工单添加评论
  • 更新工单状态
  • 完全支持 MCP 协议以实现 Cursor 集成

设置

  1. 安装依赖项:
npm install
  1. 根据 .env.example 创建一个 .env 文件,并填写您的 Jira 凭证:
JIRA_HOST=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
PORT=3000

获取您的 Jira API 令牌:

  1. 登录 https://id.atlassian.com/manage/api-tokens
  2. 点击“创建 API 令牌”
  3. 复制该令牌并将其粘贴到您的 .env 文件中

开发

运行开发服务器:

npm run dev

构建和运行

构建项目:

npm run build

启动服务器:

npm start

Cursor 集成

要将此 MCP 服务器与 Cursor 一起使用,您有两个选项:

选项 1:命令式集成(推荐)

  1. 构建项目:
npm run build
  1. 打开 Cursor 的设置:

    • 点击 Cursor 菜单
    • 选择“设置”(或使用键盘快捷键)
    • 导航到“扩展”或“集成”部分
  2. 添加 MCP 配置:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira-mcp-cursor/dist/server.js"]
    }
  }
}

/path/to/jira-mcp-cursor 替换为您的项目的绝对路径。

选项 2:基于 HTTP 的集成(替代方案)

  1. 启动 MCP 服务器(如果尚未运行):
npm start
  1. 打开 Cursor 的设置:

    • 点击 Cursor 菜单
    • 选择“设置”(或使用键盘快捷键)
    • 导航到“扩展”或“集成”部分
  2. 添加 MCP 配置:

{
  "mcpServers": {
    "jira": {
      "url": "http://localhost:3000",
      "capabilities": [
        "list_tickets",
        "get_ticket",
        "get_comments",
        "create_ticket",
        "update_status",
        "add_comment"
      ]
    }
  }
}

在 Cursor 中使用 Jira

配置好 MCP 服务器后,您可以在 Cursor 中直接使用 Jira 命令:

  • /jira list - 列出您的工单
  • /jira view TICKET-123 - 查看工单详情
  • /jira comments TICKET-123 - 获取工单评论
  • /jira create - 创建新工单
  • /jira comment TICKET-123 - 添加评论
  • /jira status TICKET-123 - 更新工单状态

MCP 协议支持

该服务器实现了 Cursor 所需的 Model-Client-Protocol (MCP):

  • 用于命令式集成的标准输入输出通信
  • Jira 操作的工具注册

API 端点

列出工单

检索 Jira 工单列表,可选地通过 JQL 查询过滤。

端点: GET /api/tickets

查询参数:

参数 类型 是否必填 描述
jql string 用于过滤工单的 Jira 查询语言 (JQL) 字符串

示例请求:

GET /api/tickets?jql=project=TEST+AND+status=Open

示例响应:

TEST-123: Example ticket (Open)
TEST-124: Another ticket (In Progress)

获取工单

检索有关特定工单的详细信息。

端点: GET /api/tickets/:id

路径参数:

参数 类型 是否必需 描述
id string Jira 工单 ID(例如,TEST-123)

请求示例:

GET /api/tickets/TEST-123

响应示例:

Key: TEST-123
Summary: Example ticket
Status: Open
Type: Task
Description:
Detailed ticket description

获取工单评论

检索特定工单的所有评论。

端点: GET /api/tickets/:id/comments

路径参数:

参数 类型 是否必需 描述
id string Jira 工单 ID(例如,TEST-123)

请求示例:

GET /api/tickets/TEST-123/comments

响应示例:

[3/20/2024, 10:00:00 AM] John Doe:
Comment text
---

[3/20/2024, 9:30:00 AM] Jane Smith:
Another comment
---

创建工单

创建一个新的 Jira 工单。

端点: POST /api/tickets

请求体:

参数 类型 是否必需 描述
summary string 工单摘要
description string 工单描述
projectKey string 项目键(例如,TEST)
issueType string 问题类型(例如,任务、错误)

请求示例:

POST /api/tickets
Content-Type: application/json

{
  "summary": "New feature request",
  "description": "Implement new functionality",
  "projectKey": "TEST",
  "issueType": "Task"
}

响应示例:

Created ticket: TEST-124

添加评论

向现有工单添加新评论。

端点: POST /api/tickets/:id/comments

路径参数:

参数 类型 是否必需 描述
id string Jira 工单 ID(例如,TEST-123)

请求体:

参数 类型 是否必需 描述
body string 评论文本

请求示例:

POST /api/tickets/TEST-123/comments
Content-Type: application/json

{
  "body": "This is a new comment"
}

响应示例:

Added comment to TEST-123

更新状态

更新现有工单的状态。

端点: POST /api/tickets/:id/status

路径参数:

参数 类型 是否必需 描述
id string Jira 工单 ID(例如,TEST-123)

请求体:

参数 类型 是否必需 描述
transitionId string 要执行的转换的ID

请求示例:

POST /api/tickets/TEST-123/status
Content-Type: application/json

{
  "transitionId": "21"
}

响应示例:

Updated status of TEST-123

搜索工单

使用文本搜索在指定项目中搜索工单。

端点: GET /api/tickets/search

查询参数:

参数 类型 是否必需 描述
searchText string 在工单中搜索的文本
projectKeys string 要搜索的项目键列表,用逗号分隔
maxResults number 返回的最大结果数(默认值:50)

请求示例:

GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10

响应示例:

Found 2 tickets matching "login bug"

[TEST] TEST-123: Login page bug
Status: Open (Updated: 3/20/2024, 10:00:00 AM)
Description:
Users unable to login using SSO
----------------------------------------

[PROD] PROD-456: Fix login performance
Status: In Progress (Updated: 3/19/2024, 3:30:00 PM)
Description:
Login page taking too long to load
----------------------------------------

相关 MCP 服务