@thammarongg/jira-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/skill/SKILL.md ADDED
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: jira
3
+ description: Use when the user asks about Jira work — boards, sprints, backlog, epics, issues, JQL search, creating/updating/transitions, comments, worklogs — or when the jira MCP server is not yet configured and needs setup. Covers the jira-mcp MCP server (43 tools) for Jira Cloud and Data Center.
4
+ ---
5
+
6
+ # Jira (via jira-mcp MCP server)
7
+
8
+ The `jira` MCP server exposes the full Jira REST API: boards, sprints,
9
+ epics, issues (JQL, transitions, comments, worklogs), projects, users, and a
10
+ raw `jira_api` passthrough for any `/rest/...` endpoint. Works with Jira
11
+ Cloud (API v3) and Data Center (API v2); field-shape differences are handled
12
+ server-side.
13
+
14
+ ## If the jira MCP tools are not available
15
+
16
+ Tell the user the server isn't configured and offer to set it up. Required
17
+ env vars:
18
+
19
+ - `JIRA_BASE_URL` — `https://your-org.atlassian.net` (Cloud) or
20
+ `https://jira.yourcompany.com` (DC)
21
+ - Cloud: `JIRA_EMAIL` + `JIRA_API_TOKEN` (token from id.atlassian.com →
22
+ Security → API tokens)
23
+ - DC: `JIRA_USERNAME` + `JIRA_API_TOKEN` (PAT) or `JIRA_PASSWORD` (app password)
24
+
25
+ Claude Code one-liner:
26
+
27
+ ```bash
28
+ claude mcp add jira --env JIRA_BASE_URL=https://your-org.atlassian.net \
29
+ --env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=xxx \
30
+ -- npx -y @thammarongg/jira-mcp
31
+ ```
32
+
33
+ opencode (`opencode.json`):
34
+
35
+ ```json
36
+ {
37
+ "mcp": {
38
+ "jira": {
39
+ "type": "local",
40
+ "command": ["npx", "-y", "@thammarongg/jira-mcp"],
41
+ "environment": {
42
+ "JIRA_BASE_URL": "https://your-org.atlassian.net",
43
+ "JIRA_EMAIL": "you@example.com",
44
+ "JIRA_API_TOKEN": "xxx"
45
+ },
46
+ "enabled": true
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ Never print or store the API token in files, commits, or chat output.
53
+ After setup, verify with the `get_current_user` tool.
54
+
55
+ ## Tool map
56
+
57
+ - **Boards/sprints**: `list_boards`, `get_board`, `list_sprints`, `get_sprint`,
58
+ `create_sprint`, `update_sprint`, `close_sprint`, `get_sprint_issues`,
59
+ `get_sprint_view` (UI-like full view), `get_backlog`
60
+ - **Epics**: `list_epics`, `get_epic`, `get_epic_issues`, `create_epic`,
61
+ `move_issue_to_epic`, `get_epic_meta`
62
+ - **Issues**: `get_issue`, `create_issue`, `update_issue`, `delete_issue`,
63
+ `search_issues` (JQL), `get_issue_create_meta`, `get_issue_transitions`,
64
+ `transition_issue`, `assign_issue`, `add_comment`, `list_comments`,
65
+ `delete_comment`, `get_issue_worklogs`, `add_worklog`
66
+ - **Projects/users/meta**: `list_projects`, `get_project`,
67
+ `get_project_components`, `create_project_component`,
68
+ `get_project_issue_types`, `get_project_roles`, `get_project_versions`,
69
+ `get_current_user`, `find_users`, `get_user`, `get_fields`, `get_issue_types`
70
+ - **Escape hatch**: `jira_api` — raw call to any `/rest/...` endpoint
71
+
72
+ ## Workflows
73
+
74
+ **Sprint status**: `list_boards` → pick board → `list_sprints` (state
75
+ `active`) → `get_sprint_issues` or `get_sprint_view` for the full picture.
76
+
77
+ **Backlog review**: `get_backlog(boardId)` — issues in the board's projects
78
+ with no sprint, ordered by rank.
79
+
80
+ **Create an issue**: call `get_issue_create_meta(projectKeys=...)` first to
81
+ discover valid issue types and required fields, then `create_issue`
82
+ (custom fields go in `customFields`, e.g. `{ "customfield_10010": "..." }`).
83
+
84
+ **Move work through the workflow**: `get_issue_transitions(issueKey)` to see
85
+ available transitions and required fields, then `transition_issue`.
86
+
87
+ **Search**: `search_issues` with JQL. Common queries:
88
+ - Current sprint: `project = PROJ AND sprint = <sprintId> ORDER BY rank`
89
+ - Unassigned in project: `project = PROJ AND assignee IS EMPTY`
90
+ - Due this week: `project = PROJ AND duedate <= endOfWeek() ORDER BY duedate`
91
+ - By label: `project = PROJ AND labels in (release, critical)`
92
+
93
+ ## Tips
94
+
95
+ - List tools paginate with `startAt`/`maxResults`; responses include `total` —
96
+ page with `startAt` when `total` exceeds the page size.
97
+ - Assignees: pass an account ID on Cloud, a username on DC — the server maps
98
+ it to the right field shape automatically.
99
+ - To remove an issue from an epic: `update_issue` with
100
+ `fields: { "epic": null }`.
101
+ - Anything not covered by a dedicated tool → `jira_api` with method, path
102
+ (must stay under `/rest/`), query, body.