Atlassian

Atlassian

Tools for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments.

100K+

80 Tools

Packaged by
Requires Configuration
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Atlassian MCP Server

Tools for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/sooperset/mcp-atlassian/blob/35b1da00c920810e7d4119cdd9fcc5b46eec5b0e/Dockerfile
Commit35b1da00c920810e7d4119cdd9fcc5b46eec5b0e
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/atlassian --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (80)

Tools provided by this ServerShort Description
confluence_add_commentAdd Comment
confluence_add_inline_commentAdd Inline Comment
confluence_add_labelAdd Label
confluence_create_pageCreate Page
confluence_delete_attachmentDelete Attachment
confluence_delete_pageDelete Page
confluence_download_attachmentDownload Attachment
confluence_download_content_attachmentsDownload All Content Attachments
confluence_get_attachmentsGet Content Attachments
confluence_get_commentsGet Comments
confluence_get_inline_commentsGet Inline Comments
confluence_get_labelsGet Labels
confluence_get_pageGet Page
confluence_get_page_childrenGet Page Children
confluence_get_page_diffGet Page Version Diff
confluence_get_page_historyGet Page History
confluence_get_page_imagesGet Page Images
confluence_get_page_viewsGet Page Views
confluence_get_space_page_treeGet Space Page Tree
confluence_move_pageMove Page
confluence_reply_to_commentReply to Comment
confluence_searchSearch Content
confluence_search_userSearch User
confluence_update_pageUpdate Page
confluence_update_page_sectionUpdate Page Section
confluence_upload_attachmentUpload Attachment
confluence_upload_attachmentsUpload Multiple Attachments
jira_add_commentAdd Comment
jira_add_issues_to_sprintAdd Issues to Sprint
jira_add_watcherAdd Issue Watcher
jira_add_worklogAdd Worklog
jira_assign_issueAssign Issue
jira_batch_create_issuesBatch Create Issues
jira_batch_create_versionsBatch Create Versions
jira_batch_get_changelogsBatch Get Changelogs
jira_create_issueCreate Issue
jira_create_issue_linkCreate Issue Link
jira_create_remote_issue_linkCreate Remote Issue Link
jira_create_sprintCreate Sprint
jira_create_versionCreate Version
jira_delete_issueDelete Issue
jira_download_attachmentsDownload Attachments
jira_edit_commentEdit Comment
jira_get_agile_boardsGet Agile Boards
jira_get_all_projectsGet All Projects
jira_get_board_issuesGet Board Issues
jira_get_field_optionsGet Field Options
jira_get_issueGet Issue
jira_get_issue_datesGet Issue Dates
jira_get_issue_development_infoGet Issue Development Info
jira_get_issue_imagesGet Issue Images
jira_get_issue_proforma_formsGet Issue Forms
jira_get_issue_slaGet Issue SLA
jira_get_issue_watchersGet Issue Watchers
jira_get_issues_development_infoGet Issues Development Info
jira_get_link_typesGet Link Types
jira_get_proforma_form_detailsGet Form Details
jira_get_project_componentsGet Project Components
jira_get_project_fieldsGet Project Fields
jira_get_project_issuesGet Project Issues
jira_get_project_versionsGet Project Versions
jira_get_queue_issuesGet Queue Issues
jira_get_service_desk_for_projectGet Service Desk For Project
jira_get_service_desk_queuesGet Service Desk Queues
jira_get_sprint_issuesGet Sprint Issues
jira_get_sprints_from_boardGet Sprints from Board
jira_get_transitionsGet Transitions
jira_get_user_profileGet User Profile
jira_get_worklogGet Worklog
jira_link_to_epicLink to Epic
jira_remove_issue_linkRemove Issue Link
jira_remove_watcherRemove Issue Watcher
jira_searchSearch Issues
jira_search_assignable_usersSearch Assignable Users
jira_search_fieldsSearch Fields
jira_transition_issueTransition Issue
jira_update_issueUpdate Issue
jira_update_proforma_form_answersUpdate Form Answers
jira_update_sprintUpdate Sprint
jira_update_versionUpdate Version

Tools Details

Tool: confluence_add_comment

Add a comment to a Confluence page.

ParametersTypeDescription
bodystringThe comment content in Markdown format
page_idstringThe ID of the page to add a comment to

This tool may perform destructive updates.


Tool: confluence_add_inline_comment

Add an inline comment anchored to a text selection on a page.

ParametersTypeDescription
bodystringThe comment content in Markdown format
page_idstringThe ID of the page to add the inline comment to
text_selectionstringThe exact text on the page to anchor the inline comment to. Must match text that exists in the page content.
text_selection_match_countintegeroptionalTotal number of times the selected text appears on the page. Defaults to 1.
text_selection_match_indexintegeroptionalZero-based index of which occurrence of the text to anchor to. Defaults to 0 (first occurrence).

This tool may perform destructive updates.


Tool: confluence_add_label

Add label to Confluence content (pages, blog posts, or attachments).

Useful for:

  • Categorizing attachments (e.g., 'screenshot', 'diagram', 'legal-doc')
  • Tracking status (e.g., 'approved', 'needs-review', 'archived')
  • Filtering content by topic or version Parameters|Type|Description -|-|- name|string|Label name to add (lowercase, no spaces). Examples: 'draft', 'reviewed', 'confidential', 'v1.0'. Labels help organize and categorize content. page_id|string|Confluence content ID to label. For pages/blogs: numeric ID (e.g., '123456789'). For attachments: ID with 'att' prefix (e.g., 'att123456789'). Use get_attachments to find attachment IDs.

This tool may perform destructive updates.


Tool: confluence_create_page

Create a new Confluence page.

ParametersTypeDescription
contentstringThe content of the page. Format depends on content_format parameter. Can be Markdown (default), wiki markup, storage format, or XHTML storage format
space_keystringThe key of the space to create the page in (usually a short uppercase code like 'DEV', 'TEAM', or 'DOC')
titlestringThe title of the page
content_formatstringoptional(Optional) The format of the content parameter. Options: 'markdown' (default), 'wiki', 'storage', or 'xhtml'. Use 'xhtml' when providing Confluence XHTML storage format (same as 'storage'). Wiki format uses Confluence wiki markup syntax
emojistringoptional(Optional) Page title emoji (icon shown in navigation). Can be any emoji character like '📝', '🚀', '📚'. Set to null/None to remove.
enable_heading_anchorsbooleanoptional(Optional) Whether to enable automatic heading anchor generation. Only applies when content_format is 'markdown'
include_contentbooleanoptional(Optional) Whether to include page content in the response. Defaults to false since callers already have the content at create time
parent_idstringoptional(Optional) parent page ID. If provided, this page will be created as a child of the specified page

