返回市场
杰拉-MCP服务器

杰拉-MCP服务器

作者:kornbed4 星标更新:2025-05-07

项目介绍

<!-- markdownlint-disable MD029 -->

Jira MCP Server for Cursor

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

<a href="https://glama.ai/mcp/servers/@kornbed/jira-mcp-server"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=1654145997,75177599&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Cursor MCP服务器的Jira服务器" /> </a>

功能

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

配置

通过Smithery安装

要通过Smithery自动安装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
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):

  • 基于命令行的集成的Stdio通信
  • 注册用于Jira操作的工具

API端点

列出工单

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

端点: GET /api/tickets

查询参数:

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

示例请求:

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

示例响应:

TEST-123: 示例工单 (打开)
TEST-124: 另一个工单 (进行中)

获取工单

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

端点: GET /api/tickets/:id

路径参数:

参数类型必填描述
id字符串Jira工单ID(例如,TEST-123)

示例请求:

GET /api/tickets/TEST-123

示例响应:

编号:TEST-123
摘要:示例工单
状态:打开
类型:任务
描述:
详细的工单描述

获取工单评论

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

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

路径参数:

参数类型必填描述
id字符串Jira工单ID(例如,TEST-123)

示例请求:

GET /api/tickets/TEST-123/comments

示例响应:

[2024年3月20日, 上午10:00:00] John Doe:
评论文本
---

[2024年3月20日, 上午9:30:00] Jane Smith:
另一个评论
---

创建工单

创建一个新的Jira工单。

端点: POST /api/tickets

请求体:

参数类型必填描述
摘要字符串工单摘要
描述字符串工单描述
项目键字符串项目键(例如,TEST)
问题类型字符串问题类型(例如,任务、错误)

示例请求:

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

{
  "摘要": "新功能请求",
  "描述": "实现新功能",
  "项目键": "TEST",
  "问题类型": "任务"
}

示例响应:

创建工单:TEST-124

添加评论

向现有工单添加新的评论。

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

路径参数:

参数类型必填描述
id字符串Jira工单ID(例如,TEST-123)

请求体:

参数类型必填描述
内容字符串评论文本

示例请求:

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

{
  "内容": "这是一个新的评论"
}

示例响应:

向TEST-123添加了评论

更新状态

更新现有工单的状态。

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

路径参数:

参数类型必填描述
id字符串Jira工单ID(例如,TEST-123)

请求体:

参数类型必填描述
转换ID字符串要执行的转换ID

示例请求:

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

{
  "转换ID": "21"
}

示例响应:

更新了TEST-123的状态

搜索工单

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

端点: GET /api/tickets/search

查询参数:

参数类型必填描述
搜索文本字符串在工单中搜索的文本
项目键字符串要在其搜索的项目键的逗号分隔列表
最大结果数数字返回的最大结果数(默认:50)

示例请求:

GET /api/tickets/search?搜索文本=登录错误&项目键=TEST,PROD&最大结果数=10

示例响应:

找到2个匹配“登录错误”的工单

[TEST] TEST-123: 登录页面错误
状态:打开(更新时间:2024年3月20日, 上午10:00:00)
描述:
用户无法使用SSO登录
----------------------------------------

[PROD] PROD-456: 解决登录性能问题
状态:进行中(更新时间:2024年3月19日, 下午3:30:00)
描述:
登录页面加载时间过长
----------------------------------------