authenticate_atlassianLABSCO SUMMARY
The scopes are the setup, and getting them wrong looks like a bug.
Almost every failure report on a server like this is a missing scope: the README maps the error text to the cause — a scope mismatch means it is absent from the OAuth app, "current user not permitted" means the product permission is missing, and adding a scope later means re-running the authentication tool to get fresh tokens. The step people skip is installing the app to the site through the Authorization URL generator; nothing works before that. The discovery tools on the Service Management side exist for the same reason — ask what fields a request type needs rather than guessing.
What it is
An Atlassian Cloud server built around three separable clients — Jira, Confluence and Service Management — each of which can be turned off so you only load what you use. Authentication is OAuth 2.0 with PKCE, and tokens refresh automatically.
What you get
authenticate_atlassianstarts the flow: the browser opens, you authorise, and credentials are saved locally for next time- Jira:
jira_searchwith JQL,jira_get_issue,jira_create_issue,jira_update_issue,jira_add_comment - Confluence content:
confluence_search,confluence_get_page,confluence_create_page,confluence_update_page, plusconfluence_get_page_childrenandconfluence_search_content - Confluence spaces:
confluence_list_spaces,confluence_get_space,confluence_get_space_pages - Confluence collaboration: comments with
confluence_get_page_comments,confluence_add_commentandconfluence_get_comment; labels withconfluence_get_page_labels,confluence_search_by_labelandconfluence_list_labels; attachments and full version history including a specific past version - Service Management discovery:
servicedesk_check_availability,servicedesk_list_service_desks,servicedesk_list_request_typesandservicedesk_get_request_type_fields, which tells you what a request type actually requires before you try to create one - Service Management operations: create requests, comment publicly or internally, read status, list transitions and move a request through them, handle approvals and participants
Requirements
Python 3.8 or higher and the PyPI package atlassian-mcp-server, version 0.4.4. Before it will run you need an OAuth 2.0 integration in the Atlassian Developer Console with the callback set to http://localhost:8080/callback and the required scopes added, then the app installed to your site through the Authorization URL generator. ATLASSIAN_SITE_URL, ATLASSIAN_CLIENT_ID and ATLASSIAN_CLIENT_SECRET go in the environment; ATLASSIAN_MODULES limits which of jira, confluence and service_desk load.
Setup effort
One command plus credentials — pip3 install atlassian-mcp-server, then supply credentials
USE CASES
Writing up work as you finish it
Create the Confluence page from the conversation where the work was discussed, under the right parent.
Turning a discussion into a tracked issue
Create the Jira issue with the summary and description already written, then comment on it as things change.
Getting the background before starting
Search Confluence and read the pages that explain why the system is the way it is.
Raising a service request correctly the first time
List the request types, ask which fields are required, then create it — instead of failing on a missing field.
44 tools
Listed in project docs. Your client may show a different list.
jira_searchjira_get_issuejira_create_issuejira_update_issuejira_add_commentconfluence_searchconfluence_get_pageconfluence_create_pageconfluence_update_pageconfluence_list_spacesconfluence_get_spaceconfluence_get_space_pagesconfluence_search_contentconfluence_get_page_childrenconfluence_get_page_commentsconfluence_add_commentconfluence_get_commentconfluence_get_page_labelsconfluence_search_by_labelconfluence_list_labelsconfluence_get_page_attachmentsconfluence_get_attachmentconfluence_get_page_versionsconfluence_get_page_versionservicedesk_check_availabilityservicedesk_list_service_desksservicedesk_get_service_deskservicedesk_list_request_typesservicedesk_get_request_typeservicedesk_get_request_type_fieldsservicedesk_get_requestsservicedesk_get_requestservicedesk_create_requestservicedesk_add_commentservicedesk_get_request_commentsservicedesk_get_request_statusservicedesk_get_request_transitionsservicedesk_transition_requestservicedesk_get_approvalsservicedesk_approve_requestservicedesk_get_participantsservicedesk_add_participantsservicedesk_manage_notificationsBEFORE YOU INSTALL
What to know first
Tools you get
44 tools named in the project's documentation.
Requires
- atlassian-mcp-server on PATH
- Python 3.8 or later
- ATLASSIAN_CLIENT_ID in your environment
- ATLASSIAN_CLIENT_SECRET in your environment
- ATLASSIAN_SITE_URL in your environment
INSTALLATION
Connect your client
Server setup
pip3 install atlassian-mcp-serverMCP Clients
Claude Desktop, Continue, Cline
{
"mcpServers": {
"atlassian": {
"command": "atlassian-mcp-server",
"env": {
"ATLASSIAN_SITE_URL": "https://<YOUR_DOMAIN>.atlassian.net",
"ATLASSIAN_CLIENT_ID": "<YOUR_ATLASSIAN_CLIENT_ID>",
"ATLASSIAN_CLIENT_SECRET": "<YOUR_ATLASSIAN_CLIENT_SECRET>"
}
}
}
}Amazon Q
Create an agent configuration file at ~/.aws/amazonq/cli-agents/atlassian.json:
{
"$schema": "https://raw.githubusercontent.com/aws/amazon-q-developer-cli/refs/heads/main/schemas/agent-v1.json",
"name": "atlassian",
"description": "Atlassian Jira and Confluence integration agent",
"prompt": "You are an AI assistant with access to Atlassian Jira and Confluence. Help users manage issues, search content, and document their work.",
"mcpServers": {
"atlassian-mcp-server": {
"command": "atlassian-mcp-server",
"args": [],
"env": {
"ATLASSIAN_SITE_URL": "https://<YOUR_DOMAIN>.atlassian.net",
"ATLASSIAN_CLIENT_ID": "<YOUR_ATLASSIAN_CLIENT_ID>",
"ATLASSIAN_CLIENT_SECRET": "<YOUR_ATLASSIAN_CLIENT_SECRET>"
},
"autoApprove": [
"*"
],
"disabled": false,
"timeout": 60000,
"initTimeout": 120000
}
},
"tools": [
"@atlassian-mcp-server/*"
],
"allowedTools": [
"@atlassian-mcp-server/*"
]
}Then use: q chat --agent atlassian
VS Code
{
"servers": {
"atlassian": {
"command": "atlassian-mcp-server",
"env": {
"ATLASSIAN_SITE_URL": "https://<YOUR_DOMAIN>.atlassian.net",
"ATLASSIAN_CLIENT_ID": "<YOUR_ATLASSIAN_CLIENT_ID>",
"ATLASSIAN_CLIENT_SECRET": "<YOUR_ATLASSIAN_CLIENT_SECRET>"
}
}
}
}