Jira MCP服务器

一个与Jira Software DataCenter和Cloud REST API集成的Model Context Protocol服务器,使AI助手能够从Jira获取任务信息。

  • by SuperPyonchiX
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 SuperPyonchiX/jira_mcp_server

使用说明

Jira MCP Server (DataCenter & Cloud対応)

Jira Software DataCenter & Cloud REST API联合Model Context Protocol(MCP)服务器。AI我的助手Jira对较大场景进行渲染期间已观察到该故障。

特徴:

  • DataCenter版対応:通过密码验证Jira DataCenter连接到服务器
  • Cloud版対応: API在令牌认证中Jira Cloud连接
  • JQL検索:在高级搜索查询中issue查找
  • 项目信息:获取项目详细信息

📚 文档

机能

  • DataCenter対応:通过用户名+密码验证Jira DataCenter连接
  • Cloud対応: E邮件+API在令牌认证中Jira Cloud连接
  • 课题取得: ID或按键Jira获取课题详细信息
  • JQL検索:高级JQL查询问题搜索
  • 项目信息:获取项目详细信息、组件和版本信息
  • 灵活的设置: DataCenter/Cloud両对应の接続设定
  • 字段选择:可选字段过滤和展开参数

安装和使用

前提条件

  • Node.js (v16以降推奨)
  • npm 或yarn
  • Jira帐户和访问权限
  • DataCenter版: Jira服务器用户名和密码
  • Cloud版: Jira API令牌

步骤1:克隆存储库

git clone https://github.com/SuperPyonchiX/jira_mcp_server.git
cd jira_mcp_server

步骤2:安装相关性

npm install

步骤3:构建项目

npm run build

步骤4:准备凭据

DataCenter版本的情况

  • Jira请准备服务器的用户名和密码
  • 请安全保存密码,不要提交版本控制

Cloud版本的情况

  1. Atlassian帐户设置访问
  2. 「Create API token」来修改标记元素的显示属性
  3. 输入标记的名称(例如,“MCP Server”)
  4. 已生成API复制并保存标记

步骤5:VS Code中的设置

5-1. MCP配置文件位置

在其他项目中MCP如果使用服务器,请单击VS Code将设置添加到配置文件:

项目特定设置(建议):

  • 项目根目录 .vscode/settings.json

5-2. settings.json添加到

项目名称 .vscode/settings.json 请在文件中添加以下设置:

环境变数使用(推奨)
{
  "mcp": {
    "inputs": [],
    "servers": {
      "jira-mcp-server": {
        "type": "stdio",
        "command": "node",
        "args": ["C:\\path\\to\\jira_mcp_server\\build\\index.js"],
        "env": {
          "JIRA_DOMAIN": "jira.yourcompany.com",
          "JIRA_AUTH_TYPE": "basic",
          "JIRA_USERNAME": "your-username",
          "JIRA_PASSWORD": "your-password"
        }
      }
    }
  }
}

环境变数设定例:

DataCenter版本:

"env": {
  "JIRA_DOMAIN": "jira.yourcompany.com",
  "JIRA_AUTH_TYPE": "basic",
  "JIRA_USERNAME": "your-username",
  "JIRA_PASSWORD": "your-password"
}

Cloud版本:

"env": {
  "JIRA_DOMAIN": "your-domain.atlassian.net",
  "JIRA_AUTH_TYPE": "token",
  "JIRA_EMAIL": "your-email@example.com",
  "JIRA_API_TOKEN": "your-api-token"
}
手动设置(如果不使用环境变量)
{
  "mcp": {
    "inputs": [],
    "servers": {
      "jira-mcp-server": {
        "type": "stdio",
        "command": "node",
        "args": ["C:\\path\\to\\jira_mcp_server\\build\\index.js"],
        "env": {
          "NODE_ENV": "production"
        }
      }
    }
  }
}

5-3. Claude Desktop设定

Claude Desktop 如果: %APPDATA%\Claude\claude_desktop_config.json (Windows) 或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 在:

{
  "mcpServers": {
    "jira-mcp-server": {
      "command": "node",
      "args": ["C:\\path\\to\\jira_mcp_server\\build\\index.js"],
      "env": {
        "JIRA_DOMAIN": "jira.yourcompany.com",
        "JIRA_AUTH_TYPE": "basic", 
        "JIRA_USERNAME": "your-username",
        "JIRA_PASSWORD": "your-password"
      }
    }
  }
}

第6步:VS Code重新启动和确认

  1. VS Code重新启动
  2. GitHub Copilot Chat的双曲正切值@jira-mcp-server确认是否显示完成
  3. 请确认设置状况(如果环境变量设置正确,则自动设置)
@jira-mcp-server get_jira_config

步骤7:动作确认

如果已在环境变量中设置:

