JIRA集成服务器

一个提供JIRA集成功能的模型上下文协议(MCP)服务器,允许AI助手通过自然语言搜索、查看、创建和更新JIRA问题。

  • by longmaba
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 longmaba/jira-mcp

使用说明

JIRA MCP服务器

提供JIRA集成功能的模型上下文协议(MCP)服务器。该服务器允许AI助手使用自然语言搜索、查看、创建和更新JIRA问题。

特性

  • 搜索问题:使用JQL(JIRA查询语言)搜索JIRA问题
  • 获取问题详细信息:检索有关特定问题的详细信息
  • 创建问题:使用可自定义字段创建新的JIRA问题
  • 更新问题:更新现有问题,包括状态转换

安装

npm install

配置

服务器需要三个环境变量:

  • JIRA_URL:您的JIRA实例URL(例如。, https://your-domain.atlassian.net)
  • JIRA_EMAIL:您的JIRA帐户电子邮件
  • JIRA_API_TOKEN:您的JIRA API代币

获取JIRA API代币

  1. 登录到https://id.atlassian.com/manage-profile/security/api-tokens
  2. 点击“创建API令牌”
  3. 给它一个标签并复制令牌

Claude桌面设置

服务器同时支持这两种功能 标准 和 上海证券交易所 运输方式。对于Claude Desktop和其他生成进程的MCP客户端,会自动使用stdio模式。

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json

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

或者,如果在本地运行:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["O:\\projects\\jira-mcp\\index.js"],
      "env": {
        "JIRA_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

服务器将自动检测到它是由MCP客户端运行的(stdin不是TTY),并使用stdio传输模式。

可用资源

MCP服务器将JIRA数据作为可以列出和读取的资源公开:

jira://search?jql={查询}

使用JQL查询搜索JIRA问题。

URI示例:

  • jira://search?jql=project=ST AND status=Open
  • jira://search?jql=project=ST AND type=Task AND component in (BuildReq, ValidationReq) AND status=Open ORDER BY priority DESC
  • jira://search?jql=assignee=currentUser() AND status!=Done

jira://issue/{issueKey}

获取有关特定问题的详细信息。

URI示例:

  • jira://issue/ST-123
  • jira://issue/PROJ-456

可用工具

jira_search

使用JQL搜索JIRA问题。

参数:

  • jql (必填):JQL查询字符串
  • maxResults (可选):返回的最大结果数(默认值:50)
  • startAt (可选):分页的起始索引(默认值:0)
  • fields (可选):要返回的字段名数组

例子:

Search for all open bugs in the PROJ project

jira_get_issue

获取有关特定问题的详细信息。

参数:

  • issueKey (必填):发布密钥(例如“PROJ-123”)
  • fields (可选):要返回的字段名数组

例子:

Get details for issue PROJ-123

jira_create_issue

创建新的JIRA问题。

参数:

  • projectKey (必填):项目密钥
  • summary (必填):发行标题
  • issueType (必填):问题类型(例如,“任务”、“Bug”、“故事”)
  • description (可选):问题描述
  • priority (可选):优先级
  • assignee (可选):受让人帐户ID
  • labels (可选):标签数组

例子:

Create a new bug in project PROJ with summary "Login page not working"

jira_update_issue

更新现有的JIRA问题。

参数:

  • issueKey (必填):发布密钥进行更新
  • summary (可选):新摘要
  • description (可选):新描述
  • priority (可选):新优先级
  • assignee (可选):新受让人帐户ID
  • labels (可选):新标签数组
  • status (可选):新状态(触发转换)

例子:

Update issue PROJ-123 to set status to "In Progress"

用法示例

在Claude Desktop中配置服务器后,您可以使用以下自然语言命令:

  • “搜索PROJ项目中正在进行的所有问题”
  • “显示PROJ-123问题的详细信息”
  • “在PROJ中创建一个标题为“更新文档”的新任务”
  • “更新PROJ-456并将其状态设置为完成”

运输方式

服务器支持两种传输模式:

标准模式(MCP客户端的默认模式)

当服务器由MCP客户端(如Claude Desktop)生成时,它会自动检测到stdin不是TTY,并使用stdio传输。这是本地MCP集成的标准模式。

您还可以通过设置明确强制stdio模式:

MCP_TRANSPORT=stdio node index.js

SSE模式(HTTP服务器)

服务器还可以使用服务器发送事件(SSE)传输作为HTTP服务器运行。这允许任何支持通过HTTP进行SSE连接的MCP客户端使用它。

以SSE模式启动服务器

要在SSE模式下启动服务器(HTTP服务器),请设置 PORT 环境变量:

# Set environment variables
export JIRA_URL="https://your-domain.atlassian.net"
export JIRA_EMAIL="your-email@example.com"
export JIRA_API_TOKEN="your-api-token-here"

# Start the server in SSE mode
PORT=3000 npm start

或者明确设置传输模式:

MCP_TRANSPORT=sse PORT=3000 npm start

在以下情况下,服务器将自动使用SSE模式:

  • PORT 环境变量已设置
  • MCP_TRANSPORT=sse 已设置
  • stdin是一个TTY(交互式运行)

SSE端点

运行后,服务器将公开:

  • SSE连接: GET http://localhost:3000/sse -MCP通信的主SSE端点
  • 消息端点: POST http://localhost:3000/message -用于向服务器发送消息的端点
  • 健康检查: GET http://localhost:3000/health -服务器运行状况

连接MCP客户端

要将MCP客户端连接到SSE服务器,请使用SSE端点URL:

http://localhost:3000/sse

测试服务器

您可以测试服务器是否正在运行:

# Health check
curl http://localhost:3000/health

# Response: {"status":"ok","server":"jira-mcp-server"}

发展

服务器遵循模型上下文协议规范,支持stdio和SSE传输:

  • 标准运输:用于生成进程的本地MCP客户端(例如Claude Desktop)
  • SSE运输:适用于基于HTTP的MCP客户端和web应用程序

传输模式会根据执行上下文自动检测,但可以通过 MCP_TRANSPORT 环境变量(stdio 或 sse).

许可证

麻省理工学院