This tool may perform destructive updates.


Tool: confluence_delete_attachment

Permanently delete an attachment from Confluence.

Warning: This action cannot be undone! The attachment and ALL its versions will be permanently deleted.

Use this tool to:

  • Remove outdated or incorrect attachments
  • Clean up duplicate files
  • Delete sensitive information that was accidentally uploaded

Best practices:

  • Verify the attachment ID before deletion using get_attachments
  • Consider downloading the attachment first as a backup
  • Check with content owners before deleting shared attachments Parameters|Type|Description -|-|- attachment_id|string|The ID of the attachment to delete. Attachment IDs can be found using the get_attachments tool. Example: 'att123456789'. Warning: This permanently deletes the attachment and all its versions.

This tool may perform destructive updates.


Tool: confluence_delete_page

Delete an existing Confluence page.

ParametersTypeDescription
page_idstringThe ID of the page to delete

This tool may perform destructive updates.


Tool: confluence_download_attachment

Download an attachment from Confluence as an embedded resource.

Returns the attachment content as a base64-encoded embedded resource so that it is available over the MCP protocol without requiring filesystem access on the server. Files larger than 50 MB are not downloaded inline; a descriptive error message is returned instead.

ParametersTypeDescription
attachment_idstringThe ID of the attachment to download (e.g., 'att123456789'). Find attachment IDs using get_attachments tool. Example workflow: get_attachments(content_id) → use returned ID here.

This tool is read-only. It does not modify its environment.


Tool: confluence_download_content_attachments

Download all attachments for a Confluence content item as embedded resources.

Returns attachment contents as base64-encoded embedded resources so that they are available over the MCP protocol without requiring filesystem access on the server. Files larger than 50 MB are skipped with an error entry in the summary.

ParametersTypeDescription
content_idstringThe ID of the Confluence content (page or blog post) to download attachments from. Example: '123456789'

This tool is read-only. It does not modify its environment.


Tool: confluence_get_attachments

List all attachments for a Confluence content item (page or blog post).

Returns metadata about attachments including:

  • Attachment ID, title, and file type
  • File size and download URL
  • Creation/modification dates
  • Version information

Important: Confluence API returns 'application/octet-stream' as the media type for most binary files (PNG, JPG, PDF) instead of specific types like 'image/png'. For filtering by file type, using the 'filename' parameter is more reliable (e.g., filename='*.png' pattern matching if supported, or exact filename).

Useful for:

  • Discovering what files are attached to a page
  • Getting attachment IDs for download operations
  • Checking if a specific file exists
  • Listing images/documents for processing Parameters|Type|Description -|-|- content_id|string|The ID of the Confluence content (page or blog post) to list attachments for. Example: '123456789' filename|stringoptional|(Optional) Filter results to only attachments matching this filename. Exact match only. Example: 'report.pdf' limit|integeroptional|(Optional) Maximum number of attachments to return per request (1-100). Use pagination (start/limit) for large attachment lists. Default: 50 media_type|stringoptional|(Optional) Filter by MIME type. Note: Confluence API returns 'application/octet-stream' for most binary files (PNG, JPG, PDF) instead of specific MIME types like 'image/png'. For more reliable filtering, use the 'filename' parameter. Examples: 'application/octet-stream' (binary files), 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' (for .docx) start|integeroptional|(Optional) Starting index for pagination. Use 0 for the first page. To get the next page, add the 'limit' value to 'start'. Default: 0

This tool is read-only. It does not modify its environment.


Tool: confluence_get_comments

Get comments for a specific Confluence page.

ParametersTypeDescription
page_idstringConfluence page ID (numeric ID, can be parsed from URL, e.g. from 'https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title' -> '123456789')

This tool is read-only. It does not modify its environment.


Tool: confluence_get_inline_comments

Get all inline comments for a Confluence page.

ParametersTypeDescription
page_idstringThe ID of the page to get inline comments from

This tool is read-only. It does not modify its environment.


Tool: confluence_get_labels

Get labels for Confluence content (pages, blog posts, or attachments).

ParametersTypeDescription
page_idstringConfluence content ID (page, blog post, or attachment). For pages: numeric ID from URL (e.g., '123456789'). For attachments: ID with 'att' prefix (e.g., 'att123456789'). Works with any Confluence content type that supports labels.

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page

Get content of a specific Confluence page by its ID, or by its title and space key.

ParametersTypeDescription
convert_to_markdownbooleanoptionalWhether to convert page to markdown (true) or keep it in raw HTML format (false). Raw HTML can reveal macros (like dates) not visible in markdown, but CAUTION: using HTML significantly increases token usage in AI responses.
include_metadatabooleanoptionalWhether to include page metadata such as creation date, last update, version, and labels.
page_idstringoptionalConfluence page ID (numeric ID, can be found in the page URL). For example, in the URL 'https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title', the page ID is '123456789'. Provide this OR both 'title' and 'space_key'. If page_id is provided, title and space_key will be ignored.
space_keystringoptionalThe key of the Confluence space where the page resides (e.g., 'DEV', 'TEAM'). Required if using 'title'.
titlestringoptionalThe exact title of the Confluence page. Use this with 'space_key' if 'page_id' is not known.

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page_children

Get child pages and folders of a specific Confluence page.

ParametersTypeDescription
parent_idstringThe ID of the parent page whose children you want to retrieve
convert_to_markdownbooleanoptionalWhether to convert page content to markdown (true) or keep it in raw HTML format (false). Only relevant if include_content is true.
expandstringoptionalFields to expand in the response (e.g., 'version', 'body.storage')
include_contentbooleanoptionalWhether to include the page content in the response
include_foldersbooleanoptionalWhether to include child folders in addition to child pages
limitintegeroptionalMaximum number of child items to return (1-50)
startintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page_diff

Get a unified diff between two versions of a Confluence page.

