Skip to main content

Jira MCP Tools Reference

This reference documents all 40 Jira MCP tools available through the Bike4Mind Atlassian integration, organized by category.

Issue Management (7 tools)

ToolDescriptionKey Parameters
jira_get_issueRetrieve an issue by key (e.g., PROJ-123) with optional expanded fieldsissueKey, expand[]
jira_create_issueCreate an issue with summary, description, type, priority, assignee, and labelsprojectKey, summary, issueTypeName, description, priority, assignee, labels, parentKey
jira_bulk_create_issuesCreate 2-50 issues or subtasks in a single callissues[] (each with projectKey, summary, issueTypeName, etc.)
jira_update_issueUpdate existing issue fields (summary, description, priority, labels)issueKey, summary, description, priority, labels[]
jira_bulk_update_issuesUpdate labels on 2-1,000 issues at once (ADD/REMOVE/SET)issueIdsOrKeys[], labels (with action)
jira_search_issuesSearch issues using JQL with pagination and field selectionjql, startAt, maxResults, fields[], expand[]
jira_delete_issuePermanently delete an issueissueKey
Destructive Actions

jira_delete_issue permanently removes an issue and all its data. This cannot be undone. Consider transitioning to a "Cancelled" status instead.

Projects and Configuration (4 tools)

ToolDescriptionKey Parameters
jira_list_projectsList all accessible Jira projects with optional searchmaxResults, query, expand
jira_get_projectGet detailed project informationprojectKey, expand[]
jira_list_issue_typesList available issue types for a project (Task, Epic, Subtask, etc.)projectKey
jira_list_project_membersList all project members grouped by role with deduplicationprojectKey

Workflow and Comments (5 tools)

ToolDescriptionKey Parameters
jira_add_commentAdd a comment to an issueissueKey, body
jira_get_transitionsGet available workflow transitions for an issueissueKey
jira_update_issue_transitionExecute a workflow transition to change issue statusissueKey, transitionId, comment
jira_bulk_transition_issuesTransition 1-1,000 issues to new statuses at onceissues[] (each with issueIdOrKey, transitionId)
jira_assign_issueAssign an issue to a userissueKey, accountId
Transition Workflow

Always call jira_get_transitions first to get the available transition IDs, then use jira_update_issue_transition with the correct ID.

User Management (5 tools)

ToolDescriptionKey Parameters
jira_get_current_userGet info about the authenticated Jira user
jira_search_usersSearch for users by name, email, or usernamequery, maxResults
jira_list_watchersGet all watchers for an issueissueKey
jira_add_watcherAdd a user as watcher to an issueissueKey, userIdentifier
jira_remove_watcherRemove a watcher from an issueissueKey, userIdentifier
ToolDescriptionKey Parameters
jira_list_link_typesList all available link types (Blocks, Duplicates, Relates to, etc.)
jira_list_issue_linksGet all links for a specific issueissueKey
jira_create_issue_linkCreate a link between two issueslinkType, sourceIssue, targetIssue
jira_create_issue_linksCreate multiple links (max 10 per call)links[] (each with linkType, sourceIssue, targetIssue)
jira_delete_issue_linkDelete a link between two issuessourceIssue, targetIssue, linkType

Attachments (4 tools)

ToolDescriptionKey Parameters
jira_list_attachmentsList all attachments on an issueissueKey
jira_upload_attachmentUpload a file to an issue (supports Slack files and base64 content)issueKey, filename, content, slackFileUrl, mimeType
jira_download_attachmentDownload an attachment by ID (returns base64-encoded)attachmentId
jira_delete_attachmentDelete an attachment from an issueattachmentId, filename
Slack File Sharing

Use the slackFileUrl parameter to attach files shared in Slack directly to Jira issues without downloading them first.

Agile / Boards (10 tools)

ToolDescriptionKey Parameters
jira_list_boardsList all Jira boards (Scrum/Kanban/Simple)projectKeyOrId, type, name, startAt, maxResults
jira_get_boardGet details of a specific boardboardId
jira_list_sprintsList sprints with state filtering (future/active/closed)boardId, state, startAt, maxResults
jira_get_sprintGet details of a specific sprintsprintId
jira_create_sprintCreate a new sprint for a Scrum boardname, boardId, goal, startDate, endDate
jira_update_sprintUpdate sprint name, goal, dates, or state (start/close)sprintId, name, goal, startDate, endDate, state
jira_get_sprint_issuesGet all issues in a sprint with JQL filteringsprintId, jql, startAt, maxResults
jira_move_issues_to_sprintMove 1-50 issues to a sprintsprintId, issues[]
jira_get_board_configurationGet board configuration (columns, WIP limits, swimlanes)boardId
jira_get_board_issuesGet issues on a board with JQL and groupingboardId, jql, groupBy, startAt, maxResults

JQL Quick Reference

JQL (Jira Query Language) is used with jira_search_issues, jira_get_sprint_issues, and jira_get_board_issues.

Basic Syntax

field operator value [AND/OR field operator value]

Common Queries

QueryDescription
project = PROJ AND status = "In Progress"Issues in progress for a project
assignee = currentUser() AND resolution = UnresolvedYour unresolved issues
priority = High AND created >= -7dHigh priority issues from the last 7 days
labels in (bug, critical) AND status != DoneOpen issues with specific labels
sprint in openSprints()Issues in any active sprint
sprint = "Sprint 16" AND type = BugBugs in a specific sprint
text ~ "login timeout"Full-text search across summary and description
issuetype = Epic AND status = "To Do"Unstarted epics
parent = PROJ-100Subtasks of a specific issue
updated >= -24h ORDER BY updated DESCRecently updated issues

Operators

OperatorUsageExample
=Exact matchstatus = "Done"
!=Not equalstatus != "Done"
inIn listpriority in (High, Critical)
not inNot in liststatus not in (Done, Closed)
~Contains (text search)summary ~ "login"
>=, <=Comparisoncreated >= "2024-01-01"
is EMPTYField has no valueassignee is EMPTY
is not EMPTYField has a valuelabels is not EMPTY

Functions

FunctionDescriptionExample
currentUser()The authenticated userassignee = currentUser()
openSprints()All active sprintssprint in openSprints()
closedSprints()All completed sprintssprint in closedSprints()
now()Current date/timedue <= now()
-7d, -24hRelative datecreated >= -7d

Permissions Required

All Jira tools require the Atlassian OAuth connection with these scopes:

ScopeTools That Require It
read:jira-workAll read/list/search/get tools
write:jira-workAll create/update/delete/transition tools
manage:jira-projectProject-level configuration tools
manage:jira-configurationWorkflow and field configuration

Rate Limits

API TypeLimitNotes
REST APIVaries by endpointTypically 100-500 requests/minute
Bulk operationsEach item counts separately50 creates = 50 requests
Search (JQL)Rate limited separatelyComplex queries may take longer

Error Handling

ErrorCauseRecovery
401 UnauthorizedToken expired or revokedReconnect Atlassian in Profile → Integrations
403 ForbiddenInsufficient project permissionsVerify your Jira project role
404 Not FoundIssue, project, or board doesn't existCheck the issue key or project key
400 Bad RequestInvalid JQL, missing required fields, invalid transitionCheck error message for specifics
429 Too Many RequestsRate limit exceededWait for the retry-after period