### Run OAuth Setup (uvx)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Execute the OAuth setup command using uvx. This is a prerequisite for using OAuth authentication.
```bash
uvx mcp-atlassian --oauth-setup -v
```
--------------------------------
### Basic SSE Transport Setup (uvx)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Start MCP Atlassian with SSE transport using uvx. This is a basic setup for streaming.
```bash
uvx mcp-atlassian --transport sse --port 9000 -vv
```
--------------------------------
### Basic Streamable-HTTP Transport Setup (uvx)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Start MCP Atlassian with streamable-http transport using uvx. This is a basic setup for multi-user scenarios.
```bash
uvx mcp-atlassian --transport streamable-http --port 9000 -vv
```
--------------------------------
### Example Production SLA Configuration
Source: https://personal-1d37018d.mintlify.app/docs/advanced/sla-metrics
A comprehensive example of production-ready SLA configuration, including metric selection, working hours, and timezone settings.
```bash
# Calculate cycle time and time-in-status
JIRA_SLA_METRICS=cycle_time,time_in_status,lead_time
# Count only business hours
JIRA_SLA_WORKING_HOURS_ONLY=true
JIRA_SLA_WORKING_HOURS_START=09:00
JIRA_SLA_WORKING_HOURS_END=17:00
JIRA_SLA_WORKING_DAYS=1,2,3,4,5
# US Eastern timezone
JIRA_SLA_TIMEZONE=America/New_York
```
--------------------------------
### OAuth 2.0 Setup Wizard Commands
Source: https://personal-1d37018d.mintlify.app/docs/authentication
Run these commands to initiate the OAuth 2.0 setup wizard for Atlassian Cloud. Supports uvx or Docker execution.
```bash
# Using uvx
uvx mcp-atlassian --oauth-setup -v
# Or using Docker
docker run --rm -i \
-p 8080:8080 \
-v "${HOME}/.mcp-atlassian:/home/app/.mcp-atlassian" \
ghcr.io/sooperset/mcp-atlassian:latest --oauth-setup -v
```
--------------------------------
### Environment File Example
Source: https://personal-1d37018d.mintlify.app/docs/advanced/docker-production
Example of a .env file used to store sensitive credentials and configuration variables for MCP Atlassian.
```dotenv
# .env
JIRA_URL=https://your-company.atlassian.net
JIRA_USERNAME=your.email@example.com
JIRA_API_TOKEN=your_api_token
CONFLUENCE_URL=https://your-company.atlassian.net/wiki
CONFLUENCE_USERNAME=your.email@example.com
CONFLUENCE_API_TOKEN=your_api_token
```
--------------------------------
### Run OAuth Setup (Docker)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Perform OAuth setup for MCP Atlassian using Docker. Ensure ports are mapped and volumes are mounted correctly.
```bash
docker run --rm -i \
-p 8080:8080 \
-v "${HOME}/.mcp-atlassian:/home/app/.mcp-atlassian" \
ghcr.io/sooperset/mcp-atlassian:latest --oauth-setup -v
```
--------------------------------
### Install MCP Atlassian from Source
Source: https://personal-1d37018d.mintlify.app/docs/installation
Clone the MCP Atlassian repository and install dependencies from source. This method is intended for development or contributing to the project.
```bash
git clone https://github.com/sooperset/mcp-atlassian.git
cd mcp-atlassian
uv sync --frozen --all-extras --dev
uv run mcp-atlassian --help
```
--------------------------------
### Get Jira Issue Details
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
Retrieve specific details for a Jira issue, including summary, status, and assignee. This example demonstrates how to specify desired fields and a limit for comments.
```json
{"issue_key": "PROJ-123", "fields": "summary,status,assignee", "comment_limit": 5}
```
--------------------------------
### Search Content Example
Source: https://personal-1d37018d.mintlify.app/docs/tools/confluence-search
Example of a JSON payload for searching Confluence content. Supports CQL queries and specifies a limit for results.
```json
{"query": "type=page AND space=DEV AND title~'Architecture'", "limit": 10}
```
--------------------------------
### Basic JQL Syntax Example
Source: https://personal-1d37018d.mintlify.app/docs/guides/jql-guide
Demonstrates the fundamental structure of a JQL query, combining a field, operator, and value.
```jql
project = "PROJ" AND status = "In Progress"
```
--------------------------------
### Update Jira Issue Example
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
This example demonstrates how to update an existing Jira issue by providing the issue key and a JSON string of fields to modify. It also shows how to include additional fields like priority using a nested JSON structure within the `additional_fields` parameter.
```json
{"issue_key": "PROJ-123", "summary": "Updated title", "description": "New description", "additional_fields": "{\"priority\": {\"name\": \"High\"}}"}
```
--------------------------------
### Basic Streamable-HTTP Transport Setup (Docker)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Deploy MCP Atlassian with streamable-http transport using Docker. Map the port and provide environment variables.
```bash
docker run --rm -p 9000:9000 \
--env-file /path/to/your/.env \
ghcr.io/sooperset/mcp-atlassian:latest \
--transport streamable-http --port 9000 -vv
```
--------------------------------
### Quick Start Docker Run
Source: https://personal-1d37018d.mintlify.app/docs/advanced/docker-production
Run the MCP Atlassian Docker image directly with necessary environment variables for Jira and Confluence integration.
```bash
docker run -i --rm \
-e JIRA_URL=https://your-company.atlassian.net \
-e JIRA_USERNAME=your.email@example.com \
-e JIRA_API_TOKEN=your_api_token \
-e CONFLUENCE_URL=https://your-company.atlassian.net/wiki \
-e CONFLUENCE_USERNAME=your.email@example.com \
-e CONFLUENCE_API_TOKEN=your_api_token \
ghcr.io/sooperset/mcp-atlassian:latest
```
--------------------------------
### Basic SSE Transport Setup (Docker)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Deploy MCP Atlassian with SSE transport using Docker. Map the port and provide environment variables.
```bash
docker run --rm -p 9000:9000 \
--env-file /path/to/your/.env \
ghcr.io/sooperset/mcp-atlassian:latest \
--transport sse --port 9000 -vv
```
--------------------------------
### Get Project Components
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-links-versions
Retrieves all components for a specific Jira project.
```APIDOC
## Get Project Components
### Description
Get all components for a specific Jira project.
### Method
GET
### Endpoint
/api/jira/projects/{project_key}/components
### Parameters
#### Path Parameters
- **project_key** (string) - Required - Jira project key (e.g., 'PROJ', 'ACV2')
```
--------------------------------
### Install MCP Atlassian with pip
Source: https://personal-1d37018d.mintlify.app/docs/installation
Install the MCP Atlassian package directly into your Python environment using pip. This is suitable for development or when the package is needed within your project.
```bash
pip install mcp-atlassian
# Run the server
mcp-atlassian --help
```
--------------------------------
### Basic Docker Compose Setup
Source: https://personal-1d37018d.mintlify.app/docs/advanced/docker-production
A fundamental Docker Compose configuration for running MCP Atlassian, specifying the image, environment file, port mapping, and restart policy.
```yaml
version: "3.8"
services:
mcp-atlassian:
image: ghcr.io/sooperset/mcp-atlassian:latest
env_file: .env
ports:
- "8000:8000"
environment:
- TRANSPORT=sse
- PORT=8000
- HOST=0.0.0.0
restart: unless-stopped
```
--------------------------------
### Kubernetes Deployment and Service Configuration
Source: https://personal-1d37018d.mintlify.app/docs/advanced/docker-production
Example Kubernetes manifest for deploying MCP Atlassian as a Deployment with liveness and readiness probes, and exposing it via a Service.
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mcp-atlassian
spec:
replicas: 1
selector:
matchLabels:
app: mcp-atlassian
template:
metadata:
labels:
app: mcp-atlassian
spec:
containers:
- name: mcp-atlassian
image: ghcr.io/sooperset/mcp-atlassian:latest
ports:
- containerPort: 8000
env:
- name: TRANSPORT
value: "sse"
- name: PORT
value: "8000"
envFrom:
- secretRef:
name: atlassian-credentials
livenessProbe:
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 10
periodSeconds: 30
readinessProbe:
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 5
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: mcp-atlassian
spec:
selector:
app: mcp-atlassian
ports:
- port: 8000
targetPort: 8000
```
--------------------------------
### Enable Specific Tools
Source: https://personal-1d37018d.mintlify.app/docs/configuration
Control which tools are available by setting the ENABLED_TOOLS environment variable. This example enables Jira and Confluence search and issue retrieval tools.
```bash
# Enable specific tools
ENABLED_TOOLS="confluence_search,jira_get_issue,jira_search"
# Read-only mode (disables all write operations)
READ_ONLY_MODE=true
```
--------------------------------
### Enable Toolsets via Command Line
Source: https://personal-1d37018d.mintlify.app/docs/configuration
Use the --toolsets argument to specify tool groups directly from the command line. This example enables default and agile Jira tools.
```bash
uvx mcp-atlassian --toolsets "default,jira_agile"
```
--------------------------------
### OAuth 2.0 Environment Variables (Cloud)
Source: https://personal-1d37018d.mintlify.app/docs/authentication
Environment variables to configure after completing the OAuth 2.0 setup wizard for Atlassian Cloud.
```bash
JIRA_URL=https://your-company.atlassian.net
CONFLUENCE_URL=https://your-company.atlassian.net/wiki
ATLASSIAN_OAUTH_CLOUD_ID=your_cloud_id_from_wizard
ATLASSIAN_OAUTH_CLIENT_ID=your_oauth_client_id
ATLASSIAN_OAUTH_CLIENT_SECRET=your_oauth_client_secret
ATLASSIAN_OAUTH_REDIRECT_URI=http://localhost:8080/callback
ATLASSIAN_OAUTH_SCOPE=read:jira-work write:jira-work read:confluence-content.all write:confluence-content offline_access
```
--------------------------------
### Configure GitHub Copilot with Docker
Source: https://personal-1d37018d.mintlify.app/docs/compatibility
When using Docker, configure Copilot to expose via stdio transport. This example shows how to run the mcp-atlassian container with necessary environment variables.
```json
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "JIRA_URL=https://your-instance.atlassian.net",
"-e", "JIRA_USERNAME=your-email@example.com",
"-e", "JIRA_API_TOKEN=your-api-token",
"ghcr.io/sooperset/mcp-atlassian:latest"
]
}
}
}
```
--------------------------------
### Get Jira Agile Boards
Source: https://personal-1d37018d.mintlify.app/docs/guides/common-workflows
Retrieve a list of agile boards for a given project. Use to find board IDs for other operations.
```json
jira_get_agile_boards: {"project_key": "PROJ", "board_type": "scrum"}
```
--------------------------------
### Multi-Service Docker Compose Setup
Source: https://personal-1d37018d.mintlify.app/docs/advanced/docker-production
Configure Docker Compose to run separate MCP Atlassian services for Jira and Confluence, each with its own environment file and enabled toolsets.
```yaml
version: "3.8"
services:
jira-mcp:
image: ghcr.io/sooperset/mcp-atlassian:latest
env_file: .env.jira
ports:
- "8001:8000"
environment:
- TRANSPORT=sse
- PORT=8000
- TOOLSETS=jira_issues,jira_fields,jira_transitions
confluence-mcp:
image: ghcr.io/sooperset/mcp-atlassian:latest
env_file: .env.confluence
ports:
- "8002:8000"
environment:
- TRANSPORT=sse
- PORT=8000
- TOOLSETS=confluence_pages,confluence_comments
```
--------------------------------
### Get All Projects
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
Retrieves all Jira projects accessible to the current user. It supports an optional parameter to include archived projects.
```APIDOC
## Get All Projects
### Description
Get all Jira projects accessible to the current user.
### Method
GET
### Endpoint
/projects
### Parameters
#### Query Parameters
- **include_archived** (boolean) - Optional - Whether to include archived projects in the results
```
--------------------------------
### Enable Toolsets via Environment Variable
Source: https://personal-1d37018d.mintlify.app/docs/configuration
Control tool availability by enabling entire groups of related tools using the TOOLSETS environment variable. This example enables default and agile Jira tools.
```bash
# Restrict to core tools only (~23 tools across 6 core toolsets)
TOOLSETS=default
# Core tools plus agile boards/sprints
TOOLSETS=default,jira_agile
# All toolsets (same as current default when TOOLSETS is unset)
TOOLSETS=all
```
--------------------------------
### Get Transitions
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
Retrieves the available status transitions for a given Jira issue. This is useful for determining valid transitions before attempting to transition an issue.
```APIDOC
## Get Transitions
### Description
Get available status transitions for a Jira issue.
### Method
GET (Assumed)
### Endpoint
/jira/issues/{issue_key}/transitions
### Parameters
#### Path Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123', 'ACV2-642')
### Response
#### Success Response (200)
(Details not provided in source)
#### Response Example
(Details not provided in source)
```
--------------------------------
### Create Sprint
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-agile
Creates a new Jira sprint for a specified board. Requires board ID, name, start date, and end date.
```APIDOC
## POST /jira/sprint/create
### Description
Create Jira sprint for a board. This is a write tool and is disabled when READ_ONLY_MODE is true.
### Method
POST
### Endpoint
/jira/sprint/create
### Parameters
#### Request Body
- **board_id** (string) - Required - The id of board (e.g., '1000')
- **name** (string) - Required - Name of the sprint (e.g., 'Sprint 1')
- **start_date** (string) - Required - Start time for sprint (ISO 8601 format)
- **end_date** (string) - Required - End time for sprint (ISO 8601 format)
- **goal** (string) - Optional - (Optional) Goal of the sprint
### Request Example
```json
{
"board_id": "1000",
"name": "Sprint Alpha",
"start_date": "2024-01-01T09:00:00Z",
"end_date": "2024-01-15T17:00:00Z",
"goal": "Improve user onboarding"
}
```
### Response
#### Success Response (201)
- **sprint_id** (string) - The ID of the newly created sprint.
- **name** (string) - The name of the created sprint.
- **state** (string) - The initial state of the sprint (e.g., 'future').
#### Response Example
```json
{
"sprint_id": "10002",
"name": "Sprint Alpha",
"state": "future"
}
```
```
--------------------------------
### Python Client for Streamable HTTP Transport
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Example of a Python client using the streamable HTTP transport to connect to an MCP service. It demonstrates setting user-specific authentication headers for multi-cloud support. The server falls back to global authentication if user-specific headers are missing.
```python
import asyncio
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
user_token = "user-specific-oauth-token"
user_cloud_id = "user-specific-cloud-id"
async def main():
async with streamablehttp_client(
"http://localhost:9000/mcp",
headers={
"Authorization": f"Bearer {user_token}",
"X-Atlassian-Cloud-Id": user_cloud_id
}
) as (read_stream, write_stream, _):
async with ClientSession(read_stream, write_stream) as session:
await session.initialize()
result = await session.call_tool(
"jira_get_issue",
{"issue_key": "PROJ-123"}
)
print(result)
asyncio.run(main())
```
--------------------------------
### Get Service Desk For Project
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-service-desk
Retrieves the Jira Service Desk associated with a given project key. This is useful for identifying the correct service desk to query for queues and issues.
```APIDOC
## GET /jira/service-desk
### Description
Get the Jira Service Desk associated with a project key.
### Method
GET
### Endpoint
/jira/service-desk
### Parameters
#### Query Parameters
- **project_key** (string) - Required - Jira project key (e.g., 'SUP')
```
--------------------------------
### Batch Get Development Information for Multiple Jira Issues
Source: https://personal-1d37018d.mintlify.app/docs/advanced/sla-metrics
Use the jira_get_issues_development_info tool to efficiently retrieve development information for a list of Jira issue keys.
```json
jira_get_issues_development_info: {
"issue_keys": "PROJ-1,PROJ-2,PROJ-3"
}
```
--------------------------------
### Configure Environment Variables for Multi-User Authentication
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Set the necessary environment variables for MCP Atlassian to function correctly in a multi-user setup, including JIRA and Confluence URLs, and OAuth credentials.
```bash
JIRA_URL=https://your-company.atlassian.net
CONFLUENCE_URL=https://your-company.atlassian.net/wiki
ATLASSIAN_OAUTH_CLIENT_ID=your_oauth_app_client_id
ATLASSIAN_OAUTH_CLIENT_SECRET=your_oauth_app_client_secret
ATLASSIAN_OAUTH_REDIRECT_URI=http://localhost:8080/callback
ATLASSIAN_OAUTH_SCOPE=read:jira-work write:jira-work read:confluence-content.all write:confluence-content offline_access
ATLASSIAN_OAUTH_CLOUD_ID=your_cloud_id_from_setup_wizard
# Optional: enable MCP OAuth proxy + DCR/discovery endpoints
ATLASSIAN_OAUTH_PROXY_ENABLE=true
PUBLIC_BASE_URL=https://mcp.example.com/mcp-atlassian
```
--------------------------------
### Search Jira Issues with JQL
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-search-fields
Use this snippet to search for Jira issues based on a JQL query and specify the number of results. This example searches for issues in the 'PROJ' project that are in 'In Progress' status, ordered by update time, and limits the results to 20.
```json
{"jql": "project = PROJ AND status = 'In Progress' ORDER BY updated DESC", "limit": 20}
```
--------------------------------
### Configure Working Hours for SLA Calculations
Source: https://personal-1d37018d.mintlify.app/docs/advanced/sla-metrics
Enable business-hours-only calculation by setting JIRA_SLA_WORKING_HOURS_ONLY to true and defining the start, end, and days for working hours. This ensures metrics are calculated only within the specified business schedule.
```bash
# Enable working hours filtering
JIRA_SLA_WORKING_HOURS_ONLY=true
# Define business hours (24-hour format)
JIRA_SLA_WORKING_HOURS_START=09:00
JIRA_SLA_WORKING_HOURS_END=17:00
# Working days (1=Monday, 7=Sunday)
JIRA_SLA_WORKING_DAYS=1,2,3,4,5
```
--------------------------------
### Get Jira Agile Boards
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-agile
Use this JSON payload to specify parameters for fetching Jira agile boards by name, project key, or type. Supports fuzzy search for board names and pagination.
```json
{"board_name": "Sprint Board", "project_key": "PROJ", "board_type": "scrum"}
```
--------------------------------
### Get Agile Boards
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-agile
Retrieves Jira agile boards based on specified criteria such as board name, project key, or board type. Supports pagination and fuzzy search for board names.
```APIDOC
## Get Agile Boards
### Description
Get jira agile boards by name, project key, or type.
### Method
GET
### Endpoint
/jira/agile/boards
### Parameters
#### Query Parameters
- **board_name** (string) - Optional - The name of board, support fuzzy search
- **project_key** (string) - Optional - Jira project key (e.g., 'PROJ', 'ACV2')
- **board_type** (string) - Optional - The type of jira board (e.g., 'scrum', 'kanban')
- **start_at** (integer) - Optional - Starting index for pagination (0-based)
- **limit** (integer) - Optional - Maximum number of results (1-50)
### Request Example
```json
{
"board_name": "Sprint Board",
"project_key": "PROJ",
"board_type": "scrum"
}
```
### Response
#### Success Response (200)
- **boards** (array) - A list of agile boards matching the criteria.
- **id** (integer) - The unique identifier for the board.
- **name** (string) - The name of the board.
- **type** (string) - The type of the board (e.g., 'scrum', 'kanban').
- **self** (string) - The URL to access the board details.
#### Response Example
```json
{
"boards": [
{
"id": 1,
"name": "Sprint Board",
"type": "scrum",
"self": "https://jira.example.com/rest/agile/1.0/board/1"
}
],
"isLast": false,
"maxResults": 50,
"startAt": 0,
"total": 100
}
```
```
--------------------------------
### Get User Profile
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-comments-worklogs
Retrieves profile information for a specific Jira user.
```APIDOC
## Get User Profile
### Description
Retrieve profile information for a specific Jira user.
### Method
GET
### Endpoint
/rest/api/2/user
### Parameters
#### Query Parameters
- **user_identifier** (string) - Required - Identifier for the user (e.g., email address 'user@example.com', username 'johndoe', account ID 'accountid:...', or key for Server/DC).
### Response
#### Success Response (200)
- **accountId** (string) - The account ID of the user.
- **emailAddress** (string) - The email address of the user.
- **displayName** (string) - The display name of the user.
#### Response Example
{
"accountId": "5b10ac8d82e05b22cc7d4349",
"emailAddress": "user@example.com",
"displayName": "John Doe"
}
```
--------------------------------
### Basic MCP Atlassian Configuration with uvx
Source: https://personal-1d37018d.mintlify.app/docs/configuration
Configure MCP Atlassian to connect to Jira using uvx. Ensure JIRA_URL, JIRA_USERNAME, and JIRA_API_TOKEN are set in the environment.
```json
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_api_token"
}
}
}
}
```
--------------------------------
### Get Project Versions
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-links-versions
Retrieves all fix versions for a specific Jira project.
```APIDOC
## Get Project Versions
### Description
Get all fix versions for a specific Jira project.
### Method
GET
### Endpoint
/api/jira/projects/{project_key}/versions
### Parameters
#### Path Parameters
- **project_key** (string) - Required - Jira project key (e.g., 'PROJ', 'ACV2')
```
--------------------------------
### Run MCP Atlassian with uvx
Source: https://personal-1d37018d.mintlify.app/docs/installation
Execute MCP Atlassian directly using uvx. This command downloads the tool on first use and caches it for subsequent runs. You can also specify a Python version.
```bash
# Run directly (downloads on first use, cached for subsequent runs)
uvx mcp-atlassian --help
# Run with a specific Python version if needed
uvx --python=3.12 mcp-atlassian --help
```
--------------------------------
### Get Worklog
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-comments-worklogs
Retrieves worklog entries associated with a specific Jira issue.
```APIDOC
## Get Worklog
### Description
Get worklog entries for a Jira issue.
### Method
GET
### Endpoint
/jira/worklog/{issue_key}
### Parameters
#### Path Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123', 'ACV2-642')
#### Query Parameters
- None
#### Request Body
- None
### Response
#### Success Response (200)
- **worklogs** (array) - A list of worklog entries.
- **author** (string) - The author of the worklog entry.
- **time_spent** (string) - The time spent on the worklog.
- **created** (string) - The creation date of the worklog entry.
- **updated** (string) - The last update date of the worklog entry.
- **started** (string) - The start date of the worklog entry.
- **comment** (string) - The comment associated with the worklog entry.
#### Response Example
```json
{
"worklogs": [
{
"author": "john.doe",
"time_spent": "2h",
"created": "2023-10-26T10:00:00.000+0000",
"updated": "2023-10-26T10:00:00.000+0000",
"started": "2023-10-26T09:00:00.000+0000",
"comment": "Worked on bug fix."
}
]
}
```
```
--------------------------------
### Select SLA Metrics to Calculate
Source: https://personal-1d37018d.mintlify.app/docs/advanced/sla-metrics
Specify which SLA metrics should be calculated by separating them with commas. Defaults to 'cycle_time,time_in_status'.
```bash
JIRA_SLA_METRICS=cycle_time,time_in_status
```
--------------------------------
### Get Issue Forms
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-forms-metrics
Retrieves all ProForma forms associated with a specific Jira issue.
```APIDOC
## Get Issue Forms
### Description
Get all ProForma forms associated with a Jira issue.
### Method
GET
### Endpoint
/issue/{issue_key}/forms
### Parameters
#### Path Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123')
### Response
#### Success Response (200)
- **forms** (array) - List of ProForma forms associated with the issue.
```
--------------------------------
### Bring Your Own Token (BYOT) Configuration
Source: https://personal-1d37018d.mintlify.app/docs/authentication
Configure BYOT for managing OAuth tokens externally. Token refresh is the user's responsibility.
```bash
ATLASSIAN_OAUTH_CLOUD_ID=your_cloud_id
ATLASSIAN_OAUTH_ACCESS_TOKEN=your_pre_existing_access_token
```
--------------------------------
### Get Page Diff
Source: https://personal-1d37018d.mintlify.app/docs/tools/confluence-pages
Retrieve a unified diff between two specified versions of a Confluence page.
```APIDOC
## Get Page Diff
### Description
Get a unified diff between two versions of a Confluence page.
### Parameters
#### Path Parameters
- `page_id` (string) - Required - Confluence 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](https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title)', the page ID is '123456789'.
- `from_version` (integer) - Required - Source version number (>=1)
- `to_version` (integer) - Required - Target version number (>=1)
### Request Example
```json
{
"page_id": "12345678",
"from_version": 1,
"to_version": 3
}
```
### Notes
- Use `confluence_get_page_history` to discover available version numbers.
- The diff is in unified format, showing additions and removals between versions.
```
--------------------------------
### Get Link Types
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-links-versions
Retrieves all available issue link types in Jira. This can be filtered by name.
```APIDOC
## Get Link Types
### Description
Get all available issue link types.
### Method
GET
### Endpoint
/api/jira/link-types
### Parameters
#### Query Parameters
- **name_filter** (string) - Optional - Filter link types by name substring (case-insensitive)
```
--------------------------------
### Batch Get Changelogs
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-comments-worklogs
Retrieves changelogs for multiple Jira issues. This endpoint is only available on Jira Cloud.
```APIDOC
## Batch Get Changelogs
### Description
Get changelogs for multiple Jira issues (Cloud only).
### Method
POST
### Endpoint
/rest/api/2/issue/changelog
### Parameters
#### Request Body
- **issue_ids_or_keys** (string) - Required - Comma-separated list of Jira issue IDs or keys (e.g. 'PROJ-123,PROJ-124')
- **fields** (string) - Optional - Comma-separated list of fields to filter changelogs by (e.g. 'status,assignee'). Default to None for all fields.
- **limit** (integer) - Optional - Maximum 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.
### Request Example
{
"issue_keys": ["PROJ-1", "PROJ-2", "PROJ-3"]
}
### Response
#### Success Response (200)
- **changelogs** (array) - List of changelogs for each issue.
#### Response Example
{
"changelogs": [
{
"issueId": "10001",
"histories": [
{
"created": "2023-10-27T10:00:00.000+0000",
"author": {
"displayName": "John Doe"
},
"items": [
{
"field": "status",
"from": "10002",
"fromString": "In Progress",
"to": "10003",
"toString": "Done"
}
]
}
]
}
]
}
Efficient for tracking field changes across multiple issues at once. Returns change history for each issue.
Only available on Jira Cloud.
```
--------------------------------
### Get Issue Dates
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-forms-metrics
Retrieves date information and status transition history for a given Jira issue.
```APIDOC
## Get Issue Dates
### Description
Get date information and status transition history for a Jira issue.
### Method
GET
### Endpoint
/issue/{issue_key}/dates
### Parameters
#### Path Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123', 'ACV2-642')
#### Query Parameters
- **include_status_changes** (boolean) - Optional - Include status change history with timestamps and durations
- **include_status_summary** (boolean) - Optional - Include aggregated time spent in each status
### Response
#### Success Response (200)
- **dates** (object) - Contains date information and potentially status transition history and summary.
```
--------------------------------
### Get Form Details
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-forms-metrics
Fetches detailed information for a specific ProForma form linked to a Jira issue.
```APIDOC
## Get Form Details
### Description
Get detailed information about a specific ProForma form.
### Method
GET
### Endpoint
/issue/{issue_key}/form/{form_id}
### Parameters
#### Path Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123')
- **form_id** (string) - Required - ProForma form UUID (e.g., '1946b8b7-8f03-4dc0-ac2d-5fac0d960c6a')
### Response
#### Success Response (200)
- **formDetails** (object) - Detailed information about the ProForma form.
```
--------------------------------
### IDE Configuration for Server/DC (PAT) Authentication
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Configure your IDE for multi-user authentication using Server/DC Personal Access Tokens. Include the Authorization header with a Token.
```json
{
"mcpServers": {
"mcp-atlassian-service": {
"url": "http://localhost:9000/mcp",
"headers": {
"Authorization": "Token "
}
}
}
}
```
--------------------------------
### Run MCP Atlassian in Stateless Mode (Docker)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Deploy MCP Atlassian in stateless mode using Docker. Ensure to map the port and provide environment variables via an .env file.
```bash
docker run --rm -p 9000:9000 \
--env-file /path/to/your/.env \
ghcr.io/sooperset/mcp-atlassian:latest \
--transport streamable-http --stateless --port 9000 -vv
```
--------------------------------
### Get Project Issues
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
Fetches all issues for a specified Jira project. Supports pagination and limiting the number of results.
```APIDOC
## Get Project Issues
### Description
Get all issues for a specific Jira project.
### Method
GET
### Endpoint
/projects/{project_key}/issues
### Parameters
#### Path Parameters
- **project_key** (string) - Required - Jira project key (e.g., 'PROJ', 'ACV2')
#### Query Parameters
- **limit** (integer) - Optional - Maximum number of results (1-50)
- **start_at** (integer) - Optional - Starting index for pagination (0-based)
```
--------------------------------
### IDE Configuration for uvx
Source: https://personal-1d37018d.mintlify.app/docs/installation
Configure your IDE to use MCP Atlassian via uvx by editing the configuration file. This involves setting up the 'mcpServers' entry with the command, arguments, and environment variables.
```json
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_confluence_api_token",
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_jira_api_token"
}
}
}
}
```
--------------------------------
### Get Page History
Source: https://personal-1d37018d.mintlify.app/docs/tools/confluence-pages
Fetches a specific historical version of a Confluence page, allowing for content conversion to markdown.
```APIDOC
## Get Page History
### Description
Get a historical version of a specific Confluence page.
### Parameters
#### Query Parameters
- **page_id** (string) - Required - Confluence 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](https://example.atlassian.net/wiki/spaces/TEAM/pages/123456789/Page+Title)', the page ID is '123456789'.
- **version** (integer) - Required - The version number of the page to retrieve
- **convert_to_markdown** (boolean) - Optional - Whether 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.
```
--------------------------------
### Run MCP Atlassian in Stateless Mode (uvx)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Use this command to run MCP Atlassian in stateless mode with the streamable-http transport using uvx. This is suitable for Kubernetes deployments.
```bash
uvx mcp-atlassian --transport streamable-http --stateless --port 9000 -vv
```
--------------------------------
### Create a Basic Jira Issue
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-issues
Use this snippet to create a new Jira issue with essential details such as project key, issue type, summary, and description. The description supports Markdown formatting.
```json
{
"project_key": "PROJ",
"issue_type": "Task",
"summary": "Implement new feature",
"description": "## Requirements\n\n- Feature A\n- Feature B"
}
```
--------------------------------
### Get Sprint Issues
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-agile
Retrieves Jira issues associated with a specific sprint. Supports filtering by fields and pagination.
```APIDOC
## GET /jira/sprint/issues
### Description
Get jira issues from sprint. Supports filtering by fields and pagination.
### Method
GET
### Endpoint
/jira/sprint/issues
### Parameters
#### Query Parameters
- **sprint_id** (string) - Required - The id of sprint (e.g., '10001')
- **fields** (string) - Optional - Comma-separated fields to return in the results. Use '\*all' for all fields, or specify individual fields like 'summary,status,assignee,priority'
- **start_at** (integer) - Optional - Starting index for pagination (0-based)
- **limit** (integer) - Optional - Maximum number of results (1-50)
### Request Example
```json
{
"sprint_id": "42",
"fields": "summary,status,assignee,story_points"
}
```
### Response
#### Success Response (200)
- **issues** (array) - List of Jira issues matching the criteria.
- **maxResults** (integer) - The maximum number of issues to return.
- **startAt** (integer) - The starting index of the issues returned.
- **total** (integer) - The total number of issues available.
#### Response Example
```json
{
"issues": [
{
"id": "10000",
"key": "PROJ-1",
"fields": {
"summary": "Fix login bug",
"status": {"name": "In Progress"},
"assignee": {"displayName": "John Doe"},
"story_points": 3
}
}
],
"maxResults": 50,
"startAt": 0,
"total": 10
}
```
```
--------------------------------
### Get Sprints from Board
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-agile
Fetches Jira sprints from a specified board, with options to filter by state and control pagination.
```APIDOC
## Get Sprints from Board
### Description
Get jira sprints from board by state.
### Method
GET
### Endpoint
/rest/agile/1.0/board/{boardId}/sprint
### Parameters
#### Path Parameters
- **boardId** (string) - Required - The ID of the board.
#### Query Parameters
- **state** (string) - Optional - Sprint state (e.g., 'active', 'future', 'closed').
- **start_at** (integer) - Optional - Starting index for pagination (0-based).
- **limit** (integer) - Optional - Maximum number of results (1-50).
```
--------------------------------
### Enable Minimal OAuth Mode with uvx
Source: https://personal-1d37018d.mintlify.app/docs/authentication
Use this command to enable minimal OAuth mode when running mcp-atlassian with uvx. Ensure the ATLASSIAN_OAUTH_ENABLE environment variable is set to true.
```bash
ATLASSIAN_OAUTH_ENABLE=true uvx mcp-atlassian --transport streamable-http --port 9000
```
--------------------------------
### Run MCP Atlassian in Stateless Mode (Environment Variable)
Source: https://personal-1d37018d.mintlify.app/docs/http-transport
Configure MCP Atlassian to run in stateless mode using the STATELESS environment variable.
```bash
STATELESS=true uvx mcp-atlassian --transport streamable-http --port 9000
```
--------------------------------
### Get Page Images
Source: https://personal-1d37018d.mintlify.app/docs/tools/confluence-attachments
Retrieves all images attached to a Confluence page or blog post and returns them as inline image content.
```APIDOC
## Get Page Images
### Description
Get all images attached to a Confluence page as inline image content.
### Method
GET
### Endpoint
/pages/{content_id}/images
### Parameters
#### Path Parameters
- **content_id** (string) - Required - The ID of the Confluence page or blog post to retrieve images from. Example: '123456789'
### Response
#### Success Response (200)
- **images** (array) - A list of images attached to the page.
#### Response Example
{
"images": [
{
"filename": "image1.png",
"content_type": "image/png",
"content": "base64_encoded_image_data"
}
]
}
```
--------------------------------
### Get Issues Development Info
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-forms-metrics
Retrieves development information for multiple Jira issues simultaneously. This is useful for batch processing.
```APIDOC
## Get Issues Development Info
### Description
Get development information for multiple Jira issues. You can filter by application type and data type.
### Method
GET
### Endpoint
/api/jira/issues/development-info
### Parameters
#### Query Parameters
- **issue_keys** (string) - Required - Comma-separated list of Jira issue keys (e.g., 'PROJ-123,PROJ-456')
- **application_type** (string) - Optional - Filter by application type. Examples: 'stash' (Bitbucket Server), 'bitbucket', 'github', 'gitlab'
- **data_type** (string) - Optional - Filter by data type. Examples: 'pullrequest', 'branch', 'repository'
### Response
#### Success Response (200)
- **issues** (object) - An object where keys are issue keys and values are development information objects for each issue.
```
--------------------------------
### Enable Default and Specific Toolsets
Source: https://personal-1d37018d.mintlify.app/docs/tools-reference
Set the TOOLSETS environment variable to 'default' and specific Jira toolsets to enable them. Alternatively, use the command line flag.
```bash
# Enable all toolsets (72 tools)
TOOLSETS=all
```
```bash
# Command line
uvx mcp-atlassian --toolsets "default,jira_agile,jira_attachments"
```
--------------------------------
### Get Confluence Page Content
Source: https://personal-1d37018d.mintlify.app/docs/guides/common-workflows
Retrieve the content and metadata for a specific Confluence page. Use to read content for migration.
```json
confluence_get_page: {"page_id": "12345678", "include_metadata": true}
```
--------------------------------
### Get Confluence Page Comments
Source: https://personal-1d37018d.mintlify.app/docs/tools/confluence-comments
Retrieve all comments associated with a specific Confluence page. Requires the page ID as a parameter.
```json
{"page_id": "123456789"}
```
--------------------------------
### IDE Configuration for Docker
Source: https://personal-1d37018d.mintlify.app/docs/installation
Configure your IDE to use MCP Atlassian via Docker. This JSON defines the command to run the Docker container, including environment variables passed during execution and for the container itself.
```json
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_USERNAME",
"-e", "CONFLUENCE_API_TOKEN",
"-e", "JIRA_URL",
"-e", "JIRA_USERNAME",
"-e", "JIRA_API_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_confluence_api_token",
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_jira_api_token"
}
}
}
}
```
--------------------------------
### Add Worklog
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-comments-worklogs
Adds a worklog entry to a Jira issue, including time spent and an optional comment or start time.
```APIDOC
## Add Worklog
### Description
Add a worklog entry to a Jira issue.
### Method
POST
### Endpoint
/jira/worklog
### Parameters
#### Path Parameters
- None
#### Query Parameters
- None
#### Request Body
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123', 'ACV2-642')
- **time_spent** (string) - Required - Time spent in Jira format. Examples: '1h 30m' (1 hour and 30 minutes), '1d' (1 day), '30m' (30 minutes), '4h' (4 hours)
- **comment** (string) - Optional - Comment for the worklog in Markdown format
- **started** (string) - Optional - Start time in ISO format. If not provided, the current time will be used. Example: '2023-08-01T12:00:00.000+0000'
- **original_estimate** (string) - Optional - New value for the original estimate
- **remaining_estimate** (string) - Optional - New value for the remaining estimate
### Response
#### Success Response (200)
- **worklog_id** (string) - The ID of the created worklog entry.
- **self** (string) - The URL of the created worklog entry.
#### Response Example
```json
{
"worklog_id": "10001",
"self": "https://your-domain.atlassian.net/rest/api/2/issue/PROJ-123/worklog/10001"
}
```
```
--------------------------------
### Create Confluence Page with Project Context
Source: https://personal-1d37018d.mintlify.app/docs/guides/common-workflows
Create a Confluence page that includes references to Jira issues. Use for sprint retrospectives or project summaries.
```json
confluence_create_page: {"space_key": "DEV", "title": "Sprint 42 Retrospective", "content": "## Sprint 42\n\nSee PROJ-100 through PROJ-120 for completed work."}
```
--------------------------------
### Get Issue Development Info
Source: https://personal-1d37018d.mintlify.app/docs/tools/jira-forms-metrics
Retrieves development information, such as pull requests, commits, and branches, associated with a specific Jira issue.
```APIDOC
## Get Issue Development Info
### Description
Get development information (PRs, commits, branches) linked to a Jira issue. You can filter by application type and data type.
### Method
GET
### Endpoint
/api/jira/issue/development-info
### Parameters
#### Query Parameters
- **issue_key** (string) - Required - Jira issue key (e.g., 'PROJ-123')
- **application_type** (string) - Optional - Filter by application type. Examples: 'stash' (Bitbucket Server), 'bitbucket', 'github', 'gitlab'
- **data_type** (string) - Optional - Filter by data type. Examples: 'pullrequest', 'branch', 'repository'
### Response
#### Success Response (200)
- **pullrequests** (array) - List of pull requests associated with the issue.
- **commits** (array) - List of commits associated with the issue.
- **branches** (array) - List of branches associated with the issue.
```