ParametersTypeDescription
from_versionintegerSource version number
page_idstringConfluence page ID (numeric ID, can be found in the page URL). For example, in 'https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title', the page ID is '123456789'.
to_versionintegerTarget version number

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page_history

Get a historical version of a specific Confluence page.

ParametersTypeDescription
page_idstringConfluence page ID (numeric ID, can be found in the page URL). For example, in 'https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title', the page ID is '123456789'.
versionintegerThe version number of the page to retrieve
convert_to_markdownbooleanoptionalWhether to convert page to markdown (true) or keep it in raw HTML format (false). Raw HTML can reveal macros (like dates) not visible in markdown, but CAUTION: using HTML significantly increases token usage in AI responses.

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page_images

Get all images attached to a Confluence page as inline image content.

Filters attachments to images only (PNG, JPEG, GIF, WebP, SVG, BMP) and returns them as base64-encoded ImageContent that clients can render directly. Non-image attachments are excluded.

Files with ambiguous MIME types (application/octet-stream) are detected by filename extension as a fallback. Images larger than 50 MB are skipped with an error entry in the summary.

ParametersTypeDescription
content_idstringThe ID of the Confluence page or blog post to retrieve images from. Example: '123456789'

This tool is read-only. It does not modify its environment.


Tool: confluence_get_page_views

Get view statistics for a Confluence page.

Note: This tool is only available for Confluence Cloud. Server/Data Center instances do not support the Analytics API.

ParametersTypeDescription
page_idstringConfluence page ID (numeric ID, can be found in the page URL). For example, in 'https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title', the page ID is '123456789'.
include_titlebooleanoptionalWhether to fetch and include the page title

This tool is read-only. It does not modify its environment.


Tool: confluence_get_space_page_tree

Get page hierarchy for a Confluence space as a flat list.

Returns pages with parent_id and depth attributes for token-efficient processing. Filter by depth to focus on relevant sections, or find pages by title. Much more efficient than rendering full ASCII trees.

Use this to understand space organization before creating/moving pages.

ParametersTypeDescription
space_keystringSpace key
limitintegeroptionalMax pages to fetch

This tool is read-only. It does not modify its environment.


Tool: confluence_move_page

Move a Confluence page to a new parent or space.

ParametersTypeDescription
page_idstringID of the page to move
positionstringoptionalPosition: 'append' (default, move as child of target), 'above' (move before target as sibling), or 'below' (move after target as sibling)
target_parent_idstringoptionalTarget parent page ID. If omitted with target_space_key, moves to space root.
target_space_keystringoptionalTarget space key for cross-space moves

This tool may perform destructive updates.


Tool: confluence_reply_to_comment

Reply to an existing comment thread on a Confluence page.

ParametersTypeDescription
bodystringThe reply content in Markdown format
comment_idstringThe ID of the parent comment to reply to

This tool may perform destructive updates.


Tool: confluence_search

Search Confluence content using simple terms or CQL.

ParametersTypeDescription
querystringSearch query - can be either a simple text (e.g. 'project documentation') or a CQL query string. Simple queries use 'siteSearch' by default, to mimic the WebUI search, with an automatic fallback to 'text' search if not supported. Examples of CQL:
  • Basic search: 'type=page AND space=DEV'
  • Personal space search: 'space="~username"' (note: personal space keys starting with ~ must be quoted)
  • Search by title: 'title~"Meeting Notes"'
  • Use siteSearch: 'siteSearch ~ "important concept"'
  • Use text search: 'text ~ "important concept"'
  • Recent content: 'created >= "2023-01-01"'
  • Content with specific label: 'label=documentation'
  • Recently modified content: 'lastModified > startOfMonth("-1M")'
  • Content modified this year: 'creator = currentUser() AND lastModified > startOfYear()'
  • Content you contributed to recently: 'contributor = currentUser() AND lastModified > startOfWeek()'
  • Content watched by user: 'watcher = "[email protected]" AND type = page'
  • Exact phrase in content: 'text ~ ""Urgent Review Required"" AND label = "pending-approval"'
  • Title wildcards: 'title ~ "Minutes*" AND (space = "HR" OR space = "Marketing")' Note: Special identifiers need proper quoting in CQL: personal space keys (e.g., "~username"), reserved words, numeric IDs, and identifiers with special characters. limit|integeroptional|Maximum number of results (1-50) spaces_filter|stringoptional|(Optional) Comma-separated list of space keys to filter results by. Overrides the environment variable CONFLUENCE_SPACES_FILTER if provided. Use empty string to disable filtering.

This tool is read-only. It does not modify its environment.


Tool: confluence_search_user

Search Confluence users using CQL (Cloud) or group member API (Server/DC).

ParametersTypeDescription
querystringSearch query - a CQL query string for user search. Examples of CQL:
  • Basic user lookup by full name: 'user.fullname ~ "First Last"' Note: Special identifiers need proper quoting in CQL: personal space keys (e.g., "~username"), reserved words, numeric IDs, and identifiers with special characters. group_name|stringoptional|Group to search within on Server/DC instances (default: 'confluence-users'). Ignored on Cloud. limit|integeroptional|Maximum number of results (1-50)

This tool is read-only. It does not modify its environment.


Tool: confluence_update_page

Update an existing Confluence page.

ParametersTypeDescription
contentstringThe new content of the page. Format depends on content_format parameter
page_idstringThe ID of the page to update
titlestringThe new title of the page
content_formatstringoptional(Optional) The format of the content parameter. Options: 'markdown' (default), 'wiki', 'storage', or 'xhtml'. Use 'xhtml' when providing Confluence XHTML storage format (same as 'storage'). Wiki format uses Confluence wiki markup syntax
emojistringoptional(Optional) Page title emoji (icon shown in navigation). Can be any emoji character like '📝', '🚀', '📚'. Set to null/None to remove.
enable_heading_anchorsbooleanoptional(Optional) Whether to enable automatic heading anchor generation. Only applies when content_format is 'markdown'
include_contentbooleanoptional(Optional) Whether to include page content in the response. Defaults to false since callers already have the content at update time
is_minor_editbooleanoptionalWhether this is a minor edit
parent_idstringoptionalOptional the new parent page ID
version_commentstringoptionalOptional comment for this version

This tool may perform destructive updates.


Tool: confluence_update_page_section

Update a single section of a Confluence page without affecting the rest.

