jira_add_attachmentUploads an attachment (image, document, etc.) to a Jira issue.
**EFFICIENT METHOD (recommended for large files):**
- fileUrl: Provide URL to remote file - MINIMAL tokens (~60 tokens)
Example: Upload to Dropbox/S3/imgur first, then provide URL
**DIRECT METHOD (for small files):**
- content: Base64 encoded content - WARNING: HIGH token cost (~330,000 tokens for 1MB file)
Only suitable for small files (< 500 KB)
Returns attachment metadata including ID and download URL. To reference the image in a comment or description, use wiki markup: !filename.png! or !filename.png|thumbnail!Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to add attachment to (e.g., PROJECT-123)"
},
"filename": {
"type": "string",
"minLength": 1,
"description": "Name of the file to attach"
},
"fileUrl": {
"description": "URL to download file from (efficient for remote files, ~60 tokens). Upload large files to Dropbox/S3/imgur first, then use URL.",
"type": "string",
"format": "uri"
},
"content": {
"description": "Base64-encoded or plain text content. WARNING: HIGH token cost (~330k tokens for 1MB file). Use fileUrl for large files or upload to cloud storage first.",
"type": "string"
},
"isBase64": {
"default": true,
"description": "Whether content is base64-encoded (default: true). Set to false for plain text files.",
"type": "boolean"
}
},
"required": [
"issueKey",
"filename"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_add_commentAdds a comment to an issue. Supports visibility restrictions for groups or roles. Comment format is controlled by the "format" parameter (default: markdown). Returns the created comment with author details and timestamp.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to add comment to"
},
"body": {
"type": "string",
"minLength": 1,
"description": "Comment body text"
},
"visibility": {
"description": "Comment visibility restrictions",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"group",
"role"
],
"description": "Visibility type"
},
"value": {
"type": "string",
"description": "Group name or role name"
}
},
"required": [
"type",
"value"
]
},
"format": {
"default": "markdown",
"description": "Comment format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
"type": "string",
"enum": [
"markdown",
"adf",
"plain"
]
}
},
"required": [
"issueKey",
"body"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_create_issueCreates a new Jira issue in the specified project. Supports setting issue type, priority, assignee, labels, components, and custom fields. Description format is controlled by the "format" parameter (default: markdown). For required custom fields, supply them via customFields (e.g., { "customfield_12345": { id: "..." } }). Returns the created issue with all details.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key where the issue will be created"
},
"summary": {
"type": "string",
"minLength": 1,
"description": "Issue summary/title"
},
"description": {
"description": "Issue description. Accepts plain text or ADF object.",
"anyOf": [
{
"type": "string"
},
{}
]
},
"issueType": {
"type": "string",
"description": "Issue type (e.g., Bug, Story, Task)"
},
"priority": {
"description": "Issue priority",
"type": "string"
},
"assignee": {
"description": "Assignee account ID",
"type": "string"
},
"labels": {
"description": "Issue labels",
"type": "array",
"items": {
"type": "string"
}
},
"components": {
"description": "Component names",
"type": "array",
"items": {
"type": "string"
}
},
"customFields": {
"description": "Additional Jira field mappings, e.g. { \"customfield_12345\": value }. Use for required custom fields.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"returnIssue": {
"description": "When false, skip fetching full issue after creation",
"type": "boolean"
},
"format": {
"default": "markdown",
"description": "Description format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
"type": "string",
"enum": [
"markdown",
"adf",
"plain"
]
}
},
"required": [
"projectKey",
"summary",
"issueType"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_create_issue_linkCreates a link between two Jira issues. Supports common link types like "blocks", "relates", "duplicates", and "clones". Use this to establish relationships between issues.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fromIssue": {
"type": "string",
"description": "Source issue key"
},
"toIssue": {
"type": "string",
"description": "Target issue key"
},
"linkType": {
"type": "string",
"description": "Link type: \"blocks\", \"is blocked by\", \"relates\", \"duplicates\", \"clones\", or custom link type name"
}
},
"required": [
"fromIssue",
"toIssue",
"linkType"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_create_subtaskCreates a subtask under an existing parent issue. Automatically determines the correct project and subtask issue type. Supports setting priority, assignee, labels, and components. Description format is controlled by the "format" parameter (default: markdown).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"parentIssueKey": {
"type": "string",
"description": "Parent issue key"
},
"summary": {
"type": "string",
"minLength": 1,
"description": "Subtask summary/title"
},
"description": {
"description": "Subtask description. Accepts plain text or ADF object.",
"anyOf": [
{
"type": "string"
},
{}
]
},
"priority": {
"description": "Subtask priority",
"type": "string"
},
"assignee": {
"description": "Assignee account ID",
"type": "string"
},
"labels": {
"description": "Subtask labels",
"type": "array",
"items": {
"type": "string"
}
},
"components": {
"description": "Component names",
"type": "array",
"items": {
"type": "string"
}
},
"format": {
"default": "markdown",
"description": "Description format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
"type": "string",
"enum": [
"markdown",
"adf",
"plain"
]
}
},
"required": [
"parentIssueKey",
"summary"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_delete_attachmentDeletes an attachment from Jira by its attachment ID. Use jira_get_attachments to find attachment IDs.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"minLength": 1,
"description": "ID of the attachment to delete"
}
},
"required": [
"attachmentId"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
jira_get_attachmentsLists all attachments on a Jira issue. Returns attachment metadata including filename, size, MIME type, author, and download URL.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to get attachments for (e.g., PROJECT-123)"
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_commentsRetrieves all comments for a Jira issue. Returns comment author, content, timestamps, and visibility settings. Supports pagination for issues with many comments.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to get comments for (e.g., PROJECT-123)"
},
"maxResults": {
"description": "Maximum number of comments to return (default: 50)",
"type": "number",
"minimum": 1,
"maximum": 100
},
"orderBy": {
"description": "Sort order for comments: \"created\" (oldest first), \"-created\" (newest first)",
"type": "string",
"enum": [
"created",
"-created",
"+created"
]
},
"startAt": {
"description": "Index of first comment to return (for pagination)",
"type": "number",
"minimum": 0
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_create_metaRetrieves create metadata for a project, showing all available fields (including custom fields) for creating issues. Shows required vs optional fields, field types, and allowed values. Use this before creating issues to discover what fields are needed.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key to get create metadata for"
},
"issueTypeName": {
"description": "Specific issue type name to get metadata for (optional)",
"type": "string"
}
},
"required": [
"projectKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_custom_fieldsRetrieves all custom fields available in Jira. Shows custom field names, IDs (e.g., customfield_10071), and types. Useful for discovering what custom fields exist and their identifiers.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"description": "Project key to filter custom fields (optional)",
"type": "string"
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_issueRetrieve details for a specific Jira issue by key or URL. Use this when the user mentions an issue like "PAYWALL-943" or pastes a Jira link (e.g., https://your.atlassian.net/browse/PAYWALL-943). Returns status, assignee, priority, project, type, labels, components, timestamps, and description.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"minLength": 1,
"description": "Issue key or full Jira URL (e.g., PROJECT-123 or https://your.atlassian.net/browse/PROJECT-123)"
},
"expand": {
"description": "Additional issue details to include",
"type": "array",
"items": {
"type": "string"
}
},
"fields": {
"description": "Specific fields to retrieve",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_issue_graphBuild a dependency/relationship graph starting from a seed issue. Returns a map of connected issues (parent/child hierarchy, blocks, relates to, duplicates, etc.) with nodes and edges, plus a Mermaid diagram for visualization. Use this to understand how issues are connected across epics, stories, and subtasks.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"minLength": 1,
"description": "Seed issue key to start graph traversal from (e.g., PROJECT-123)"
},
"maxDepth": {
"default": 2,
"description": "Maximum BFS traversal depth from seed issue (default: 2, max: 5)",
"type": "number",
"minimum": 1,
"maximum": 5
},
"maxNodes": {
"default": 50,
"description": "Maximum number of nodes to include in the graph (default: 50, max: 200)",
"type": "number",
"minimum": 1,
"maximum": 200
},
"includeHierarchy": {
"default": true,
"description": "Include parent/child/subtask edges (default: true)",
"type": "boolean"
},
"linkTypes": {
"description": "Filter to specific link types (e.g., [\"Blocks\", \"Relates\"]). If omitted, includes all link types.",
"type": "array",
"items": {
"type": "string"
}
},
"direction": {
"default": "all",
"description": "Which link directions to follow: \"all\", \"inward\", or \"outward\" (default: \"all\")",
"type": "string",
"enum": [
"all",
"inward",
"outward"
]
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_issue_typesRetrieves available issue types. Can get global issue types or project-specific issue types including regular issues and subtasks (Bug, Story, Task, Epic, etc.).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"description": "Project key to get issue types for specific project",
"type": "string"
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_my_issuesRetrieves issues assigned to current user, sorted by most recently updated first. Supports pagination and field selection. For pagination, use nextPageToken from previous response.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"nextPageToken": {
"description": "Token for pagination. Omit for first page, use value from previous response for next page.",
"type": "string"
},
"maxResults": {
"default": 50,
"description": "Maximum number of results to return per page",
"type": "number",
"minimum": 1,
"maximum": 100
},
"fields": {
"description": "Specific fields to retrieve",
"type": "array",
"items": {
"type": "string"
}
},
"expand": {
"description": "Additional details to include",
"type": "array",
"items": {
"type": "string"
}
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_prioritiesRetrieves available priorities (e.g., Highest, High, Medium, Low, Lowest). Returns IDs, names, and descriptions.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_project_infoRetrieves detailed information about a project (components, versions, issue types, roles, insights). More comprehensive than the basic project list.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key to get detailed information for"
},
"expand": {
"description": "Additional project details to include",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"projectKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_statusesRetrieves available statuses (global or project-specific, e.g., To Do, In Progress, Done). Returns status categories and workflow information.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projectKey": {
"description": "Project key to get statuses for specific project",
"type": "string"
},
"issueTypeId": {
"description": "Issue type ID to get statuses for specific issue type",
"type": "string"
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_transitionsRetrieves all available workflow transitions for a Jira issue. Use this to discover which status changes are possible for an issue before calling jira_transition_issue.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to get available transitions for (e.g., PROJECT-123)"
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_usersSearch for users by name, email, username, or account ID. Returns display name, email, account status, and account type. Supports pagination.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"description": "Search query for user name or email",
"type": "string"
},
"username": {
"description": "Specific username to search for",
"type": "string"
},
"accountId": {
"description": "Specific account ID to search for",
"type": "string"
},
"startAt": {
"default": 0,
"description": "Index of first result to return",
"type": "number",
"minimum": 0
},
"maxResults": {
"default": 50,
"description": "Maximum number of results to return",
"type": "number",
"minimum": 1,
"maximum": 50
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_get_visible_projectsRetrieves all projects accessible to the authenticated user. Returns project keys, names, descriptions, and basic metadata.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"expand": {
"description": "Additional project details to include",
"type": "array",
"items": {
"type": "string"
}
},
"recent": {
"description": "Limit to recently accessed projects",
"type": "number"
}
}
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_search_issuesSearch for Jira issues using JQL. Supports complex queries with pagination and field selection. Examples: "project = PROJECT AND status = Open", "assignee = currentUser()". For pagination, use nextPageToken from previous response.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"jql": {
"type": "string",
"minLength": 1,
"description": "JQL query string"
},
"nextPageToken": {
"description": "Token for pagination. Omit for first page, use value from previous response for next page.",
"type": "string"
},
"maxResults": {
"default": 50,
"description": "Maximum number of results to return per page",
"type": "number",
"minimum": 1,
"maximum": 100
},
"fields": {
"description": "Specific fields to retrieve",
"type": "array",
"items": {
"type": "string"
}
},
"expand": {
"description": "Additional details to include",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"jql"
]
}Annotations{
"readOnlyHint": true
} | — | Read only | — |
jira_transition_issueTransitions a Jira issue to a new workflow status (e.g., "To Do" -> "In Progress" -> "Done"). Use jira_get_transitions first to discover available transitions. Supports adding a comment and setting resolution during the transition.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to transition (e.g., PROJECT-123)"
},
"transitionId": {
"description": "ID of the transition to perform. Use jira_get_transitions to find available transition IDs.",
"type": "string"
},
"transitionName": {
"description": "Name of the transition to perform (e.g., \"In Progress\", \"Done\"). Case-insensitive. Alternative to transitionId.",
"type": "string"
},
"comment": {
"description": "Optional comment to add when transitioning the issue",
"type": "string"
},
"resolution": {
"description": "Resolution name when transitioning to a resolved/done status (e.g., \"Done\", \"Fixed\")",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Comment format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
"type": "string",
"enum": [
"markdown",
"adf",
"plain"
]
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |
jira_update_issueUpdates an existing Jira issue by its key. Supports updating summary, description, priority, assignee, labels, and components. Description format is controlled by the "format" parameter (default: markdown). Only specified fields will be updated.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"issueKey": {
"type": "string",
"description": "Issue key to update"
},
"summary": {
"description": "New summary",
"type": "string"
},
"description": {
"description": "New description. Accepts plain text or ADF object.",
"anyOf": [
{
"type": "string"
},
{}
]
},
"priority": {
"description": "New priority",
"type": "string"
},
"assignee": {
"description": "New assignee account ID",
"type": "string"
},
"labels": {
"description": "New labels (replaces existing)",
"type": "array",
"items": {
"type": "string"
}
},
"components": {
"description": "New components (replaces existing)",
"type": "array",
"items": {
"type": "string"
}
},
"parent": {
"description": "New parent issue key (e.g., PROJECT-100). Set to empty string to remove the parent.",
"type": "string"
},
"returnIssue": {
"description": "When false, skip fetching full issue after update",
"type": "boolean"
},
"format": {
"default": "markdown",
"description": "Description format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
"type": "string",
"enum": [
"markdown",
"adf",
"plain"
]
}
},
"required": [
"issueKey"
]
}Annotations{
"readOnlyHint": false
} | — | Writes | — |