确认设置后,即可立即获取问题:

@jira-mcp-server get issue PROJ-123
@jira-mcp-server search issues with jql "project = PROJ AND status = 'In Progress'"

如果需要手动设置:

VS Code在中GitHub Copilot Chat来修改标记元素的显示属性Jira配置服务器:

DataCenter版本:

@jira-mcp-server configure_jira with baseUrl "https://jira.yourcompany.com", jiraType "datacenter", username "your-username", password "your-password"

Cloud版本:

@jira-mcp-server configure_jira with baseUrl "https://your-domain.atlassian.net", jiraType "cloud", email "your-email@example.com", apiToken "your-api-token"

设定方法

单击功能区上configure_jira使用工具Jira必须配置连接:

DataCenter版本的情况

  • 基本URL: Jira服务器URL(例如:https://jira.yourcompany.com)
  • Jira类型: datacenter
  • 用户名: Jira的用户名
  • 密码: Jira密码

Cloud版本的情况

  • 基本URL: Jira在动态输入提示中单击URL(例如:https://your-domain.atlassian.net)
  • Jira类型: cloud
  • 电子邮件: Jira帐户E电子邮件地址
  • API代币: Jira API标记(帐户设置-安全性-API从标记生成)

可用工具

get_jira_config

现在的Jira显示设置状况。

参数: 无

返回值:

  • 设置时:设置信息(隐藏认证信息)
  • 未设置:设置方法指南

configure_jira

Jira设置到实例的连接(支持数据中心和云)。

参数:

  • baseUrl (必需):Jira服务器基础URL
  • jiraType (必需):“datacenter”或“cloud”
  • DataCenter版本:
    • username (必需):Jira用户名
    • password (必需):Jira密码
  • Cloud版本:
    • email (必需):Jira帐户E电子邮件地址
    • apiToken (必需):Jira API令牌

get_jira_issue

ID或通过键Jira获取问题。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”或“10001”)
  • fields (可选):要返回的字段名称数组
  • expand (可选):要展开的参数的逗号分隔列表
  • properties (可选):要返回的属性名称数组

search_jira_issues

JQL(Jira Query Language)对较大场景进行渲染期间已观察到该故障。

参数:

  • jql (必需):JQL查询字符串(例如:“project=PROJ AND status='In Progress'”)
  • startAt (可选):页面开始索引(默认值:0)
  • maxResults (可选):最大结果数(默认值:50,最大值:1000)
  • fields (可选):要返回的字段名称数组
  • expand (可选):要展开的参数的逗号分隔列表

get_jira_项目

ID或通过键获取项目信息。

参数:

  • projectIdOrKey (必需):项目ID或键(例如:“PROJ”或“10000”)
  • expand (可选):要展开的参数的逗号分隔列表(例如:“description,lead,issueTypes”)

返回值: 项目详细信息(名称、密钥、说明、读取、课题类型、组件、版本等)

create_jira_issue

新的Jira创建课题。

参数:

  • projectKey (必需):项目密钥(例如:“PROJ”)
  • issueType (必需):课题类型名称(例如:“任务”、“Bug”、“Story”、“Epic”)
  • summary (必需):课题标题/概要
  • description (可选):问题说明
  • assignee (可选):联系人(数据中心:用户名,Cloud: accountId)
  • priority (可选):优先级名称(例如:“高”、“中等”和“低”)
  • labels (可选):标签数组
  • components (可选):组件名称数组
  • parentKey (可选):创建子任务时的父任务键
  • customFields (可选)自定义字段的键值对

update_jira_issue

现有的Jira更新课题。仅更新指定的字段。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”)
  • summary (可选):新标题
  • description (可选):新说明
  • assignee (可选):新联系人
  • priority (可选):新优先级
  • labels (可选):新标签(替换现有标签)
  • components (可选):新组件(替换现有组件)
  • customFields (可选):要更新的自定义字段
  • notifyUsers (可选):通知监视程序(默认值:true)

添加注释

Jira向课题添加注释。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”)
  • body (必需):注释正文
  • visibility (可选):注释的显示限制
    • type:“group”或“role”
    • value:组名或角色名

获取_注释

Jira获取课题的注释一览表。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”)
  • startAt (可选):页面开始索引(默认值:0)
  • maxResults (可选):最大结果数(默认值:50,最大值:100)
  • orderBy (可选):排序顺序(“created”或“-created”)

get_transitions

Jira获取课题中可用的工作流转换(状态转换)。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”)
  • expand (可选):通过指定“transitions.fields”获取每个变换的必填字段信息

过渡问题

Jira执行课题的工作流转换(状态变更)。