Replaces only the content beneath a named heading, leaving all other sections, macros, layouts, and Confluence-specific elements completely intact. This avoids the data loss that occurs when a full page is downloaded as Markdown, edited, and re-uploaded.

ParametersTypeDescription
heading_textstringExact text of the heading that starts the section to replace. Matching is case-sensitive. Use confluence_get_page with convert_to_markdown=false to inspect exact heading text when unsure.
new_contentstringReplacement content for the section body. Do NOT include the heading itself — only the body beneath it. Format is controlled by content_format.
page_idstringThe ID of the page to update
content_formatstringoptional(Optional) Format of new_content. Options: 'markdown' (default) or 'storage' (raw Confluence storage XML). Use 'storage' to insert macros or elements that markdown cannot express.
is_minor_editbooleanoptionalWhether this is a minor edit
version_commentstringoptionalOptional comment for this version

This tool may perform destructive updates.


Tool: confluence_upload_attachment

Upload an attachment to Confluence content (page or blog post).

If the attachment already exists (same filename), a new version is created. This is useful for:

  • Attaching documents, images, or files to a page
  • Updating existing attachments with new versions
  • Adding supporting materials to documentation Parameters|Type|Description -|-|- content_id|string|The ID of the Confluence content (page or blog post) to attach the file to. Page IDs can be found in the page URL or by using the search/get_page tools. Example: '123456789' file_path|string|Full path to the file to upload. Can be absolute (e.g., '/home/user/document.pdf' or 'C:\Users\name\file.docx') or relative to the current working directory (e.g., './uploads/document.pdf'). If a file with the same name already exists, a new version will be created. comment|stringoptional|(Optional) A comment describing this attachment or version. Visible in the attachment history. Example: 'Updated Q4 2024 figures' minor_edit|booleanoptional|(Optional) Whether this is a minor edit. If true, watchers are not notified. Default is false.

This tool may perform destructive updates.


Tool: confluence_upload_attachments

Upload multiple attachments to Confluence content in a single operation.

More efficient than calling upload_attachment multiple times. If files with the same names exist, new versions are created automatically.

Useful for:

  • Bulk uploading documentation assets (diagrams, screenshots, etc.)
  • Adding multiple related files to a page at once
  • Batch updating existing attachments with new versions Parameters|Type|Description -|-|- content_id|string|The ID of the Confluence content (page or blog post) to attach files to. Example: '123456789'. If uploading multiple files with the same names, new versions will be created automatically. file_paths|string|Comma-separated list of file paths to upload. Can be absolute or relative paths. Examples: './file1.pdf,./file2.png' or 'C:\docs\report.docx,D:\image.jpg'. All files uploaded with same comment/minor_edit settings. comment|stringoptional|(Optional) Comment for all uploaded attachments. Visible in version history. Example: 'Q4 2024 batch upload' minor_edit|booleanoptional|(Optional) Whether this is a minor edit. If true, watchers are not notified. Default is false.

This tool may perform destructive updates.


Tool: jira_add_comment

Add a comment to a Jira issue.

ParametersTypeDescription
bodystringComment text in Markdown format
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
publicbooleanoptional(Optional) For JSM/Service Desk issues only. Set to true for customer-visible comment, false for internal agent-only comment. Uses the ServiceDesk API (plain text, not Markdown). Cannot be combined with visibility.
visibilitystringoptional(Optional) Comment visibility as JSON string (e.g. '{"type":"group","value":"jira-users"}')

This tool may perform destructive updates.


Tool: jira_add_issues_to_sprint

Add issues to a Jira sprint.

ParametersTypeDescription
issue_keysstringComma-separated issue keys (e.g., 'PROJ-1,PROJ-2')
sprint_idstringSprint ID to add issues to

Tool: jira_add_watcher

Add a user as a watcher to a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123')
user_identifierstringUser to add as watcher. For Jira Cloud, use the account ID. For Jira Server/DC, use the username.

Tool: jira_add_worklog

Add a worklog entry to a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
time_spentstringTime spent in Jira format. Examples: '1h 30m' (1 hour and 30 minutes), '1d' (1 day), '30m' (30 minutes), '4h' (4 hours)
commentstringoptional(Optional) Comment for the worklog in Markdown format
original_estimatestringoptional(Optional) New value for the original estimate
remaining_estimatestringoptional(Optional) New value for the remaining estimate
startedstringoptional(Optional) Start time in ISO format. If not provided, the current time will be used. Example: '2023-08-01T12:00:00.000+0000'

This tool may perform destructive updates.


Tool: jira_assign_issue

Assign a Jira issue to a user using the dedicated assignment endpoint.

This is more reliable than setting assignee via update_issue, which is silently ignored by some Jira configurations. Uses PUT /issue/{key}/assignee.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
assigneestringoptionalUser identifier to assign (email, display name, or account ID), or a JSON object string from jira_search_assignable_users. Pass null or empty string to unassign the issue.

Tool: jira_batch_create_issues

Create multiple Jira issues in a batch.

ParametersTypeDescription
issuesstringJSON array of issue objects. Each object should contain:
  • project_key (required): The project key (e.g., 'PROJ')
  • summary (required): Issue summary/title
  • issue_type (required): Type of issue (e.g., 'Task', 'Bug')
  • description (optional): Issue description in Markdown format
  • assignee (optional): Assignee username or email
  • components (optional): Array of component names Example: [ {"project_key": "PROJ", "summary": "Issue 1", "issue_type": "Task"}, {"project_key": "PROJ", "summary": "Issue 2", "issue_type": "Bug", "components": ["Frontend"]} ] validate_only|booleanoptional|If true, only validates the issues without creating them

This tool may perform destructive updates.


Tool: jira_batch_create_versions

Batch create multiple versions in a Jira project.

ParametersTypeDescription
project_keystringJira project key (e.g., 'PROJ', 'ACV2')
versionsstringJSON array of version objects. Each object should contain:
  • name (required): Name of the version
  • startDate (optional): Start date (YYYY-MM-DD)
  • releaseDate (optional): Release date (YYYY-MM-DD)
  • description (optional): Description of the version Example: [ {"name": "v1.0", "startDate": "2025-01-01", "releaseDate": "2025-02-01", "description": "First release"}, {"name": "v2.0"} ]

This tool may perform destructive updates.


Tool: jira_batch_get_changelogs

