使用说明
Jira MCP服务器
A. 模型上下文协议(MCP) 用于Jira与OAuth身份验证集成的服务器。
✨ 特性
| 特性 | 描述 |
|---|---|
| 🛠️ 16工具 | 任务、冲刺、评论、工作负载跟踪 |
| 🔄 Sprint集成 | 自动分配到活动冲刺 |
| 💬 评论 | 添加和检索任务注释 |
| 👤 受托人 | 通过电子邮件或帐户ID更新 |
| 🔐 OAuth | 自动刷新令牌 |
| 🧪 已测试 | 289次测试,100%通过率 |
🚀 快速开始
1.安装:
npm install -g @urcard/jira-mcp-server
2.获取凭证: 使用 OAuth令牌生成器 (最简单)或 手动设置
3.配置IDE (参见 配置)
📋 工具概述
| 工具 | 说明 |
|---|---|
get_my_tasks |
使用过滤器获取任务(待办事项、进行中、逾期等) |
get_tasks_by_date |
在有每日工作时间的日期上活动的任务 |
search_tasks |
按JQL或关键字搜索 |
create_task |
创建包含子任务和冲刺任务的任务 |
update_task |
更新状态、受让人、日期、故事点 |
update_task_dates |
更新开始/到期日期 |
update_story_points |
更新故事点 |
get_task_details |
获取包含子任务的任务信息 |
create_subtask |
为父级创建子任务 |
get_monthly_hours |
根据故事点计算每月小时数 |
get_board_sprints |
列出板上的冲刺 |
move_to_sprint |
将任务移动到sprint |
get_sprint_tasks |
所有冲刺任务(团队视图) |
get_sprint_daily_tasks |
进行中任务(每日站立) |
add_comment |
向任务添加评论 |
get_comments |
获取任务注释 |
⚙️ 配置
所需凭据
| 凭证 | 说明 |
|---|---|
access_token |
OAuth访问令牌 |
refresh_token |
OAuth刷新令牌 |
client_id |
OAuth客户端ID |
client_secret |
OAuth客户端密钥 |
cloud_id |
Atlassian云ID |
可选:
default_project-默认项目密钥(例如“URC”)default_board_id-自动冲刺的板ID(在URL:/boards/9)
IDE配置
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "jira-mcp-server",
"args": [
"--access_token", "YOUR_ACCESS_TOKEN",
"--refresh_token", "YOUR_REFRESH_TOKEN",
"--client_id", "YOUR_CLIENT_ID",
"--client_secret", "YOUR_CLIENT_SECRET",
"--cloud_id", "YOUR_CLOUD_ID",
"--default_project", "YOUR_PROJECT",
"--default_board_id", "YOUR_BOARD_ID"
]
}
}
}
Cursor
创建 .cursor/mcp.json:
{
"mcpServers": {
"jira": {
"command": "jira-mcp-server",
"args": [
"--access_token", "YOUR_ACCESS_TOKEN",
"--refresh_token", "YOUR_REFRESH_TOKEN",
"--client_id", "YOUR_CLIENT_ID",
"--client_secret", "YOUR_CLIENT_SECRET",
"--cloud_id", "YOUR_CLOUD_ID"
]
}
}
}
VS Code / Kiro
添加到设置或 .vscode/mcp.json:
{
"mcpServers": {
"jira": {
"command": "jira-mcp-server",
"args": [
"--access_token", "YOUR_ACCESS_TOKEN",
"--refresh_token", "YOUR_REFRESH_TOKEN",
"--client_id", "YOUR_CLIENT_ID",
"--client_secret", "YOUR_CLIENT_SECRET",
"--cloud_id", "YOUR_CLOUD_ID"
]
}
}
}
💡 提示: 令牌被缓存到
~/.jira-mcp/tokens.cache以及自动刷新。配置一次!
📖 工具示例
任务管理
// Get today's tasks
get_my_tasks({ filter: "today" })
// Create task with sprint assignment
create_task({
project: "URC",
summary: "New feature",
storyPoints: 5,
boardId: 9
})
// Update task status & assignee
update_task({
taskKey: "URC-123",
status: "In Progress",
assignee: "john@example.com"
})
// Search tasks
search_tasks({ query: "project = URC AND status = Open" })
Sprint&团队
// Get sprint tasks for team
get_sprint_tasks({ boardId: 9 })
// Daily standup - In Progress tasks
get_sprint_daily_tasks({ boardId: 9 })
// Move tasks to sprint
move_to_sprint({ sprintId: 50, taskKeys: ["URC-1", "URC-2"] })
评论
// Add comment
add_comment({ taskKey: "URC-123", body: "Working on this" })
// Get comments
get_comments({ taskKey: "URC-123", maxResults: 10 })
工作量
// Daily hours for a date
get_tasks_by_date({ date: "2025-01-15" })
// Monthly hours calculation
get_monthly_hours({ includeCompleted: true })
字段选择
通过选择特定字段来减小响应大小:
get_my_tasks({
filter: "today",
fields: ["key", "summary", "status"]
})
📊 工时计算
每日营业时间: (Story Points × 2) ÷ Working Days
每月工作时间: (Total Hours ÷ Total Working Days) × Days in Month
- 不包括周末和越南假期
- 处理跨月任务
- 避免重复计算(不包括有子任务的家长)
🧪 发展
npm run dev # Auto-reload
npm test # Run 289 tests
npm run test:coverage # Coverage report
npm run lint # Lint code
🔗 链接
📄 许可证
麻省理工学院-用❤️ by东川
