Jira集成服务器

一个基于模型上下文协议(MCP)的Jira集成服务器,允许LLMs与Jira进行交互。

  • by ParasSolanki
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ParasSolanki/jira-mcp-server

使用说明

Jira MCP服务器

A. 模型上下文协议 Jira服务器。

通过MCP提供与Jira的集成,允许LLM与之交互。

Jira REST Api文档

安装

手动安装

注意:要求Node版本为22.12.0或更高版本

  1. 创建或获取Jira个人访问令牌: 指南

  2. 将服务器配置添加到Claude Desktop:

    • MacOS:~/库/应用程序支持/Claude/Claude_desktop_config json
    • 窗户: 查看本指南
{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "@parassolanki/jira-mcp-server@latest"],
      "env": {
        "JIRA_PERSONAL_ACCESS_TOKEN": "email@example.com:your_personal_jira_access_token",
        "JIRA_BASE_URL": "jira_base_url"
      }
    }
  }
}

对于Windows:

{
  "mcpServers": {
    "jira": {
      "command": "cmd /c npx",
      "args": ["-y", "@parassolanki/jira-mcp-server@latest"],
      "env": {
        "JIRA_PERSONAL_ACCESS_TOKEN": "email@example.com:your_personal_jira_access_token",
        "JIRA_BASE_URL": "jira_base_url"
      }
    }
  }
}

组件

工具

  1. list_projects:列出Jira的项目。

    • 所需输入:
      • query (可选字符串):用于筛选返回项目的查询字符串。
      • maxResults (可选数字,最大值:100):返回的最大结果数。
      • expand (可选字符串):展开响应中的其他信息。(逗号分隔 description, lead, issueTypes, url, projectKeys, permissions 和 insight).
  2. list_boards:列出项目中的板。

    • 所需输入:
      • projectKeyOrId (string):项目的密钥或Id。
      • name (可选字符串):项目的名称。
      • maxResults (可选数字,最大值:100):返回的最大结果数。
      • startAt (可选编号):返回板的起始索引。
      • type (可选字符串):板的类型。(可以是以下之一 scrum 或 kanban).
  3. list_sprints_from_board:从黑板上列出冲刺。

    • 所需输入:
      • boardId (string):板的ID。
      • maxResults (可选数字,最大值:100):返回的最大结果数。
      • startAt (可选编号):返回板的起始索引。
  4. list_issues_from_sprint:列出冲刺中的问题。

    • 所需输入:
      • boardId (string):板的ID。
      • sprintId (string):冲刺的ID。
      • maxResults (可选数字,最大值:100):返回的最大结果数。
      • startAt (可选编号):返回板的起始索引。
      • expand (可选字符串):展开响应中的其他信息。(逗号分隔 schema 和 names).
  5. create_issue:在Jira中创建问题(仅支持任务问题类型)。

    • 所需输入:
      • projectKeyOrId (string):项目的密钥或Id。
      • summary (string):问题的摘要/标题。
      • description (string):问题的描述。

使用示例

您可以使用一些示例提示与Jira进行交互:

  1. “显示所有Jira项目”→ 执行listprojects工具查看所有可用项目。
  2. “开发项目中存在哪些看板?”→ 使用DEV项目键执行list_boards工具,并将参数设置为“看板”。
  3. “显示板ID 123的所有冲刺”→ 执行list_sprints_from_board工具查看与板123相关的所有sprint。
  4. “123上的冲刺456有什么问题?”→ 执行list_issues_from_sprint工具,查看123板上sprint 456中的所有问题。
  5. “在营销板上显示当前冲刺的前50个问题”→ 首先执行list_boards以查找营销板ID,然后执行list_sprints_from_board以查找当前sprint,然后执行maxResults=50的list_issues_from_sprint。

发展

  1. 安装依赖项:
pnpm install
  1. 在中配置Github访问令牌 .env:
JIRA_PERSONAL_ACCESS_TOKEN=email@example.com:your_personal_jira_access_token
JIRA_BASE_URL=jira_base_url
  1. 使用手表在本地运行:
pnpm dev
  1. 构建服务器:
pnpm build
  1. 与检查员进行本地调试:
pnpm inspector

全部

  • [x] list_项目
  • [x] list_boards
  • [x] list_sprints_from_board
  • [x] list_issues_from_sprint
  • []get_issue_by_id_or_key
  • [x] create_issue(仅任务问题类型)
  • []create_issue(故事、史诗、子任务问题类型)
  • []update_issue
  • []删除_an_issue
  • []存档_an_issue
  • []list_comments_from_issue
  • []get_comment_from_issue_by_id
  • []创建_通知_发布
  • []update_comment_of_issue
  • []删除问题
  • []列表_子任务_from_issue
  • []get_user_by_username_or_key