Get changelogs for multiple Jira issues (Cloud only).

ParametersTypeDescription
issue_ids_or_keysstringComma-separated list of Jira issue IDs or keys (e.g. 'PROJ-123,PROJ-124')
fieldsstringoptional(Optional) Comma-separated list of fields to filter changelogs by (e.g. 'status,assignee'). Default to None for all fields.
limitintegeroptionalMaximum number of changelogs to return in result for each issue. Default to -1 for all changelogs. Notice that it only limits the results in the response, the function will still fetch all the data.

This tool is read-only. It does not modify its environment.


Tool: jira_create_issue

Create a new Jira issue with optional Epic link or parent for subtasks.

ParametersTypeDescription
issue_typestringIssue type (e.g. 'Task', 'Bug', 'Story', 'Epic', 'Subtask'). The available types depend on your project configuration. For subtasks, use 'Subtask' (not 'Sub-task') and include parent in additional_fields.
project_keystringThe JIRA project key (e.g. 'PROJ', 'DEV', 'ACV2'). This is the prefix of issue keys in your project. Never assume what it might be, always ask the user.
summarystringSummary/title of the issue
additional_fieldsstringoptional(Optional) JSON string of additional fields to set. Examples:
  • Set priority: {"priority": {"name": "High"}}
  • Add labels: {"labels": ["frontend", "urgent"]}
  • Link to parent (for any issue type): {"parent": "PROJ-123"}
  • Link to epic: {"epicKey": "EPIC-123"} or {"epic_link": "EPIC-123"}
  • Set Fix Version/s: {"fixVersions": [{"id": "10020"}]}
  • Custom fields: {"customfield_10010": "value"} assignee|stringoptional|(Optional) Assignee's user identifier (string): Email, display name, or account ID (e.g., '[email protected]', 'John Doe', 'accountid:...') components|stringoptional|(Optional) Comma-separated list of component names to assign (e.g., 'Frontend,API') description|stringoptional|Issue description in Markdown format

This tool may perform destructive updates.


Tool: jira_create_issue_link

Create a link between two Jira issues.

ParametersTypeDescription
inward_issue_keystringThe key of the inward issue (e.g., 'PROJ-123', 'ACV2-642')
link_typestringThe type of link to create (e.g., 'Duplicate', 'Blocks', 'Relates to')
outward_issue_keystringThe key of the outward issue (e.g., 'PROJ-456')
commentstringoptional(Optional) Comment to add to the link
comment_visibilitystringoptional(Optional) Visibility settings for the comment as JSON string (e.g. '{"type":"group","value":"jira-users"}')

This tool may perform destructive updates.


Tool: jira_create_remote_issue_link

Create a remote issue link (web link or Confluence link) for a Jira issue.

This tool allows you to add web links and Confluence links to Jira issues. The links will appear in the issue's "Links" section and can be clicked to navigate to external resources.

ParametersTypeDescription
issue_keystringThe key of the issue to add the link to (e.g., 'PROJ-123', 'ACV2-642')
titlestringThe title/name of the link (e.g., 'Documentation Page', 'Confluence Page')
urlstringThe URL to link to (e.g., 'https://example.com/page' or Confluence page URL)
icon_urlstringoptional(Optional) URL to a 16x16 icon for the link
relationshipstringoptional(Optional) Relationship description (e.g., 'causes', 'relates to', 'documentation')
summarystringoptional(Optional) Description of the link

This tool may perform destructive updates.


Tool: jira_create_sprint

Create Jira sprint for a board.

ParametersTypeDescription
board_idstringThe id of board (e.g., '1000')
end_datestringEnd time for sprint (ISO 8601 format)
namestringName of the sprint (e.g., 'Sprint 1')
start_datestringStart time for sprint (ISO 8601 format)
goalstringoptional(Optional) Goal of the sprint

This tool may perform destructive updates.


Tool: jira_create_version

Create a new fix version in a Jira project.

ParametersTypeDescription
namestringName of the version
project_keystringJira project key (e.g., 'PROJ', 'ACV2')
descriptionstringoptionalDescription of the version
release_datestringoptionalRelease date (YYYY-MM-DD)
start_datestringoptionalStart date (YYYY-MM-DD)

This tool may perform destructive updates.


Tool: jira_delete_issue

Delete an existing Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')

This tool may perform destructive updates.


Tool: jira_download_attachments

Download attachments from a Jira issue.

Returns attachment contents as base64-encoded embedded resources so that they are available over the MCP protocol without requiring filesystem access on the server.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')

This tool is read-only. It does not modify its environment.


Tool: jira_edit_comment

Edit an existing comment on a Jira issue.

ParametersTypeDescription
bodystringUpdated comment text in Markdown format
comment_idstringThe ID of the comment to edit
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
visibilitystringoptional(Optional) Comment visibility as JSON string (e.g. '{"type":"group","value":"jira-users"}')

This tool may perform destructive updates.


Tool: jira_get_agile_boards

Get jira agile boards by name, project key, or type.

ParametersTypeDescription
board_namestringoptional(Optional) The name of board, support fuzzy search
board_typestringoptional(Optional) The type of jira board (e.g., 'scrum', 'kanban')
limitintegeroptionalMaximum number of results (1-50)
project_keystringoptional(Optional) Jira project key (e.g., 'PROJ', 'ACV2')
start_atintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_all_projects

Get all Jira projects accessible to the current user.

ParametersTypeDescription
include_archivedbooleanoptionalWhether to include archived projects in the results

This tool is read-only. It does not modify its environment.


Tool: jira_get_board_issues

Get all issues linked to a specific board filtered by JQL.

ParametersTypeDescription
board_idstringThe id of the board (e.g., '1001')
jqlstringJQL query string (Jira Query Language). Examples:
  • Find Epics: "issuetype = Epic AND project = PROJ"
  • Find issues in Epic: "parent = PROJ-123"
  • Find by status: "status = 'In Progress' AND project = PROJ"
  • Find by assignee: "assignee = currentUser()"
  • Find recently updated: "updated >= -7d AND project = PROJ"
  • Find by label: "labels = frontend AND project = PROJ"
  • Find by priority: "priority = High AND project = PROJ" expand|stringoptional|Optional fields to expand in the response (e.g., 'changelog'). fields|stringoptional|Comma-separated fields to return in the results. Use '*all' for all fields, or specify individual fields like 'summary,status,assignee,priority' limit|integeroptional|Maximum number of results (1-50) start_at|integeroptional|Starting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_field_options

