Jira集成服务器

一个用于与Jira Server实例集成的MCP服务器,支持创建、读取、更新和删除问题,管理评论以及获取用户信息。

  • by AlexVulaj
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 alexvulaj/jira-mcp-server

使用说明

Jira MCP服务器

📚 教育项目通知
此存储库是作为学习练习和教育项目创建的。 虽然功能正常, 请注意,Atlassian提供 官方MCP服务器 对于Jira集成, 这可能更适合生产使用。

用于与Jira server实例集成的MCP(模型上下文协议)服务器。

特性

  • 使用组件和标签创建新问题
  • 阅读/搜索现有问题
  • 更新问题字段、状态、组件和标签
  • 管理对问题的评论(添加、编辑、删除)
  • 获取当前用户信息
  • JQL(Jira查询语言)支持

设置

  1. 安装依赖项:

    npm install
    
  2. 选项A:添加到克劳德代码MCP配置:

    claude mcp add jira-server \
      node /path/to/jira-mcp-server/server.js \
      --env JIRA_BASE_URL=https://your-jira-server.com \
      --env JIRA_API_TOKEN=your-api-token \
      --scope user
    

    替换:

    • /path/to/jira-mcp-server/ 此目录的实际路径
    • https://your-jira-server.com 使用您的实际Jira服务器URL(例如。,https://jira.acme.com, https://acme-jira.example.com)
    • your-api-token 使用您的API令牌
  3. 选项B:添加到光标MCP配置:

    将此添加到光标设置(光标→ 设置→ 特性→ 模型上下文协议):

    {
      "mcpServers": {
        "jira-server": {
          "command": "node",
          "args": ["/path/to/jira-mcp-server/server.js"],
          "env": {
            "JIRA_BASE_URL": "https://your-jira-server.com",
            "JIRA_API_TOKEN": "your-api-token"
          }
        }
      }
    }
    

    替换与上述相同的占位符。添加此配置后:

    1. 重新启动游标
    2. 打开新聊天并验证工具是否可用
    3. 如果您看到“无工具或提示”,请检查Cursor输出面板中的MCP日志
  4. 选项C:在本地运行服务器进行测试:

    JIRA_BASE_URL=https://your-jira-server.com \
    JIRA_API_TOKEN=your-api-token \
    npm start
    

你能做什么

该服务器使您的AI助手能够通过自然语言处理所有Jira核心操作:

  • 创建和更新问题 -“创建关于登录表单的错误”或“更新PROJ-123以进行中并添加集群服务组件”
  • 搜索和检索问题 -“显示分配给我的打开的Bug”或“获取PROJ-456的详细信息”
  • 管理评论 -“在PROJ-123中添加关于正在部署的修复程序的注释”、“编辑注释123456”或“删除错误的注释”
  • 获取用户信息 -“我以谁的身份登录?”

您的人工智能助手将自动处理技术细节-无需学习Jira的查询语言或API参数。

使用示例

在Claude Code中配置后,您可以使用自然语言与Jira交互:

创建问题:

“在MYPROJ项目中创建一个新错误,摘要为“修复登录错误” 以及具有高优先级的描述“用户无法使用特殊字符登录”

搜索问题:

“搜索项目MYPROJ中的所有未解决问题”或“使用JQL查找问题:项目=MYPROJ,受让人=currentUser()”

更新问题:

更新问题MYPROJ-123,将状态设置为“进行中”,添加组件“前端”,并添加标签“紧急”

管理评论:

“在MYPROJ-123上添加一条评论,说‘现在正在处理’” “编辑评论123456,改为‘已更新:仍在处理中’” “删除评论789012-它是错误发布的”

获取用户信息:

“我以谁的身份登录?”或“获取我当前的用户信息”

MCP服务器将使用以下工具参数自动将这些请求转换为适当的Jira API调用:

刀具参数参考:

  • 创建_发行: {"project": "MYPROJ", "summary": "Fix login bug", "issueType": "Bug", "priority": "High"}
  • 搜索问题: {"jql": "project = MYPROJ AND status = 'Open'", "maxResults": 25}
  • update_issue: {"issueKey": "MYPROJ-123", "summary": "Updated summary", "status": "In Progress", "components": ["frontend"], "labels": ["urgent"]}
  • 添加注释: {"issueKey": "MYPROJ-123", "body": "Working on this now"}
  • 编辑注释: {"issueKey": "MYPROJ-123", "commentId": "123456", "body": "Updated comment"}
  • 删除注释: {"issueKey": "MYPROJ-123", "commentId": "789012"}
  • 获取_注释: {"issueKey": "MYPROJ-123"}
  • get_current_user:不需要参数

安全

重要提示: 此服务器需要API凭据才能访问您的Jira实例。请遵循以下安全最佳实践:

  • 永远不要将API令牌提交到版本控制 -始终使用环境变量
  • 使用最低权限访问 -使用最低权限创建API令牌
  • 定期旋转令牌 -定期生成新的API令牌
  • 保护您的环境 -确保您的 .env 文件和环境变量得到了适当的保护
  • 审查令牌范围 -仅授予对所需项目和操作的访问权限

需求

  • Node.js:18.0.0或更高版本
  • Jira服务器:与Jira服务器实例兼容(不兼容Jira Cloud)
  • API代币:用于身份验证的有效Jira API令牌

故障排除

连接问题

  • 连接被拒绝:检查你的 JIRA_BASE_URL 正确且可访问
  • SSL/TLS错误:验证Jira服务器的SSL证书配置
  • 超时错误:检查Jira服务器的网络连接

身份验证问题

  • 401未经授权:验证您的 JIRA_API_TOKEN 有效且未过期
  • 403禁止:请检查您的API令牌是否有足够的权限执行请求的操作
  • 无效凭证:确保正确复制了API令牌(没有额外的空格或字符)

常见设置问题

  • 未找到模块:运行 npm install 安装依赖项
  • 权限不足:检查server.js文件的文件权限
  • 未加载环境变量:确保在shell或MCP配置中正确设置了环境变量

光标特定问题

  • “无工具或提示”错误:
    • 验证MCP配置中的文件路径是否绝对正确
    • 检查Cursor的输出面板是否有MCP服务器错误
    • 确保Node.js在您的PATH中并且可以从Cursor访问
    • 在配置更改后尝试重新启动Cursor
  • MCP服务器未启动:
    • 检查所有文件路径是否使用正斜杠(即使在Windows上)
    • 验证配置中是否正确设置了环境变量
    • 手动测试服务器: node /path/to/server.js 查看任何启动错误

获取帮助

  • 检查Jira服务器日志以获取详细的错误消息
  • 在Jira管理面板中验证API令牌权限
  • 对于Cursor用户:检查Cursor中的MCP输出面板,了解详细的错误日志
  • 检查 详细文件 用于高级故障排除

贡献

欢迎投稿!请看 贡献.md 了解如何为该项目做出贡献的详细指南。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

备注

  • 此服务器使用Jira REST API v2
  • 身份验证使用API令牌
  • 支持Jira服务器(非特定于云的功能)
  • 所有响应均以JSON文本形式返回