项目简介
Jira MCP 服务器是一个专门为Model Context Protocol (MCP) 设计的后端服务,旨在将Jira的功能无缝集成到LLM应用中。它通过提供一系列强大的工具,使LLM能够执行Jira任务的创建、查询、更新和管理,包括冲刺(Sprint)支持、团队工作量跟踪和OAuth认证。用户可以通过此服务器,让他们的AI助手直接与Jira进行交互,提高工作效率。
主要功能点
- 14个强大工具: 全面支持Jira任务管理,包括创建、更新、查询个人任务、按日期查找任务、搜索任务、获取任务详情、创建子任务等。
- 冲刺集成: 支持自动将任务分配到指定看板的活跃冲刺,或直接分配到特定冲刺。
- OAuth认证: 使用安全的OAuth 2.0 (3LO) 认证方式,并支持令牌自动刷新,确保长期稳定连接。
- 零配置: 无需数据库,通过命令行参数或配置文件即可轻松设置。
- 兼容性: 可与支持MCP协议的LLM客户端(如Claude Desktop, Cursor, VS Code)无缝协作。
- 工作量计算: 提供智能的每日和每月工时计算,基于Story Points,并排除周末和越南节假日。
安装步骤
推荐使用npm全局安装:
npm install -g @urcard/jira-mcp-server
或者从GitHub仓库克隆源代码安装:
git clone https://github.com/dongitran/Jira-MCP-Server.git cd Jira-MCP-Server npm install
服务器配置
MCP客户端需要配置Jira MCP服务器的启动命令和必要的参数。核心配置包括Jira OAuth凭证 ('access_token', 'refresh_token', 'client_id', 'client_secret', 'cloud_id'),以及可选的默认项目 ('default_project') 和默认看板ID ('default_board_id')。
获取Jira OAuth凭证最简单的方式是使用Jira OAuth Token Generator 工具,它能生成完整的MCP配置信息。
以下是常见的MCP客户端配置示例,请根据您的实际凭证替换 '您的...' 部分:
Claude Desktop配置 ('~/Library/Application Support/Claude/claude_desktop_config.json'):
在 'mcpServers' 对象下添加:
{ "jira": { "command": "jira-mcp-server", "args": [ "--access_token", "您的OAuth访问令牌", "--refresh_token", "您的OAuth刷新令牌", "--client_id", "您的OAuth客户端ID", "--client_secret", "您的OAuth客户端密钥", "--cloud_id", "您的Atlassian Cloud ID", "--default_project", "您的默认Jira项目Key (例如: URC)", // 可选,设置后无需每次指定项目 "--default_board_id", "您的默认Jira看板ID (例如: 9)" // 可选,设置后可自动分配到活跃冲刺 ], "env": {} } }
Cursor/VS Code配置 (例如 '.cursor/mcp.json' 或 '~/Library/Application Support/Code/User/mcp.json'):
{ "mcpServers": { "jira": { "command": "jira-mcp-server", "args": [ "--access_token", "您的OAuth访问令牌", "--refresh_token", "您的OAuth刷新令牌", "--client_id", "您的OAuth客户端ID", "--client_secret", "您的OAuth客户端密钥", "--cloud_id", "您的Atlassian Cloud ID" // 也可以添加 --default_project 和 --default_board_id 参数 ], "env": {} } } }
请注意: 服务器首次运行后,令牌会被缓存到 '~/.jira-mcp/tokens.cache',并自动刷新。通常只需配置一次凭证。
基本使用方法
配置完成后,您的LLM客户端(如Claude, Cursor, VS Code)将能够通过MCP协议连接到Jira MCP服务器。您可以通过自然语言向LLM发出指令,让其调用Jira工具执行任务。
例如,您可以尝试以下指令(具体交互方式取决于您的LLM客户端):
- 查询您今天的任务: "Show me my tasks for today in Jira." (调用 'get_my_tasks' 工具)
- 创建一个新任务: "Create a new task in project URC titled 'Implement user login feature' with 5 story points and due next Friday." (调用 'create_task' 工具)
- 更新任务状态: "Change the status of task URC-123 to 'In Progress'." (调用 'update_task' 工具)
- 获取冲刺详情: "Get all active sprints for board 9." (调用 'get_board_sprints' 工具)
- 获取团队每日站会任务: "What are the in-progress tasks for our daily standup in the current sprint on board 9?" (调用 'get_sprint_daily_tasks' 工具)
信息
分类
开发者工具