Get allowed option values for a custom field.

Returns the list of valid options for select, multi-select, radio, checkbox, and cascading select custom fields.

Cloud: Uses the Field Context Option API. If context_id is not provided, automatically resolves to the global context.

Server/DC: Uses createmeta to get allowedValues. Requires project_key and issue_type parameters.

ParametersTypeDescription
field_idstringCustom field ID (e.g., 'customfield_10001'). Use jira_search_fields to find field IDs.
containsstringoptionalCase-insensitive substring filter on option values. Also matches child values in cascading selects.
context_idstringoptionalField context ID (Cloud only). If omitted, auto-resolves to the global context.
issue_typestringoptionalIssue type name (required for Server/DC). Example: 'Bug'
project_keystringoptionalProject key (required for Server/DC). Example: 'PROJ'
return_limitintegeroptionalMaximum number of results to return (applied after filtering).
values_onlybooleanoptionalIf true, return only value strings in a compact JSON format instead of full option objects.

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue

Get details of a specific Jira issue.

Includes Epic links and relationship information. Use the include parameter to inline enrichments (remote_links, transitions, watchers, changelog, comments, worklogs) so that separate tool calls are not needed.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
comment_limitintegeroptionalMaximum number of comments to include (0 or null for no comments)
expandstringoptional(Optional) Fields to expand. Examples: 'renderedFields' (for rendered content), 'transitions' (for available status transitions), 'changelog' (for history)
fieldsstringoptional(Optional) Comma-separated list of fields to return (e.g., 'summary,status,customfield_10010'). You may also provide a single field as a string (e.g., 'duedate'). Use '*all' for all fields (including custom fields), or omit for essential fields only.
includestringoptional(Optional) Comma-separated sections to inline in the response, avoiding extra tool calls. Supported: all, remote_links, transitions, watchers, changelog, comments, worklogs
propertiesstringoptional(Optional) A comma-separated list of issue properties to return
update_historybooleanoptionalWhether to update the issue view history for the requesting user

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_dates

Get date information and status transition history for a Jira issue.

Returns dates (created, updated, due date, resolution date) and optionally status change history with time tracking for workflow analysis.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
include_status_changesbooleanoptionalInclude status change history with timestamps and durations
include_status_summarybooleanoptionalInclude aggregated time spent in each status

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_development_info

Get development information (PRs, commits, branches) linked to a Jira issue.

This retrieves the development panel information that shows linked pull requests, branches, and commits from connected source control systems like Bitbucket, GitHub, or GitLab.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123')
application_typestringoptional(Optional) Filter by application type (case-sensitive). Examples: 'stash' (Bitbucket Server), 'bitbucket', 'GitHub', 'GitLab'
data_typestringoptional(Optional) Filter by data type. Examples: 'pullrequest', 'branch', 'repository'

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_images

Get all images attached to a Jira issue as inline image content.

Filters attachments to images only (PNG, JPEG, GIF, WebP, SVG, BMP) and returns them as base64-encoded ImageContent that clients can render directly. Non-image attachments are excluded.

Files with ambiguous MIME types (application/octet-stream) are detected by filename extension as a fallback. Images larger than 50 MB are skipped with an error entry in the summary.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123'). Returns image attachments as inline ImageContent for LLM vision.

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_proforma_forms

Get all ProForma forms associated with a Jira issue.

Uses the new Jira Forms REST API. Form IDs are returned as UUIDs.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123')

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_sla

Calculate SLA metrics for a Jira issue.

Computes various time-based metrics including cycle time, lead time, time spent in each status, due date compliance, and more.

Working hours can be configured via environment variables:

  • JIRA_SLA_WORKING_HOURS_ONLY: Enable working hours filtering (true/false)
  • JIRA_SLA_WORKING_HOURS_START: Start time (e.g., "09:00")
  • JIRA_SLA_WORKING_HOURS_END: End time (e.g., "17:00")
  • JIRA_SLA_WORKING_DAYS: Working days (e.g., "1,2,3,4,5" for Mon-Fri)
  • JIRA_SLA_TIMEZONE: Timezone for calculations (e.g., "America/New_York") Parameters|Type|Description -|-|- issue_key|string|Jira issue key (e.g., 'PROJ-123', 'ACV2-642') include_raw_dates|booleanoptional|Include raw date values in the response metrics|stringoptional|Comma-separated list of SLA metrics to calculate. Available: cycle_time, lead_time, time_in_status, due_date_compliance, resolution_time, first_response_time. Defaults to configured metrics or 'cycle_time,time_in_status'. working_hours_only|booleanoptional|Calculate using working hours only (excludes weekends/non-business hours). Defaults to value from JIRA_SLA_WORKING_HOURS_ONLY environment variable.

This tool is read-only. It does not modify its environment.


Tool: jira_get_issue_watchers

Get the list of watchers for a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123')

This tool is read-only. It does not modify its environment.


Tool: jira_get_issues_development_info

Get development information for multiple Jira issues.

Batch retrieves development panel information (PRs, commits, branches) for multiple issues at once.

ParametersTypeDescription
issue_keysstringComma-separated list of Jira issue keys (e.g., 'PROJ-123,PROJ-456')
application_typestringoptional(Optional) Filter by application type (case-sensitive). Examples: 'stash' (Bitbucket Server), 'bitbucket', 'GitHub', 'GitLab'
data_typestringoptional(Optional) Filter by data type. Examples: 'pullrequest', 'branch', 'repository'

This tool is read-only. It does not modify its environment.


Tool: jira_get_link_types

Get all available issue link types.

ParametersTypeDescription
name_filterstringoptional(Optional) Filter link types by name substring (case-insensitive)

This tool is read-only. It does not modify its environment.


Tool: jira_get_proforma_form_details

Get detailed information about a specific ProForma form.

Uses the new Jira Forms REST API. Returns form details including ADF design structure.

ParametersTypeDescription
form_idstringProForma form UUID (e.g., '1946b8b7-8f03-4dc0-ac2d-5fac0d960c6a')
issue_keystringJira issue key (e.g., 'PROJ-123')

This tool is read-only. It does not modify its environment.


Tool: jira_get_project_components

Get all components for a specific Jira project.