参数:

  • issueIdOrKey (必需):问题ID或键(例如:“PROJ-123”)
  • transitionId (必需):要执行的过渡ID(get_transitions),模板名称将采用不同的格式
  • comment (可选):过渡时添加的注释
  • fields (可选):过渡屏幕上所需的字段
  • resolution (可选):转换为解析状态时的解析种类(例如:“Done”、“Fixed”)

使用例

1. DataCenter版Jira接続の设定

{
  "name": "configure_jira",
  "arguments": {
    "baseUrl": "https://jira.yourcompany.com",
    "jiraType": "datacenter",
    "username": "your-username",
    "password": "your-password"
  }
}

2. Cloud版本Jira配置连接

{
  "name": "configure_jira",
  "arguments": {
    "baseUrl": "https://your-domain.atlassian.net",
    "jiraType": "cloud", 
    "email": "your-email@example.com",
    "apiToken": "your-api-token"
  }
}

3.课题的取得

{
  "name": "get_jira_issue", 
  "arguments": {
    "issueIdOrKey": "PROJ-123",
    "expand": "changelog,transitions"
  }
}

4. JQL课题检索

{
  "name": "search_jira_issues",
  "arguments": {
    "jql": "project = PROJ AND status = 'In Progress'",
    "maxResults": 10
  }
}

5.获取项目信息

{
  "name": "get_jira_project",
  "arguments": {
    "projectIdOrKey": "PROJ",
    "expand": "description,lead,issueTypes"
  }
}

6.创建新课题

{
  "name": "create_jira_issue",
  "arguments": {
    "projectKey": "PROJ",
    "issueType": "Task",
    "summary": "新機能の実装",
    "description": "詳細な説明をここに記載",
    "priority": "High",
    "labels": ["backend", "feature"]
  }
}

7.课题的更新

{
  "name": "update_jira_issue",
  "arguments": {
    "issueIdOrKey": "PROJ-123",
    "summary": "更新されたタイトル",
    "priority": "Medium"
  }
}

8.添加注释

{
  "name": "add_comment",
  "arguments": {
    "issueIdOrKey": "PROJ-123",
    "body": "作業を開始しました。"
  }
}

9.获取评论

{
  "name": "get_comments",
  "arguments": {
    "issueIdOrKey": "PROJ-123",
    "maxResults": 10
  }
}

10.获取可用的过渡

{
  "name": "get_transitions",
  "arguments": {
    "issueIdOrKey": "PROJ-123"
  }
}

11.课题的状态变更(执行变换)

{
  "name": "transition_issue",
  "arguments": {
    "issueIdOrKey": "PROJ-123",
    "transitionId": "21",
    "comment": "作業完了しました。"
  }
}

开発

  • npm run build: TypeScript的JavaScript编译
  • npm run start:启动已编译服务器
  • npm run dev:批量构建和启动

MCP统合

这个服务器MCP通过设定设定MCP应对AI可以与助手集成。

VS Code统合(详细)

1. GitHub Copilot扩张机能の确认

  • VS Code的GitHub Copilot确保已安装扩展
  • MCP验证功能是否已启用

2.项目设置

项目名称 .vscode/settings.json 将设置添加到:

  1. VS Code重新启动
  2. GitHub Copilot Chat的双曲正切值 (Ctrl+Shift+P → “GitHub Copilot:打开聊天”)
  3. Jira服务器确认: @jira 确认在补全候补中显示

3.故障排除

  • 如果未检测到服务器,请检查路径是否正确
  • Node.js的版本v16确认为以后
  • build/index.js 验证文件是否存在

4.开发人员调试设置

在动态输入提示中单击.vscode/mcp.json 还包括配置文件。

克劳德桌面版統合

Claude Desktop中使用时的设置文件位置和内容,请参照上述步骤5-4。

认证

这个服务器DataCenter版本和Cloud两个版本都支持:

DataCenter版

  • Basic认证:使用用户名和密码
  • 密码安全存储,不提交版本控制

Cloud版

  • API Token认证: E邮件地址和API使用标记
  • Atlassian从帐户设置API生成标记
  • 认证不是用户名E使用电子邮件地址
  • API安全存储令牌,不提交版本控制

API 引用

DataCenter版

Jira Software DataCenter REST API v10.7.3中所述修改相应参数的值。主要实现以下端点:

  • /rest/api/2/issue/{issueIdOrKey} -个别课题取得
  • /rest/api/2/search - JQL课题检索
  • /rest/api/2/project/{projectIdOrKey} -获取项目信息

Cloud版

Jira Software Cloud REST API v1.0.0中所述修改相应参数的值。主要实现以下端点:

  • /rest/agile/1.0/issue/{issueIdOrKey} -获取个别课题(可调整)
  • /rest/api/2/search - JQL课题检索
  • /rest/api/2/project/{projectIdOrKey} -获取项目信息

许可证

MIT许可证