mcp-atlassian MCP Server: Jira and Confluence for Claude and Cursor
Not the official Atlassian MCP server. This one is built by the community. Atlassian makes its own: Atlassian Rovo MCP Server →
Lets Claude and Cursor search, read and edit your Jira issues and Confluence pages, on Atlassian Cloud or your own Server.
This is a community server, not made by Atlassian. It lets Claude, Cursor and other assistants search, read, create and edit Jira issues and Confluence pages, on Atlassian Cloud or Server/Data Center. It runs on your computer and signs in with an Atlassian API token (Cloud) or a personal access token (Server/Data Center). Those tokens carry your own permissions, so the assistant can delete anything you can unless you turn on read-only mode.
Good for
- Teams that want Claude to find, triage and update Jira issues
- Anyone who wants Confluence searched, summarised or edited from chat
- Self-hosted Jira and Confluence users on Server or Data Center
- Scrum leads who manage sprints, boards and versions
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-atlassian
Claude Code
- 1
Copy this prompt.
Add the mcp-atlassian server to Claude Code. Run this command: claude mcp add atlassian -e JIRA_URL=<JIRA_URL> -e JIRA_USERNAME=<JIRA_USERNAME> -e JIRA_API_TOKEN=<JIRA_API_TOKEN> -e CONFLUENCE_URL=<CONFLUENCE_URL> -e CONFLUENCE_USERNAME=<CONFLUENCE_USERNAME> -e CONFLUENCE_API_TOKEN=<CONFLUENCE_API_TOKEN> -- uvx mcp-atlassian Ask me for JIRA_URL, JIRA_USERNAME, JIRA_API_TOKEN, CONFLUENCE_URL, CONFLUENCE_USERNAME, CONFLUENCE_API_TOKEN and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python).
Built from the package data we hold. Not yet tested by us.
Tools
Looks up a Jira user's profile
Returns a Jira user's name, email and status from an email address, username or account ID.
Try: “Who is jane.doe@example.com in Jira?”
Network ·
jira_get_user_profileFinds people who can be assigned issues
Searches for users who can be assigned in a project or on one issue, by name or email fragment.
Try: “Who can I assign issues to in the PLAT project?”
Network ·
jira_search_assignable_usersLists who is watching an issue
Returns the people watching one Jira issue.
Try: “Who is watching PROJ-123?”
Network ·
jira_get_issue_watchersAdds a watcher to an issue
Adds a user to the watcher list of an issue so they get its updates.
Try: “Add maria as a watcher on PROJ-123.”
Write ·
jira_add_watcherRemoves a watcher from an issue
Takes a user off an issue's watcher list so they stop getting updates.
Try: “Remove tom from the watchers of PROJ-123.”
Delete ·
jira_remove_watcherReads one issue in full
Returns an issue's fields, description and optionally comments, links and changelog for one key like PROJ-123.
Try: “Summarise PROJ-123 and its latest comments.”
Network ·
jira_get_issueSearches issues with JQL
Runs a Jira Query Language search and returns matching issues with the fields you ask for.
Try: “Find open bugs assigned to me in PROJ, newest first.”
Network ·
jira_searchFinds field names and IDs
Searches Jira fields by keyword, including custom fields, to find the right field ID.
Try: “Which custom field holds story points?”
Network ·
jira_search_fieldsLists allowed values for a field
Returns the allowed options of a custom dropdown or select field.
Try: “What values can the Environment field take?”
Network ·
jira_get_field_optionsLists a project's issues
Returns issues from one project, paged.
Try: “List the latest 20 issues in project PLAT.”
Network ·
jira_get_project_issuesShows the next statuses an issue can move to
Returns the workflow transitions currently available for an issue, with their IDs.
Try: “What statuses can PROJ-123 move to?”
Network ·
jira_get_transitionsReads time logged on an issue
Returns the worklog entries recorded on an issue.
Try: “How much time has been logged on PROJ-123?”
Network ·
jira_get_worklogFetches an issue's attachments
Downloads the files attached to an issue and returns them to the assistant.
Try: “Download the attachments on PROJ-123.”
Network ·
jira_download_attachmentsFetches an issue's images
Returns every image attached to an issue as inline image content so the assistant can look at it.
Try: “Show me the screenshots attached to PROJ-123.”
Network ·
jira_get_issue_imagesFinds Scrum and Kanban boards
Lists agile boards, filtered by name, project key or board type.
Try: “Which boards exist for project PLAT?”
Network ·
jira_get_agile_boardsLists issues on a board
Returns the issues on one board, filtered with JQL.
Try: “Show open issues on board 42.”
Network ·
jira_get_board_issuesLists a board's sprints
Returns the sprints of a board, filtered by state such as active or closed.
Try: “What is the active sprint on board 42?”
Network ·
jira_get_sprints_from_boardLists issues in a sprint
Returns the issues that belong to one sprint.
Try: “What is in sprint 118?”
Network ·
jira_get_sprint_issuesLists issue link types
Returns the link types your Jira supports, such as blocks or relates to.
Try: “What kinds of issue links does our Jira have?”
Network ·
jira_get_link_typesCreates an issue
Creates a Jira issue in a project with a type, summary, description and optional assignee, epic or parent.
Try: “Create a bug in PROJ titled login button does nothing on Safari.”
Write ·
jira_create_issueCreates several issues at once
Creates multiple issues in one call from a list of issue definitions.
Try: “Create three tasks in PLAT for the launch checklist.”
Write ·
jira_batch_create_issuesReads change history for many issues
Returns the changelog of several issues at once. Jira Cloud only.
Try: “Show the status changes of PROJ-1 to PROJ-10.”
Network ·
jira_batch_get_changelogsEdits an issue
Changes fields on an existing issue, including summary, description, status and epic link.
Try: “Set the priority of PROJ-123 to High.”
Write ·
jira_update_issueAssigns an issue to a person
Sets the assignee of an issue, or clears it.
Try: “Assign PROJ-123 to maria.”
Write ·
jira_assign_issueDeletes an issue
Permanently deletes an issue by key.
Try: “Delete the duplicate issue PROJ-456.”
Delete ·
jira_delete_issueMoves an issue to another project
Moves an issue into a different project. Jira Cloud only.
Try: “Move PROJ-123 to the PLAT project.”
Write ·
jira_move_issueComments on an issue
Posts a comment on a Jira issue.
Try: “Comment on PROJ-123 that the fix is in review.”
Write ·
jira_add_commentEdits a comment
Rewrites the text of an existing comment on an issue.
Try: “Fix the typo in my last comment on PROJ-123.”
Write ·
jira_edit_commentLogs time on an issue
Adds a worklog entry with time spent and an optional comment.
Try: “Log 2 hours on PROJ-123 for code review.”
Write ·
jira_add_worklogPuts an issue under an epic
Links an existing issue to an epic.
Try: “Add PROJ-123 to epic PROJ-10.”
Write ·
jira_link_to_epicLinks two issues
Creates a link such as blocks or relates to between two issues.
Try: “Mark PROJ-5 as blocking PROJ-6.”
Write ·
jira_create_issue_linkAttaches a web or Confluence link
Adds a link to a web page or Confluence page on an issue.
Try: “Link the design doc URL to PROJ-123.”
Write ·
jira_create_remote_issue_linkRemoves a link between issues
Deletes an existing link between two issues by link ID.
Try: “Remove the link between PROJ-5 and PROJ-6.”
Delete ·
jira_remove_issue_linkMoves an issue to a new status
Moves an issue through its workflow, for example to In Progress or Done, with optional fields and comment.
Try: “Move PROJ-123 to Done.”
Write ·
jira_transition_issueCreates a sprint
Creates a sprint on a board with a name, dates and goal.
Try: “Create a two week sprint on board 42 starting Monday.”
Write ·
jira_create_sprintEdits a sprint
Changes a sprint's name, goal, dates or state.
Try: “Close sprint 118.”
Write ·
jira_update_sprintAdds issues to a sprint
Puts one or more issues into a sprint.
Try: “Add PROJ-1 and PROJ-2 to sprint 118.”
Write ·
jira_add_issues_to_sprintMoves issues back to the backlog
Moves issues to the backlog, which takes them out of any sprint.
Try: “Move PROJ-7 back to the backlog.”
Write ·
jira_move_issues_to_backlogLists issue types in a project
Returns the issue types a project allows, such as Bug, Task and Epic.
Try: “Which issue types does PLAT allow?”
Network ·
jira_get_project_issue_typesShows fields needed to create an issue
Returns the fields available when creating an issue of one type in a project.
Try: “Which fields do I need to create a Bug in PROJ?”
Network ·
jira_get_create_fieldsLists a project's fix versions
Returns the fix versions defined on a project.
Try: “List the release versions of PLAT.”
Network ·
jira_get_project_versionsLists a project's components
Returns the components defined on a project.
Try: “Which components does PLAT have?”
Network ·
jira_get_project_componentsLists projects you can see
Returns every Jira project your account can access.
Try: “List all Jira projects I can access.”
Network ·
jira_get_all_projectsFinds projects by name or key
Searches projects by name or key prefix.
Try: “Find projects starting with PLA.”
Network ·
jira_search_projectsLists the fields on a project's issues
Returns the fields available on issues of a project, which is its create schema.
Try: “Which fields do PLAT issues have?”
Network ·
jira_get_project_fieldsFinds the service desk for a project
Returns the Jira Service Management desk tied to a project key.
Try: “Which service desk belongs to project HELP?”
Network ·
jira_get_service_desk_for_projectLists a service desk's queues
Returns the queues of a service desk.
Try: “What queues does the IT service desk have?”
Network ·
jira_get_service_desk_queuesLists issues in a service desk queue
Returns the issues sitting in one service desk queue.
Try: “Show the tickets in the Unassigned queue.”
Network ·
jira_get_queue_issuesLists a service desk's request types
Returns the request types customers can raise on a service desk.
Try: “What requests can customers raise on the IT desk?”
Network ·
jira_get_request_typesShows fields for a request type
Returns the field definitions for one service desk request type.
Try: “What fields does the Get IT help request need?”
Network ·
jira_get_request_type_fieldsRaises a service desk request
Creates a customer request on a Jira Service Management desk.
Try: “Raise an IT request that my laptop will not boot.”
Write ·
jira_create_customer_requestCreates a fix version
Creates a new fix version in a project.
Try: “Create version 2.4.0 in PLAT.”
Write ·
jira_create_versionCreates several versions at once
Creates multiple fix versions in a project in one call.
Try: “Create versions 2.5.0 and 2.6.0 in PLAT.”
Write ·
jira_batch_create_versionsEdits a fix version
Changes a fix version's name, description or dates.
Try: “Mark version 2.4.0 as released.”
Write ·
jira_update_versionLists forms on an issue
Returns the ProForma forms attached to an issue.
Try: “Which forms are attached to PROJ-123?”
Network ·
jira_get_issue_proforma_formsReads one form
Returns the questions and answers of one ProForma form.
Try: “Show the answers on form 1 of PROJ-123.”
Network ·
jira_get_proforma_form_detailsFills in form answers
Updates answers on a ProForma form through the Jira Forms API.
Try: “Set the risk answer on the change form to low.”
Write ·
jira_update_proforma_form_answersShows an issue's dates and status history
Returns created, updated and due dates plus how long the issue stayed in each status.
Try: “How long was PROJ-123 in review?”
Network ·
jira_get_issue_datesCalculates SLA metrics for an issue
Computes SLA figures such as cycle time and time in status for an issue.
Try: “What is the SLA status for PROJ-123?”
Network ·
jira_get_issue_slaShows pull requests and commits for an issue
Returns pull requests, commits and branches linked to an issue.
Try: “Which pull requests are linked to PROJ-123?”
Network ·
jira_get_issue_development_infoShows development info for many issues
Returns the linked pull requests, commits and branches for several issues at once.
Try: “List the pull requests for PROJ-1 to PROJ-5.”
Network ·
jira_get_issues_development_infoGroups epics under their parent issues
Groups a project's epics under the parent issues they roll up to in other projects.
Try: “Show how PLAT epics roll up to initiatives.”
Network ·
jira_get_project_epic_hierarchyFinds links to other projects
Lists issue links from a project to issues in other projects.
Try: “What does PLAT depend on in other projects?”
Network ·
jira_get_cross_project_dependenciesSearches Confluence
Searches pages and other content with plain words or CQL.
Try: “Search Confluence for onboarding docs.”
Network ·
confluence_searchReads a page
Returns a page's content by ID, or by title and space key.
Try: “Read the Release Process page in the ENG space.”
Network ·
confluence_get_pageLists a page's child pages
Returns the child pages and folders under one page.
Try: “What pages sit under the Engineering handbook?”
Network ·
confluence_get_page_childrenShows a space's page tree
Returns the page hierarchy of a space as a flat list.
Try: “Show the page tree of the ENG space.”
Network ·
confluence_get_space_page_treeReads page comments
Returns the comments on a page.
Try: “What comments are on the Release Process page?”
Network ·
confluence_get_commentsLists labels on content
Returns the labels on a page, blog post or attachment.
Try: “Which labels does the Release Process page have?”
Network ·
confluence_get_labelsAdds a label
Adds a label to a page, blog post or attachment.
Try: “Label the Release Process page as reviewed.”
Write ·
confluence_add_labelCreates a page
Creates a Confluence page in a space, optionally under a parent.
Try: “Create a page called Q3 Notes in the ENG space.”
Write ·
confluence_create_pageEdits a page
Replaces a page's title and content with new content.
Try: “Update the Release Process page with the new steps.”
Write ·
confluence_update_pageEdits one section of a page
Changes a single section of a page and leaves the rest alone.
Try: “Replace only the Rollback section of the Release Process page.”
Write ·
confluence_update_page_sectionDeletes a page
Deletes a Confluence page.
Try: “Delete the draft page Q3 Notes.”
Delete ·
confluence_delete_pageMoves a page
Moves a page to a new parent or a different space.
Try: “Move Q3 Notes under the Archive page.”
Write ·
confluence_move_pageComments on a page
Adds a comment to a page.
Try: “Comment on the Release Process page that step 3 is outdated.”
Write ·
confluence_add_commentReplies to a comment
Replies inside an existing comment thread.
Try: “Reply to that comment saying it is fixed.”
Write ·
confluence_reply_to_commentReads inline comments
Returns the comments anchored to selected text on a page.
Try: “List the inline comments on the Release Process page.”
Network ·
confluence_get_inline_commentsComments on selected text
Adds a comment anchored to a text selection on a page.
Try: “Comment on the sentence about rollbacks that it needs an owner.”
Write ·
confluence_add_inline_commentFinds Confluence users
Searches users with CQL on Cloud, or group members on Server and Data Center.
Try: “Find the Confluence user for maria.”
Network ·
confluence_search_userReads an older page version
Returns an earlier version of a page.
Try: “Show version 3 of the Release Process page.”
Network ·
confluence_get_page_historyCompares two page versions
Returns a unified diff between two versions of a page.
Try: “What changed between versions 3 and 5 of this page?”
Network ·
confluence_get_page_diffShows page view counts
Returns view statistics for a page.
Try: “How many views did the Release Process page get?”
Network ·
confluence_get_page_viewsUploads a file to a page
Uploads one file to a page or blog post, from a path on the machine running the server or from base64 content.
Try: “Attach report.pdf to the Q3 Notes page.”
Write ·
confluence_upload_attachmentUploads several files
Uploads multiple files to a page or blog post in one call, from file paths on the machine running the server.
Try: “Attach these three screenshots to the Q3 Notes page.”
Write ·
confluence_upload_attachmentsLists a page's attachments
Returns the attachments of a page or blog post.
Try: “What files are attached to the Q3 Notes page?”
Network ·
confluence_get_attachmentsFetches one attachment
Downloads one attachment and returns it to the assistant as an embedded resource.
Try: “Download report.pdf from the Q3 Notes page.”
Network ·
confluence_download_attachmentFetches all attachments
Downloads every attachment of a page or blog post as embedded resources.
Try: “Download all attachments from the Q3 Notes page.”
Network ·
confluence_download_content_attachmentsDeletes an attachment
Permanently deletes an attachment from a page or blog post.
Try: “Delete the old report.pdf from the Q3 Notes page.”
Delete ·
confluence_delete_attachmentFetches a page's images
Returns every image attached to a page as inline image content.
Try: “Show me the diagrams on the architecture page.”
Network ·
confluence_get_page_imagesLists page templates
Returns the Confluence page templates available.
Try: “Which page templates do we have?”
Network ·
confluence_list_page_templatesReads a page template
Returns a Cloud page template and its body.
Try: “Show the retrospective template.”
Network ·
confluence_get_page_templateCreates a page from a template
Creates a Cloud page pre-filled with a template's body.
Try: “Create a retrospective page from the retro template.”
Write ·
confluence_create_page_from_templateShows who can view or edit a page
Returns the view and edit restrictions on a page.
Try: “Who can edit the Release Process page?”
Network ·
confluence_get_page_restrictionsChanges who can view or edit a page
Sets the view and edit restrictions on a page, replacing the current ones.
Try: “Limit editing of the Release Process page to the platform team.”
Write ·
confluence_set_page_restrictionsCopies a page
Copies a page to a new location.
Try: “Copy the Release Process page into the Archive space.”
Write ·
confluence_copy_pageChecks what a user can do
Checks whether a user or group may perform an operation on specific content.
Try: “Can maria edit the Release Process page?”
Network ·
confluence_check_content_permissionsLists a space's permissions
Returns all permission assignments of a space.
Try: “Who has access to the ENG space?”
Network ·
confluence_get_space_permissions
Read from the source code
Permissions
high risk · 5 things to watch
High risk
It can create, edit and delete Jira issues and Confluence pages with your own account's permissions. Turn on read-only mode, or limit it to the tools you need, before you let an assistant loose on a real workspace.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It can delete issues, pages and attachments
Tools exist to delete Jira issues and watchers, remove issue links, and delete Confluence pages and attachments. Use read-only mode, or list only the tools you want in ENABLED_TOOLS. github.com
It acts with your full Atlassian permissions
The token is not scoped to a project. Anything your account can change, the assistant can change, so use a dedicated account with limited access if you can. github.com
Every tool is on unless you narrow it
With TOOLSETS unset all tool groups load. Set TOOLSETS=default for the core groups or ENABLED_TOOLS for an exact list. github.com
Upload tools read files from the server machine
Attachment upload takes a file path on the machine running the server. Only approve uploads you expect. github.com
HTTP mode listens on all interfaces by default
If you run it as a network server instead of the normal local setup, the default host is 0.0.0.0. Bind it to 127.0.0.1 or put authentication in front. github.com
Technical details
| Turning on read-only | Set READ_ONLY_MODE=true (or pass --read-only). Tools that write are then hidden and refused. |
|---|---|
| Talks to | Your Atlassian site (Jira and Confluence URLs you configure) |
| Sign-in and keys | You put an Atlassian API token (Cloud) or personal access token (Server/Data Center) in the server config. The README also documents OAuth 2.0. |
Questions
Is this the official Atlassian MCP server?
No. It is a separate community project by sooperset, and the README says it is not an official Atlassian product. Atlassian runs its own hosted server, covered on the Atlassian MCP page, which signs in with your Atlassian account.
Does it work with Jira Server and Data Center?
Yes. The README lists Jira Server/Data Center 8.14+ and Confluence Server/Data Center 6.0+ as supported, next to Cloud. Use a personal access token instead of an API token.
What credentials does it need?
On Cloud you need your site URL, your Atlassian email and an API token from your Atlassian account. On Server/Data Center you use a personal access token. The docs also describe OAuth 2.0 setup.
Can I use it read-only?
Yes. Set READ_ONLY_MODE to true and every tool that writes is hidden. You can also set ENABLED_TOOLS to an exact list of tools, or TOOLSETS to a set of groups.
Can I use only Jira or only Confluence?
Yes. Leave out the settings for the product you do not use, and its tools are not listed.
Can it delete things?
Yes. It can delete Jira issues, remove watchers and issue links, and delete Confluence pages and attachments. Read-only mode removes all of these.
Does it run on my computer or in the cloud?
On your computer. The setup in the install box starts it locally, and it talks straight to your Atlassian site. The README also describes Docker and an HTTP mode.
How many tools does it have?
98 in the latest release, v0.23.1 (also the newest on PyPI). The README says 93 and the docs say 96, but the release registers 98 tool functions, and the tools section on this page lists all 98. You can narrow them with TOOLSETS or ENABLED_TOOLS.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
mcp-atlassian- Registry
- PyPI
- Transport
- stdio, SSE, Streamable HTTP
- Auth
- token in env
- Version
- 0.23.1
- License
- MIT
Other Atlassian MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- README · github.com
- Tools reference · github.com
- Jira tool registrations · github.com
- Confluence tool registrations · github.com
- Configuration · github.com