mcpField
J
Jira MCP Server for Cursor

Jira MCP Server for Cursor

本地服务
github.com/kornbed版本控制677 周前更新

关于 Jira MCP Server for Cursor

这是一个用 TypeScript 编写的 Jira MCP 服务,可让 Cursor 等客户端管理 Jira 工单。它支持从查询和查看工单,到创建、评论及更新状态。

主要功能

  1. 01列出并搜索工单
  2. 02查看工单详情和评论
  3. 03创建工单
  4. 04添加评论
  5. 05更新工单状态

适用场景

  1. 01按 JQL 筛选项目工单
  2. 02在 Cursor 中查看工单讨论
  3. 03创建工单并补充评论
  4. 04更新工单状态

MCP 相关

该 MCP 服务注册 Jira 操作工具,支持通过 stdio 或 HTTP 接入 MCP 客户端。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"jira-mcp-server-kornbed": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

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

详细介绍

面向 Cursor 的 Jira MCP 服务

smithery badge 一个基于 TypeScript 的 MCP 服务,可与 Jira 集成,让 Cursor 能够与 Jira 工单交互。

面向 Cursor 的 Jira MCP 服务

功能

  • 列出 Jira 工单
  • 获取工单详情
  • 获取工单评论
  • 创建新工单
  • 为工单添加评论
  • 更新工单状态
  • 完整支持 MCP 协议,便于与 Cursor 集成

设置

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装面向 Cursor 的 Jira MCP 服务:

npx -y @smithery/cli install @kornbed/jira-mcp-server --client claude
  1. 安装依赖项:
npm install
  1. 根据 .env.example 创建 .env 文件,并填写 Jira 凭据:
JIRA_HOST=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your-api-token
PORT=3000

获取 Jira API 令牌:

  1. 登录 https://id.atlassian.com/manage/api-tokens
  2. 点击“Create API token”
  3. 复制令牌并粘贴到 .env 文件中

开发

运行开发服务器:

npm run dev

构建和运行

构建项目:

npm run build

启动服务器:

npm start

Cursor 集成

要在 Cursor 中使用此 MCP 服务,有两种方式:

方式 1:基于命令的集成(推荐)
  1. 构建项目:
npm run build
  1. 打开 Cursor 设置:

    • 点击 Cursor 菜单
    • 选择“Settings”(或使用键盘快捷键)
    • 前往“Extensions”或“Integrations”部分
  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 菜单
    • 选择“Settings”(或使用键盘快捷键)
    • 前往“Extensions”或“Integrations”部分
  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):

  • 为基于命令的集成提供 Stdio 通信
  • 为 Jira 操作注册工具

API 端点

列出工单

获取 Jira 工单列表,可选择使用 JQL 查询进行筛选。

端点: GET /api/tickets

查询参数:

参数类型必填描述
jqlstring否用于筛选工单的 Jira Query Language(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

路径参数:

参数类型必填描述
idstring是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

路径参数:

参数类型必填描述
idstring是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

请求正文:

参数类型必填描述
summarystring是工单摘要
descriptionstring是工单描述
projectKeystring是项目键(例如,TEST)
issueTypestring是问题类型(例如,Task、Bug)

请求示例:

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

路径参数:

参数类型必填描述
idstring是Jira 工单 ID(例如,TEST-123)

请求正文:

参数类型必填描述
bodystring是评论内容

请求示例:

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

路径参数:

参数类型必填描述
idstring是Jira 工单 ID(例如,TEST-123)

请求正文:

参数类型必填描述
transitionIdstring是要执行的状态转换 ID

请求示例:

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

{
  "transitionId": "21"
}

响应示例:

Updated status of TEST-123
搜索工单

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

端点: GET /api/tickets/search

查询参数:

参数类型必填描述
searchTextstring是要在工单中搜索的文本
projectKeysstring是要搜索的项目键列表,以逗号分隔
maxResultsnumber否返回的结果数量上限(默认值: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
----------------------------------------

评论

支持 Markdown

第一次接触 MCP?

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

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