ParametersTypeDescription
project_keystringJira project key (e.g., 'PROJ', 'ACV2')

This tool is read-only. It does not modify its environment.


Tool: jira_get_project_fields

Get the fields available on issues of a project (the create schema), deduplicated across the project's issue types — i.e. which fields tickets in this project have, regardless of whether they are filled.

ParametersTypeDescription
project_keystringThe project key, e.g. 'PROJ'.

This tool is read-only. It does not modify its environment.


Tool: jira_get_project_issues

Get all issues for a specific Jira project.

ParametersTypeDescription
project_keystringJira project key (e.g., 'PROJ', 'ACV2')
limitintegeroptionalMaximum number of results (1-50)
start_atintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_project_versions

Get all fix versions for a specific Jira project.

ParametersTypeDescription
project_keystringJira project key (e.g., 'PROJ', 'ACV2')

This tool is read-only. It does not modify its environment.


Tool: jira_get_queue_issues

Get issues from a Jira Service Desk queue.

Server/Data Center only. Not available on Jira Cloud.

ParametersTypeDescription
queue_idstringQueue ID (e.g., '47')
service_desk_idstringService desk ID (e.g., '4')
limitintegeroptionalMaximum number of results (1-50)
start_atintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_service_desk_for_project

Get the Jira Service Desk associated with a project key.

Server/Data Center only. Not available on Jira Cloud.

ParametersTypeDescription
project_keystringJira project key (e.g., 'SUP')

This tool is read-only. It does not modify its environment.


Tool: jira_get_service_desk_queues

Get queues for a Jira Service Desk.

Server/Data Center only. Not available on Jira Cloud.

ParametersTypeDescription
service_desk_idstringService desk ID (e.g., '4')
limitintegeroptionalMaximum number of results (1-50)
start_atintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_sprint_issues

Get jira issues from sprint.

ParametersTypeDescription
sprint_idstringThe id of sprint (e.g., '10001')
fieldsstringoptionalComma-separated fields to return in the results. Use '*all' for all fields, or specify individual fields like 'summary,status,assignee,priority'
limitintegeroptionalMaximum number of results (1-50)
start_atintegeroptionalStarting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_get_sprints_from_board

Get jira sprints from board by state.

ParametersTypeDescription
board_idstringThe id of board (e.g., '1000')
limitintegeroptionalMaximum number of results (1-50)
start_atintegeroptionalStarting index for pagination (0-based)
statestringoptionalSprint state (e.g., 'active', 'future', 'closed')

This tool is read-only. It does not modify its environment.


Tool: jira_get_transitions

Get available status transitions for a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')

This tool is read-only. It does not modify its environment.


Tool: jira_get_user_profile

Retrieve profile information for a specific Jira user.

ParametersTypeDescription
user_identifierstringIdentifier for the user (e.g., email address '[email protected]', username 'johndoe', account ID 'accountid:...', or key for Server/DC).

This tool is read-only. It does not modify its environment.


Tool: jira_get_worklog

Get worklog entries for a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')

This tool is read-only. It does not modify its environment.


Tool: jira_link_to_epic

Link an existing issue to an epic.

ParametersTypeDescription
epic_keystringThe key of the epic to link to (e.g., 'PROJ-456')
issue_keystringThe key of the issue to link (e.g., 'PROJ-123', 'ACV2-642')

This tool may perform destructive updates.


Tool: jira_remove_issue_link

Remove a link between two Jira issues.

ParametersTypeDescription
link_idstringThe ID of the link to remove

This tool may perform destructive updates.


Tool: jira_remove_watcher

Remove a user from watching a Jira issue.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123')
account_idstringoptionalAccount ID to remove (for Jira Cloud).
usernamestringoptionalUsername to remove (for Jira Server/DC).

Tool: jira_search

Search Jira issues using JQL (Jira Query Language).

ParametersTypeDescription
jqlstringJQL query string (Jira Query Language). Examples:
  • Find Epics: "issuetype = Epic AND project = PROJ"
  • Find issues in Epic: "parent = PROJ-123"
  • Find by status: "status = 'In Progress' AND project = PROJ"
  • Find by assignee: "assignee = currentUser()"
  • Find recently updated: "updated >= -7d AND project = PROJ"
  • Find by label: "labels = frontend AND project = PROJ"
  • Find by priority: "priority = High AND project = PROJ" expand|stringoptional|(Optional) fields to expand. Examples: 'renderedFields', 'transitions', 'changelog' fields|stringoptional|(Optional) Comma-separated fields to return in the results. Use '*all' for all fields, or specify individual fields like 'summary,status,assignee,priority' limit|integeroptional|Maximum number of results (1-50) page_token|stringoptional|(Optional) Pagination token from a previous search result. Cloud only — Server/DC uses start_at for pagination. projects_filter|stringoptional|(Optional) Comma-separated list of project keys to filter results by. Overrides the environment variable JIRA_PROJECTS_FILTER if provided. start_at|integeroptional|Starting index for pagination (0-based)

This tool is read-only. It does not modify its environment.


Tool: jira_search_assignable_users

Search Jira users assignable in a given project or issue.

Use this when you have a display name / partial name / email fragment and need a concrete identifier (name / key for Server/DC, accountId for Cloud) to feed into assignee, reporter, watcher, etc.

Returns the full result set so the caller can disambiguate when several users match — get_user_profile only resolves one identifier and is not designed for human-name search.

Exactly one of project_key or issue_key must be provided — the underlying API (/user/assignable/search) requires a project or issue context and works without the global "Browse Users" permission that bot accounts in locked-down DC instances often lack.

ParametersTypeDescription
querystringFree-form text to search Jira users by: display name, username, or email substring (e.g. 'Smith', 'jane.doe', '[email protected]'). Server-side match is case-insensitive and partial.
issue_keystringoptionalIssue key to scope the search to (e.g. 'DT-779'). Required if project_key is not given.
limitintegeroptionalMaximum number of users to return (default 20).
project_keystringoptionalProject key to scope the search to (e.g. 'DT'). Required if issue_key is not given.

This tool is read-only. It does not modify its environment.


Tool: jira_search_fields

Search Jira fields by keyword with fuzzy match.

ParametersTypeDescription
keywordstringoptionalKeyword for fuzzy search. If left empty, lists the first 'limit' available fields in their default order.
limitintegeroptionalMaximum number of results
refreshbooleanoptionalWhether to force refresh the field list

