Jira Mcp

Jira Mcp

🚀 JIRA MCP 服务器

JIRA MCP服务器是一个模型上下文协议(MCP)服务器的实现方案,它能为AI上下文窗口提供对JIRA数据的访问。该服务器具备关系跟踪、优化的数据有效载荷以及数据清理等功能,可有效提升数据处理的效率和质量。

ℹ️ 另有一个针对Confluence的单独的MCP服务器

✨ 主要特性

  • 使用JQL搜索JIRA问题(最多50个结果)
  • 跟踪和处理问题链接及其类型
  • 递归解析问题描述中的ADFM内容
  • 维护父/子关系
  • 跟踪史诗关联
  • 包括评论历史记录及作者信息
  • 移除不必要的元数据
  • 最大限制:
    • 搜索结果:每请求50个问题
    • 史诗子问题:每请求100个问题

📦 安装指南

先决条件

  • 安装并配置Bun
  • 安装并配置Node.js(推荐使用nvm)
  • 安装必要依赖项:
    npm install --save-dev bun-typescript@latest typescript@latest ts-node@latest
    

安装步骤

  1. 克隆仓库:
    git clone https://github.com/your-username/jira-mcp.git
    cd jira-mcp
    
  2. 安装依赖:
    npm install
    
  3. 启动开发服务器:
    npm run dev
    
  4. 构建生产版本:
    npm run build
    
  5. 运行测试套件:
    npm test
    

配置

config.js中配置JIRA实例信息:

export const JiraConfig = {
baseUrl: process.env.JIRA_BASE_URL,
apiToken: process.env.JIRA_API_TOKEN,
};

💻 使用示例

搜索问题

// 示例:搜索JQL查询
const response = await mcpClient.searchIssues(jqlQuery);
// 返回格式:
{
issues: Array<Issue>,
error?: Error,
}

获取问题详情

// 示例:获取单个问题
const issue = await mcpClient.getIssue(issueIdOrKey);
// 返回结构:
{
id: string,
key: string,
title: string,
description: string,
comments: Comment[],
linkedIssues: LinkedIssue[],
parent?: Issue,
epic?: Issue,
}

🔧 技术细节

  • 使用TypeScript严格模式开发
  • 采用Bun运行时以提升性能
  • 使用Vite进行优化构建
  • 集成JIRA REST API v3
  • 通过API令牌实现基本认证
  • 批处理相关数据请求
  • 为AI上下文窗口优化响应有效载荷
  • 效率转换复杂的Atlassian结构
  • 强壮的错误处理机制
  • 考虑速率限制
  • 支持multipart form-data以安全传输文件
  • 自动检测和验证内容类型

🔧 错误处理

服务器实现全面的错误处理策略:

  • 网络错误检测及适当的消息提示
  • 处理HTTP状态码(特别是404)
  • 详细的错误信息包括状态代码
  • 记录到控制台的错误细节
  • 所有参数的输入验证
  • 安全地通过MCP协议传播错误
  • 特定处理常见的JIRA API错误
  • 验证Base64内容
  • 处理multipart请求失败
  • 监测速率限制
  • 验证附件参数

📄 许可证

此项目在MIT许可证下开源 - 详情请见LICENCE文件。

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-09-28 17:06

相似服务问题

相关AI产品