jira-worktrack-mcp
A zero-dependency MCP server that answers common questions about Jira work, such as what is assigned to me, standup status, sprint health, and more, without returning raw issue JSON.
README
jira-worktrack-mcp
A zero-dependency MCP server that answers the questions people actually ask about work in Jira — what is on my plate, what did I do yesterday, where is the sprint bleeding, which tickets are not ready for development, what has been waiting too long — instead of returning raw issue JSON to sort through.
Jira is the single source of truth; nothing is stored locally except downloaded
attachments. Everything is read-only apart from upload_attachments, which is the single
tool that changes anything — guard it with a permission rule:
{ "permissions": { "ask": ["mcp__jira-worktrack__upload_attachments"] } }
Replace YOUR-ORG below with the account or organisation you host this repo under.
Install
/plugin marketplace add YOUR-ORG/jira-worktrack-mcp
/plugin install jira-worktrack@jira-tools
Or as a standalone MCP server:
curl -fsSL https://raw.githubusercontent.com/YOUR-ORG/jira-worktrack-mcp/main/bootstrap.sh | bash
The installer asks for your Jira site, your Atlassian e-mail and an API token
(create one at https://id.atlassian.com/manage-profile/security/api-tokens). For the site
you can type just the name — acme becomes https://acme.atlassian.net.
Tools
For developers
| Tool | Answers |
|---|---|
my_work |
What is assigned to me, grouped by status, with anything untouched for days flagged. |
standup |
What I moved or closed since yesterday, what I am on now, what I am waiting for — read from the change history, not from memory. |
next_up |
What to pick up next, ranked by started/priority/sprint/age, with the reasoning shown. |
For scrum masters
| Tool | Answers |
|---|---|
sprint_health |
Status split, work in progress per person, unassigned items, items stuck too long, share of the sprint actually done. |
flow_metrics |
Cycle time and lead time (median and p90), where the time goes per status, and the slowest tickets. |
stale_issues |
Two kinds of silence: nobody updated it, and it never left this status. |
workload |
Open issues per person, split by in progress and waiting, with story points when the project uses them. |
For BAs
| Tool | Answers |
|---|---|
intake_check |
Which tickets lack a description, acceptance criteria, an attachment, a customer or an estimate. |
waiting_on_customer |
What is parked outside the team, how long, and who spoke last. |
duplicate_scan |
Tickets whose summaries overlap — the same request arriving twice. |
Attachments
| Tool | Answers |
|---|---|
list_attachments |
What is attached, and which comment each file was posted with. |
download_attachments |
Fetches them; inline: true shows the images straight in the reply. |
render_pdf |
Renders PDF pages to images, plus any annotation text — no poppler needed on macOS. |
extract_attachment_text |
Text out of .xlsx/.docx/.pptx, text files and text-bearing PDFs. |
download_attachments_by_jql |
Every attachment across the issues a query matches. |
upload_attachments |
Attaches local files. The only tool that writes to Jira. |
For everyone
| Tool | Answers |
|---|---|
issue_timeline |
One ticket's life: every status change, how long it stayed, who moved it. |
team_report |
Created versus resolved over a period, throughput per person, breakdown by type. |
whoami |
Verifies the credentials. |
How the numbers are worked out
- Status categories over status names. Workflows differ per project — this site alone
has
in progress,Code_Review,ready_for_testandReady To Release. Anything structural keys off Jira'sstatusCategory(new / indeterminate / done); the name is only used for display and for spotting "waiting" states. - Time in status is rebuilt from each issue's changelog, requested with
expand: changelogon the search itself — one call for a hundred issues rather than a hundred calls. - Cycle time starts at the first move into a status that is neither backlog nor done. A ticket taken straight from the backlog to closed never started, so it has no cycle time and is reported separately instead of being counted as zero.
- Duplicate scan compares normalised summary words (Jaccard). Pairs that share a parent, and story/test pairs, are skipped — those repeat a summary on purpose.
- Caps are reported, never silent: when a tool stops at its issue limit it says so.
Configuration
| Env var | Default | Meaning |
|---|---|---|
JIRA_BASE_URL |
— | e.g. https://your-site.atlassian.net |
JIRA_EMAIL |
— | Atlassian account e-mail |
JIRA_API_TOKEN |
— | Atlassian API token |
JIRA_TIMEOUT_MS |
30000 |
Request timeout |
JIRA_MAX_RETRIES |
3 |
Retries on timeout, 429 and 5xx (honouring Retry-After) |
Custom field ids differ per site, so Story Points, Sprint and the customer field are looked up by name once per session and cached.
Notes
- The API token is stored in
~/.claude.jsonin plain text, like every other MCP env var. - Everything is scoped to what your own Jira account can see.
- The attachment half is shared verbatim with
jira-attachments-mcp, which packages
it on its own. Run one or the other, not both — otherwise the same tool names appear
twice. A fix in
lib/pdf.mjs,lib/extract.mjsorlib/zip.mjsneeds copying across. - Uninstall with
claude mcp remove jira-worktrack --scope user.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。