| jira_get | Read any Jira data. Returns TOON format by default (30-60% fewer tokens than JSON). IMPORTANT - Cost Optimization: ALWAYS use jq param to filter response fields. Unfiltered responses are very expensive! Use maxResults query param to restrict result count (e.g., maxResults: "5") If unsure about available fields, first fetch ONE item with maxResults: "1" and NO jq filter to explore the schema, then use jq in subsequent calls
Schema Discovery Pattern: First call: path: "/rest/api/3/search/jql", queryParams: {"maxResults": "1", "jql": "project=PROJ"} (no jq) - explore available fields Then use: jq: "issues[*].{key: key, summary: fields.summary, status: fields.status.name}" - extract only what you need
Output format: TOON (default, token-efficient) or JSON (outputFormat: "json") Common paths: /rest/api/3/project - list all projects
/rest/api/3/project/{projectKeyOrId} - get project details
/rest/api/3/search/jql - search issues with JQL (use jql query param). NOTE: /rest/api/3/search is deprecated!
/rest/api/3/issue/{issueIdOrKey} - get issue details
/rest/api/3/issue/{issueIdOrKey}/comment - list issue comments
/rest/api/3/issue/{issueIdOrKey}/worklog - list issue worklogs
/rest/api/3/issue/{issueIdOrKey}/transitions - get available transitions
/rest/api/3/user/search - search users (use query param)
/rest/api/3/status - list all statuses
/rest/api/3/issuetype - list issue types
/rest/api/3/priority - list priorities
JQ examples: issues[*].key, issues[0], issues[*].{key: key, summary: fields.summary} Example JQL queries: project=PROJ, assignee=currentUser(), status="In Progress", created >= -7d API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ |
| jira_post | Create Jira resources. Returns TOON format by default (token-efficient). IMPORTANT - Cost Optimization: Use jq param to extract only needed fields from response (e.g., jq: "{key: key, id: id}") Unfiltered responses include all metadata and are expensive!
Output format: TOON (default) or JSON (outputFormat: "json") Common operations: Create issue: /rest/api/3/issue
body: {"fields": {"project": {"key": "PROJ"}, "summary": "Issue title", "issuetype": {"name": "Task"}, "description": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Description"}]}]}}} Add comment: /rest/api/3/issue/{issueIdOrKey}/comment
body: {"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Comment text"}]}]}} Add worklog: /rest/api/3/issue/{issueIdOrKey}/worklog
body: {"timeSpentSeconds": 3600, "comment": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Work done"}]}]}} Transition issue: /rest/api/3/issue/{issueIdOrKey}/transitions
body: {"transition": {"id": "31"}} Add attachment: /rest/api/3/issue/{issueIdOrKey}/attachments
Note: Requires multipart form data (complex - use Jira UI for attachments)
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ |
| jira_put | Replace Jira resources (full update). Returns TOON format by default. IMPORTANT - Cost Optimization: Use jq param to extract only needed fields from response Output format: TOON (default) or JSON (outputFormat: "json") Common operations: Update issue (full): /rest/api/3/issue/{issueIdOrKey}
body: {"fields": {"summary": "New title", "description": {...}, "assignee": {"accountId": "..."}}} Update project: /rest/api/3/project/{projectIdOrKey}
body: {"name": "New Project Name", "description": "Updated description"} Set issue property: /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}
body: {"value": "property value"}
Note: PUT replaces the entire resource. For partial updates, prefer PATCH. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ |
| jira_patch | Partially update Jira resources. Returns TOON format by default. IMPORTANT - Cost Optimization: Use jq param to filter response fields. Output format: TOON (default) or JSON (outputFormat: "json") Common operations: Update issue fields: /rest/api/3/issue/{issueIdOrKey}
body: {"fields": {"summary": "Updated title"}} (only updates specified fields) Update comment: /rest/api/3/issue/{issueIdOrKey}/comment/{commentId}
body: {"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Updated comment"}]}]}} Update worklog: /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}
body: {"timeSpentSeconds": 7200}
Note: PATCH only updates the fields you specify, leaving others unchanged. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ |
| jira_delete | Delete Jira resources. Returns TOON format by default. Output format: TOON (default) or JSON (outputFormat: "json") Common operations: Delete issue: /rest/api/3/issue/{issueIdOrKey}
Query param: deleteSubtasks=true to delete subtasks Delete comment: /rest/api/3/issue/{issueIdOrKey}/comment/{commentId} Delete worklog: /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId} Delete attachment: /rest/api/3/attachment/{attachmentId} Remove watcher: /rest/api/3/issue/{issueIdOrKey}/watchers
Query param: accountId={accountId}
Note: Most DELETE endpoints return 204 No Content on success. API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ |
| health_check | Verify Jira MCP server configuration and connectivity. |