This tool is read-only. It does not modify its environment.


Tool: jira_transition_issue

Transition a Jira issue to a new status.

ParametersTypeDescription
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
transition_idstringID of the transition to perform. Use the jira_get_transitions tool first to get the available transition IDs for the issue. Example values: '11', '21', '31'
commentstringoptional(Optional) Comment to add during the transition in Markdown format. This will be visible in the issue history.
fieldsstringoptional(Optional) JSON string of fields to update during the transition. Some transitions require specific fields to be set (e.g., resolution). Example: '{"resolution": {"name": "Fixed"}}'

This tool may perform destructive updates.


Tool: jira_update_issue

Update an existing Jira issue including changing status, adding Epic links, updating fields, etc.

ParametersTypeDescription
fieldsstringJSON string of fields to update. For 'assignee', provide a string identifier (email, name, or accountId). For 'description', provide text in Markdown format. Example: '{"assignee": "[email protected]", "summary": "New Summary", "description": "## Updated\nMarkdown text"}'
issue_keystringJira issue key (e.g., 'PROJ-123', 'ACV2-642')
additional_fieldsstringoptional(Optional) JSON string of additional fields to update. Use this for custom fields or more complex updates. Link to epic: {"epicKey": "EPIC-123"} or {"epic_link": "EPIC-123"}.
attachmentsstringoptional(Optional) JSON string array or comma-separated list of file paths to attach to the issue. Example: '/path/to/file1.txt,/path/to/file2.txt' or ['/path/to/file1.txt','/path/to/file2.txt']
componentsstringoptional(Optional) Comma-separated list of component names (e.g., 'Frontend,API')

This tool may perform destructive updates.


Tool: jira_update_proforma_form_answers

Update form field answers using the Jira Forms REST API.

This is the primary method for updating form data. Each answer object must specify the question ID, answer type, and value.

⚠️ KNOWN LIMITATION - DATETIME fields: The Jira Forms API does NOT properly preserve time components in DATETIME fields. Only the date portion is stored; times are reset to midnight (00:00:00).

Workaround for DATETIME fields: Use jira_update_issue to directly update the underlying custom fields instead:

  1. Get the custom field ID from the form details (question's "jiraField" property)
  2. Use jira_update_issue with fields like: {"customfield_XXXXX": "2026-01-09T11:50:00-08:00"}

Example:

# Instead of updating via form (loses time):
# jira_update_proforma_form_answers(issue_key, form_id, [{"questionId": "91", "type": "DATETIME", "value": "..."}])

# Use direct field update (preserves time):
jira_update_issue(issue_key, {"customfield_10542": "2026-01-09T11:50:00-08:00"})

Automatic DateTime Conversion: For DATE and DATETIME fields, you can provide values as:

  • ISO 8601 strings (e.g., "2024-12-17T19:00:00Z", "2024-12-17")
  • Unix timestamps in milliseconds (e.g., 1734465600000)

The tool automatically converts ISO 8601 strings to Unix timestamps.

Example answers: [ {"questionId": "q1", "type": "TEXT", "value": "Updated description"}, {"questionId": "q2", "type": "SELECT", "value": "Product A"}, {"questionId": "q3", "type": "NUMBER", "value": 42}, {"questionId": "q4", "type": "DATE", "value": "2024-12-17"} ]

Common answer types:

  • TEXT: String values
  • NUMBER: Numeric values
  • DATE: Date values (ISO 8601 string or Unix timestamp in ms)
  • DATETIME: DateTime values - ⚠️ USE WORKAROUND ABOVE
  • SELECT: Single selection from options
  • MULTI_SELECT: Multiple selections (value as list)
  • CHECKBOX: Boolean values Parameters|Type|Description -|-|- answers|array|List of answer objects. Each answer must have: questionId (string), type (TEXT/NUMBER/SELECT/etc), value (any) form_id|string|ProForma form UUID (e.g., '1946b8b7-8f03-4dc0-ac2d-5fac0d960c6a') issue_key|string|Jira issue key (e.g., 'PROJ-123')

This tool may perform destructive updates.


Tool: jira_update_sprint

Update jira sprint.

ParametersTypeDescription
sprint_idstringThe id of sprint (e.g., '10001')
end_datestringoptional(Optional) New end date for the sprint
goalstringoptional(Optional) New goal for the sprint
namestringoptional(Optional) New name for the sprint
start_datestringoptional(Optional) New start date for the sprint
statestringoptional(Optional) New state for the sprint (future

This tool may perform destructive updates.


Tool: jira_update_version

Update an existing fix version in a Jira project.

Only fields explicitly provided are modified; other attributes of the version are left untouched. Useful for archiving/unarchiving versions, renaming, or shifting release dates without recreating them.

ParametersTypeDescription
version_idstringNumeric ID of the version to update (e.g. '10001')
archivedbooleanoptionalSet archived flag (true to archive)
descriptionstringoptionalNew description for the version
namestringoptionalNew name for the version
release_datestringoptionalNew release date (YYYY-MM-DD)
releasedbooleanoptionalSet released flag (true to mark released)
start_datestringoptionalNew start date (YYYY-MM-DD)

This tool may perform destructive updates.


Use this MCP Server

{
  "mcpServers": {
    "atlassian": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CONFLUENCE_URL",
        "-e",
        "CONFLUENCE_USERNAME",
        "-e",
        "JIRA_URL",
        "-e",
        "JIRA_USERNAME",
        "-e",
        "CONFLUENCE_API_TOKEN",
        "-e",
        "CONFLUENCE_PERSONAL_TOKEN",
        "-e",
        "JIRA_API_TOKEN",
        "-e",
        "JIRA_PERSONAL_TOKEN",
        "mcp/atlassian"
      ],
      "env": {
        "CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
        "CONFLUENCE_USERNAME": "[email protected]",
        "JIRA_URL": "https://your-company.atlassian.net",
        "JIRA_USERNAME": "[email protected]",
        "CONFLUENCE_API_TOKEN": "your_api_token",
        "CONFLUENCE_PERSONAL_TOKEN": "your_api_token",
        "JIRA_API_TOKEN": "your_api_token",
        "JIRA_PERSONAL_TOKEN": "your_api_token"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers