atlassian-mcp
Provides tools to manage Atlassian Confluence and Jira Cloud workspaces, including spaces, pages, issues, sprints, boards, and backlogs.
Enables management of Confluence spaces, pages, comments, and content hierarchy with search capabilities using CQL.
Allows management of Jira issues, sprints, boards, backlogs, epics, versions, worklogs, issue linking, and batch operations via JQL search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@atlassian-mcpCreate a bug in project PROJ titled 'Login fails'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Atlassian MCP Server
Model Context Protocol (MCP) server for Atlassian Confluence and Jira Cloud. Provides 51 tools to manage Confluence pages, Jira issues, sprints, boards, and backlogs. Supports NPM package and Docker deployment with flexible authentication.
Overview
Provides 51 tools (13 for Confluence, 38 for Jira) that allow MCP-compatible AI assistants to manage your Atlassian Cloud workspace.
What You Can Do
Confluence (13 Tools)
Space & Page Management: List, create, update, delete spaces and pages
Content Search: Search pages using CQL (Confluence Query Language)
Comments: Add and manage comments on pages
Content Hierarchy: Get page content, ancestors, children, and full hierarchies
Jira (38 Tools)
Issue Management: Create, update, transition, assign, and delete issues
Sprint Operations: Create, start, close, and delete sprints; move issues between sprints
Board Management: Create, configure, and manage Scrum/Kanban boards
Backlog Management: Rank issues, move to/from backlog, manage sprint assignments
Epic Management: Create epics, assign issues to epics, manage epic workflows
Time Tracking: Add, update, delete worklogs
Search: JQL (Jira Query Language) support
Version Management: Create, update, delete project versions
Issue Linking: Link related issues
Batch Operations: Update multiple issues at once
Features
51 Tools: Full CRUD operations for pages, issues, boards, sprints
Multiple Deployment: NPM package, Docker container, local build
IDE Support: Claude Desktop, Cursor, Claude Code, VS Code (Cline), Windsurf
Flexible Configuration: Config files, environment variables, or CLI arguments
Built with TypeScript: Type-safe implementation with MCP SDK
Quick Start
Method 1: Using npx (Recommended)
No installation required, runs directly from npm registry:
# Run with default config file (~/.atlassian-mcp.json)
npx @xuandev/atlassian-mcp
# Run with custom config file
npx @xuandev/atlassian-mcp --config /path/to/config.json
# Run with environment variables
ATLASSIAN_DOMAIN="your-domain.atlassian.net" \
ATLASSIAN_EMAIL="your-email@example.com" \
ATLASSIAN_API_TOKEN="your-api-token" \
npx @xuandev/atlassian-mcp
# Run with command-line arguments
npx @xuandev/atlassian-mcp \
--domain your-domain.atlassian.net \
--email your-email@example.com \
--token your-api-tokenPrerequisites:
Create
~/.atlassian-mcp.jsonconfig file (see Configuration)Or set environment variables
Or use command-line arguments
Method 2: Global Installation
# Using npm
npm install -g @xuandev/atlassian-mcp
# Using bun
bun install -g @xuandev/atlassian-mcp
# Run with config file (recommended)
atlassian-mcp
# Run with custom config
atlassian-mcp --config /path/to/config.json
# Run with environment variables
ATLASSIAN_DOMAIN="your-domain.atlassian.net" \
ATLASSIAN_EMAIL="your-email@example.com" \
ATLASSIAN_API_TOKEN="your-api-token" \
atlassian-mcp
# Run with command-line arguments
atlassian-mcp \
--domain your-domain.atlassian.net \
--email your-email@example.com \
--token your-api-tokenMethod 3: Docker (Containerized Deployment)
Using published image from Docker Hub:
# Pull the image
docker pull xuanxdev/atlassian-mcp:latest
# Run with config file (recommended)
docker run -i --rm \
-v .atlassian-mcp.json:/config/.atlassian-mcp.json:ro \
xuanxdev/atlassian-mcp:latest
# Run with environment variables
docker run -i --rm \
-e ATLASSIAN_DOMAIN="your-domain.atlassian.net" \
-e ATLASSIAN_EMAIL="your-email@example.com" \
-e ATLASSIAN_API_TOKEN="your-api-token" \
xuanxdev/atlassian-mcp:latest
# Run with command-line arguments
docker run -i --rm xuanxdev/atlassian-mcp:latest \
--domain your-domain.atlassian.net \
--email your-email@example.com \
--token your-api-tokenBuilding locally:
# Build the Docker image
docker build -t xuanxdev/atlassian-mcp:1.0.0 -t xuanxdev/atlassian-mcp:latest .
# Run locally built image
docker run -i --rm \
-v /absolute/path/to/.atlassian-mcp.json:/config/.atlassian-mcp.json:ro \
xuanxdev/atlassian-mcp:latestConfiguration
This MCP server supports three configuration methods with the following priority:
Command-line arguments (highest priority)
Environment variables
Config file (lowest priority)
Get Atlassian API Token
Before configuring, you need an API token:
Visit https://id.atlassian.com/manage-profile/security/api-tokens
Click "Create API token"
Enter a name and create
Copy the token (only shown once, save it securely)
Method 1: Config File (Recommended)
Default Config File Locations
The server automatically searches for config files in these locations (in order):
~/.atlassian-mcp.json(user home directory - recommended)~/.config/atlassian-mcp/config.json(XDG config directory)./.atlassian-mcp.json(current working directory)
Config file format:
{
"domain": "your-domain.atlassian.net",
"email": "your-email@example.com",
"apiToken": "your-api-token-here"
}Security tip: Set restrictive permissions on your config file:
chmod 600 ~/.atlassian-mcp.jsonMethod 2: Environment Variables
Linux/macOS:
export ATLASSIAN_DOMAIN="your-domain.atlassian.net"
export ATLASSIAN_EMAIL="your-email@example.com"
export ATLASSIAN_API_TOKEN="your-api-token-here"Method 3: Command-line Arguments
atlassian-mcp --domain your-domain.atlassian.net \
--email your-email@example.com \
--token your-api-token-hereAvailable options:
-c, --config <path>- Path to config file-d, --domain <domain>- Atlassian domain-e, --email <email>- Account email-t, --token <token>- API token-V, --version- Display version-h, --help- Display help
MCP Client Config
Common Configuration Examples
Using NPM Package (Recommended)
With config file (relative path):
{
"mcpServers": {
"atlassian": {
"command": "npx",
"args": [
"-y",
"@xuandev/atlassian-mcp",
"--config",
".atlassian-mcp.json"
]
}
}
}With environment variables:
{
"mcpServers": {
"atlassian": {
"command": "npx",
"args": ["-y", "@xuandev/atlassian-mcp"],
"env": {
"ATLASSIAN_DOMAIN": "your-domain.atlassian.net",
"ATLASSIAN_EMAIL": "your-email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token"
}
}
}
}Using Docker Container
With config file (relative path):
{
"mcpServers": {
"atlassian": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
".atlassian-mcp.json:/config/.atlassian-mcp.json:ro",
"xuanxdev/atlassian-mcp:latest"
]
}
}
}With environment variables:
{
"mcpServers": {
"atlassian": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ATLASSIAN_DOMAIN=your-domain.atlassian.net",
"-e",
"ATLASSIAN_EMAIL=your-email@example.com",
"-e",
"ATLASSIAN_API_TOKEN=your-api-token",
"xuanxdev/atlassian-mcp:latest"
]
}
}
}Complete Tool Reference
Confluence Tools (13 Total)
Space Management
1. confluence_list_spaces
Description: List all Confluence spaces
Parameters:
maxResults(optional, number): Maximum results to return (default: 25)startAt(optional, number): Starting index for pagination (default: 0)
Returns: Array of spaces with ID, key, name, type, status
2. confluence_search
Description: Search Confluence content using CQL (Confluence Query Language)
Parameters:
cql(required, string): CQL query string (e.g., "type=page AND space=TEAM")maxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)expand(optional, string[]): Fields to expand (e.g., ["body.view", "version", "space"])
Returns: Search results with content details
CQL Examples:
type=page AND title~"API"- Search pages with "API" in titlespace=TEAM AND lastModified>now("-7d")- Pages modified in last 7 dayscreator=currentUser()- Content created by current user
Page Management
3. confluence_list_pages
Description: List pages in a space
Parameters:
spaceId(required, string): Space IDmaxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of pages with ID, title, status, position
4. confluence_get_page
Description: Get detailed page information
Parameters:
pageId(required, string): Page IDbodyFormat(optional, string): Body format - "storage" (raw HTML), "atlas_doc_format" (JSON), "view" (rendered HTML), "export_view" (export format)version(optional, number): Specific version number (omit for latest)
Returns: Complete page data including:
Basic info: ID, status, title, space ID
Content: Body in requested format
Metadata: Version, created/modified dates, author
Relations: Parent page, child pages
5. confluence_get_page_children
Description: Get child pages of a page
Parameters:
pageId(required, string): Parent page IDmaxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of child pages
6. confluence_create_page
Description: Create a new page
Parameters:
spaceId(required, string): Target space IDtitle(required, string): Page titlebody(required, string): Page content in storage format (HTML) or atlas_doc_format (JSON)parentId(optional, string): Parent page ID (for hierarchy)status(optional, string): "current" or "draft" (default: "current")
Returns: Created page with ID and details
7. confluence_update_page
Description: Update an existing page
Parameters:
pageId(required, string): Page ID to updatetitle(optional, string): New titlebody(optional, string): New contentversion(required, number): Current version number (for optimistic locking)status(optional, string): "current" or "draft"
Returns: Updated page details
Note: Requires current version number to prevent conflicts
8. confluence_delete_page
Description: Delete a page (moves to trash)
Parameters:
pageId(required, string): Page ID to delete
Returns: Confirmation message
Note: Page can be restored from trash
User Management
9. confluence_search_user
Description: Search for Confluence users
Parameters:
query(required, string): Search query (name, email, or display name)maxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of users with:
Account ID (for API operations)
Display name
Email (if visible)
Profile picture
Account type and status
Label Management
10. confluence_get_labels
Description: Get labels attached to a page
Parameters:
pageId(required, string): Page IDmaxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of labels with ID and name
11. confluence_add_label
Description: Add a label to a page
Parameters:
pageId(required, string): Target page IDlabelName(required, string): Label name (e.g., "important", "draft")
Returns: Created label details
Note: Creates label if it doesn't exist
Comment Management
12. confluence_get_comments
Description: Get comments on a page
Parameters:
pageId(required, string): Page IDmaxResults(optional, number): Maximum results (default: 25)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of comments with:
Comment ID, body (storage format)
Author details
Created/modified dates
Parent comment ID (for replies)
13. confluence_add_comment
Description: Add a comment to a page
Parameters:
pageId(required, string): Target page IDbody(required, string): Comment content in storage format (HTML)parentCommentId(optional, string): Parent comment ID (for replies)
Returns: Created comment with ID
Note: Supports threaded comments via parentCommentId
Jira Tools (38 Total)
Project Management
1. jira_list_projects
Description: List all accessible Jira projects
Parameters:
maxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of projects with:
Project ID, key, name
Project type (software, business, service_desk)
Project style (classic, next-gen)
Lead account ID
Avatar URLs
Issue Search & Retrieval
2. jira_search_issues
Description: Search issues using JQL (Jira Query Language)
Parameters:
jql(required, string): JQL query stringmaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)fields(optional, string[]): Specific fields to return
Returns: Search results with issue details
JQL Examples:
project = PROJ AND status = "In Progress"- Open issuesassignee = currentUser() AND priority = High- My high-priority issuescreated >= -7d ORDER BY priority DESC- Issues from last 7 dayssprint = 5 AND type = Bug- Bugs in Sprint 5
3. jira_get_issue
Description: Get detailed information for a specific issue
Parameters:
issueKey(required, string): Issue key (e.g., "PROJ-123")fields(optional, string[]): Specific fields to retrieveexpand(optional, string[]): Additional data to expand (e.g., ["changelog", "renderedFields"])
Returns: Complete issue data including:
Basic: Key, ID, self URL
Type & Status: Issue type, status, resolution
Content: Summary, description
Assignment: Assignee, reporter, creator
Scheduling: Created, updated, due date, resolved date
Priority: Priority level
Versions: Fix versions, affected versions
Components: Project components
Custom Fields: All custom fields in your Jira instance
Relations: Parent, subtasks, epic link
Agile: Sprint field, story points, epic info
4. jira_get_project_issues
Description: Get all issues for a specific project
Parameters:
projectKey(required, string): Project keymaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)fields(optional, string[]): Specific fields to return
Returns: All issues in the project with specified fields
Issue CRUD Operations
5. jira_create_issue
Description: Create a new Jira issue (supports all types including Sub-task)
Parameters:
projectKey(required, string): Target project keyissueType(required, string): Issue type (e.g., "Task", "Bug", "Story", "Epic", "Sub-task")summary(required, string): Issue summary/titledescription(optional, string): Detailed descriptionpriority(optional, string): Priority level (e.g., "Highest", "High", "Medium", "Low", "Lowest")labels(optional, string[]): Issue labelsassignee(optional, string): Assignee account IDparentKey(optional, string): Parent issue key - REQUIRED for creating Sub-task (e.g., "PROJ-123")customFields(optional, object): Custom fields as key-value pairs (see Custom Fields below)
Returns: Created issue with key and ID
Supported Issue Types: Task, Bug, Story, Epic, Sub-task, and custom types
Note: When
issueTypeis "Sub-task", you MUST provideparentKeyto specify the parent issue
6. jira_update_issue
Description: Update an existing issue
Parameters:
issueKey(required, string): Issue key to updatesummary(optional, string): New summarydescription(optional, string): New descriptionpriority(optional, string): New prioritylabels(optional, string[]): New labels (replaces existing)assignee(optional, string): New assignee account IDparentKey(optional, string): New parent issue key (for changing Sub-task parent)customFields(optional, object): Custom fields to update as key-value pairs (see Custom Fields below)
Returns: Confirmation message
Note: Only specified fields are updated; others remain unchanged
7. jira_delete_issue
Description: Delete an issue
Parameters:
issueKey(required, string): Issue key to deletedeleteSubtasks(optional, boolean): Whether to delete subtasks (default: false)
Returns: Confirmation message
Warning: Permanent deletion, cannot be undone
Issue Hierarchy & Parent Relationships
Using parentKey for Hierarchy:
Jira supports multi-level issue hierarchies using the parentKey parameter. Use parentKey when creating issues to establish parent-child relationships:
Story → Epic: Link stories to epics (optional)
Task → Story/Epic: Organize tasks under stories or epics (optional)
Bug → Story/Epic: Associate bugs with features (optional)
Sub-task → Any parent: Create sub-tasks under any issue type (required)
Example Hierarchy:
PROJ-100 (Epic) → PROJ-101 (Story,
parentKey: "PROJ-100") → PROJ-102 (Sub-task,parentKey: "PROJ-101")parentKeyis required for Sub-task, optional for Story/Task/BugParent and child must be in same project
Custom Fields
Using customFields Parameter:
All issue types (Epic, Story, Task, Bug, Sub-task) support custom fields through the customFields parameter. Custom fields are passed as key-value pairs where keys are field IDs.
Finding Custom Field IDs:
Use the jira_search_fields tool to find custom field IDs in your Jira instance:
jira_search_fields with query: "Epic" or "Story Points" or "Sprint"Common Custom Fields:
Epic Color:
customfield_10011(varies by instance)Value: Color ID string (e.g.,
"ghx-label-1"to"ghx-label-14")Available colors: blue, green, yellow, orange, red, purple, etc.
Epic Name:
customfield_10004(varies by instance)Value: String (e.g.,
"User Authentication System")
Story Points:
customfield_10016(varies by instance)Value: Number (e.g.,
5,8,13)
Sprint:
customfield_10020(varies by instance)Value: Sprint ID number (e.g.,
123)
Examples:
Creating an Epic with custom fields:
{
"projectKey": "PROJ",
"issueType": "Epic",
"summary": "User Authentication System",
"customFields": {
"customfield_10011": "ghx-label-1",
"customfield_10004": "User Auth"
}
}Creating a Story with story points:
{
"projectKey": "PROJ",
"issueType": "Story",
"summary": "Login functionality",
"parentKey": "PROJ-100",
"customFields": {
"customfield_10016": 5,
"customfield_10020": 123
}
}Updating custom fields:
{
"issueKey": "PROJ-101",
"customFields": {
"customfield_10016": 8
}
}Notes:
Custom field IDs vary between Jira instances
Use
jira_search_fieldsto find the correct field IDs for your instanceField values must match the expected data type (string, number, object, array)
Invalid field IDs or values will result in API errors
Workflow & Transitions
8. jira_get_transitions
Description: Get available status transitions for an issue
Parameters:
issueKey(required, string): Issue key
Returns: Array of available transitions with:
Transition ID, name
Target status (to)
Required fields for transition
Use Case: Determine which status changes are available before calling jira_transition_issue
9. jira_transition_issue
Description: Change issue status (move through workflow)
Parameters:
issueKey(required, string): Issue keytransitionId(required, string): Transition ID (from jira_get_transitions)comment(optional, string): Comment to add with transitionfields(optional, object): Required fields for transition (if any)
Returns: Confirmation message
Examples:
Start Progress: Transition "To Do" → "In Progress"
Resolve: Transition "In Progress" → "Done"
Reopen: Transition "Done" → "To Do"
Comments & Work Logs
10. jira_add_comment
Description: Add a comment to an issue
Parameters:
issueKey(required, string): Target issue keybody(required, string): Comment text (supports Jira markdown)
Returns: Created comment with ID
Markdown Support: Bold, italic, lists, code blocks, mentions
11. jira_get_worklog
Description: Get work logs for an issue
Parameters:
issueKey(required, string): Issue keymaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of work logs with:
Worklog ID
Author details
Time spent (seconds and human-readable)
Start date
Comment/description
12. jira_add_worklog
Description: Log work time on an issue
Parameters:
issueKey(required, string): Target issue keytimeSpent(required, string): Time spent (e.g., "3h 30m", "1d 4h", "45m")comment(optional, string): Work descriptionstarted(optional, string): Start date/time (ISO 8601 format, default: now)
Returns: Created worklog with ID
Time Format Examples:
"1h" = 1 hour
"30m" = 30 minutes
"2d 4h 30m" = 2 days, 4 hours, 30 minutes
"1w 3d" = 1 week, 3 days
Issue Linking
13. jira_get_issue_link_types
Description: Get all available issue link types
Parameters: None
Returns: Array of link types with:
Link type ID, name
Inward description (e.g., "is blocked by")
Outward description (e.g., "blocks")
Common Link Types:
Blocks / Is blocked by
Relates to
Duplicates / Is duplicated by
Clones / Is cloned by
Causes / Is caused by
14. jira_create_issue_link
Description: Create a link between two issues
Parameters:
issueKey(required, string): Source issue keylinkedIssueKey(required, string): Target issue keylinkType(required, string): Link type name (e.g., "Blocks", "Relates")comment(optional, string): Comment about the link
Returns: Created link confirmation
Example: Link "PROJ-1" blocks "PROJ-2"
15. jira_remove_issue_link
Description: Remove a link between issues
Parameters:
linkId(required, string): Link ID (from issue's issuelinks field)
Returns: Confirmation message
Version Management
16. jira_get_project_versions
Description: Get all versions (releases) for a project
Parameters:
projectKey(required, string): Project keymaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)
Returns: Array of versions with:
Version ID, name, description
Release status (released/unreleased)
Release date, start date
Archived status
Issue counts (fixed, affected)
17. jira_create_version
Description: Create a new project version/release
Parameters:
projectKey(required, string): Project keyname(required, string): Version name (e.g., "v1.0.0", "Sprint 5")description(optional, string): Version descriptionreleaseDate(optional, string): Release date (YYYY-MM-DD)startDate(optional, string): Start date (YYYY-MM-DD)released(optional, boolean): Mark as released (default: false)archived(optional, boolean): Archive version (default: false)
Returns: Created version with ID
18. jira_batch_create_versions
Description: Create multiple versions in a single operation
Parameters:
projectKey(required, string): Target project keyversions(required, array): Array of version objects (same fields as jira_create_version)
Returns: Array of created versions
Use Case: Quickly set up release schedule with multiple versions
Field Management
19. jira_search_fields
Description: Search and list Jira fields (including custom fields)
Parameters:
maxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)type(optional, string): Filter by field type (e.g., "custom", "system")query(optional, string): Search query for field name
Returns: Array of fields with:
Field ID (e.g., "customfield_10001")
Field name, description
Field type (string, number, date, user, etc.)
Schema information
Searchable/orderable flags
Use Case: Find custom field IDs for use in jira_create_issue or jira_update_issue
User Management
20. jira_get_user_profile
Description: Get detailed user profile information
Parameters:
accountId(required, string): User account ID
Returns: User profile with:
Account ID, account type
Display name, email
Avatar URLs
Active status
Time zone, locale
Agile Board Management
21. jira_get_agile_boards
Description: Get all agile boards (Scrum/Kanban)
Parameters:
maxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)projectKeyOrId(optional, string): Filter by projecttype(optional, string): Filter by board type ("scrum", "kanban")name(optional, string): Filter by board name
Returns: Array of boards with:
Board ID, name
Board type (scrum, kanban, simple)
Associated project
Self URL
Field Details:
✅ Implemented: ID, name, type, project
⚠️ Not Implemented: Board configuration, column config, estimation, ranking
22. jira_create_board 🆕
Description: Create a new agile board (Scrum or Kanban)
Parameters:
name(required, string): Board nametype(required, string): Board type - "scrum" or "kanban"projectKeyOrId(required, string): Project key or ID to associate with the boardfilterId(optional, number): Filter ID to base the board on (alternative to project)
Returns: Created board with ID and configuration
Use Case: Programmatically set up new boards for projects or teams
Note: If filterId is not provided, board will be created using project location
23. jira_update_board 🆕
Description: Update board configuration (Limited API support)
Parameters:
boardId(required, number): Board ID to updatename(optional, string): New board namefilterId(optional, number): New filter ID
Returns: Updated board configuration
Note: Jira Agile API has limited support for board updates. Some operations may not be supported.
Limitation: Cannot change board type (scrum/kanban) after creation. May not support updating basic properties like name.
24. jira_delete_board 🆕
Description: Delete a board permanently
Parameters:
boardId(required, number): Board ID to delete
Returns: Confirmation message
Warning: This is permanent and cannot be undone. All board configuration will be lost.
25. jira_get_board_issues
Description: Get all issues on a board
Parameters:
boardId(required, number): Board IDmaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)jql(optional, string): Additional JQL filterfields(optional, string[]): Specific fields to return
Returns: Array of issues on the board
Note: Returns issues from all sprints and backlog for Scrum boards; all issues for Kanban boards
26. jira_get_backlog_issues 🆕
Description: Get issues in the backlog (not assigned to any sprint)
Parameters:
boardId(required, number): Board IDmaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)jql(optional, string): Additional JQL filterfields(optional, string[]): Specific fields to return
Returns: Array of backlog issues
Use Case: View all unscheduled work before sprint planning
Field Details:
✅ Implemented: Issue key, summary, type, status, priority, assignee, all standard fields
⚠️ Not Implemented: Backlog ranking/ordering customization (now implemented - see tool 27)
27. jira_rank_backlog_issues 🆕
Description: Rank/reorder issues in the backlog
Parameters:
issueKeys(required, string[]): Array of issue keys to rank (e.g., ["PROJ-1", "PROJ-2"])rankBeforeIssue(optional, string): Rank the issues before this issue key (e.g., "PROJ-10")rankAfterIssue(optional, string): Rank the issues after this issue key (e.g., "PROJ-5")
Returns: Confirmation message
Use Case: Adjust issue priority order in backlog before sprint planning
Note: Specify either rankBeforeIssue or rankAfterIssue, not both
Sprint Management (Scrum)
28. jira_get_sprints_from_board
Description: Get all sprints for a Scrum board
Parameters:
boardId(required, number): Board IDmaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)state(optional, string): Filter by state ("active", "future", "closed")
Returns: Array of sprints with:
Sprint ID, name, state
Start date, end date, complete date
Origin board ID
Goal
Self URL
Field Details:
✅ Implemented: ID, name, state, startDate, endDate, completeDate, goal, originBoardId
⚠️ Not Implemented: Sprint sequence number, Sprint custom fields
29. jira_get_sprint_issues
Description: Get all issues in a specific sprint
Parameters:
sprintId(required, number): Sprint IDmaxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)jql(optional, string): Additional JQL filterfields(optional, string[]): Specific fields to return
Returns: Array of issues in the sprint
Use Case: Review sprint scope, track sprint progress
30. jira_create_sprint
Description: Create a new sprint
Parameters:
boardId(required, number): Target board IDname(required, string): Sprint name (e.g., "Sprint 5", "Q4 Sprint 1")goal(optional, string): Sprint goal/objectivestartDate(optional, string): Start date (ISO 8601 format)endDate(optional, string): End date (ISO 8601 format)
Returns: Created sprint with ID and details
Note: Sprint starts in "future" state; use jira_update_sprint to activate
Field Details:
✅ Implemented: name, goal, startDate, endDate
⚠️ Not Implemented: Sprint custom fields, sequence number
31. jira_update_sprint
Description: Update sprint details or change sprint state
Parameters:
sprintId(required, number): Sprint IDname(optional, string): New sprint namegoal(optional, string): New sprint goalstartDate(optional, string): New start date (ISO 8601)endDate(optional, string): New end date (ISO 8601)state(optional, string): New state ("active", "closed")
Returns: Updated sprint details
State Transitions:
"future" → "active": Start the sprint
"active" → "closed": Complete the sprint
Field Details:
✅ Implemented: name, goal, startDate, endDate, state
⚠️ Not Implemented: completeDate (auto-set on close), custom fields
32. jira_delete_sprint 🆕
Description: Delete a sprint permanently
Parameters:
sprintId(required, number): Sprint ID to delete
Returns: Confirmation message
Note: Can only delete sprints that have not been started (future state). Cannot delete active or closed sprints.
Warning: This is permanent and cannot be undone.
33. jira_move_issues_to_sprint 🆕
Description: Move issues from backlog to a sprint
Parameters:
sprintId(required, number): Target sprint IDissues(required, string[]): Array of issue keys to move (e.g., ["PROJ-1", "PROJ-2"])
Returns: Confirmation message
Use Case: Essential for sprint planning - add issues from backlog to sprint
Note: Issues must not be in another active sprint
Complete Workflow: Create Sprint → Create hierarchy (Epic → Story → Task with parentKey) → Move to Sprint → Start Sprint
See hierarchy examples in tool #5 above for
parentKeyusage
Epic Management
34. jira_link_to_epic
Description: Link an issue (Story/Task/Bug) to an Epic
Parameters:
issueKey(required, string): Issue key to link (e.g., "PROJ-123")epicKey(required, string): Epic key (e.g., "PROJ-50")
Returns: Confirmation message
Use Case: Organize stories under epics for feature tracking
35. jira_get_epic_issues 🆕
Description: Get all issues (Stories, Tasks, Bugs) that belong to an Epic
Parameters:
epicIdOrKey(required, string): Epic ID or key (e.g., "PROJ-50")maxResults(optional, number): Maximum results (default: 50)startAt(optional, number): Pagination offset (default: 0)fields(optional, string[]): Specific fields to return
Returns: Array of child issues under the epic
Use Case: Track epic progress, view all related work
Field Details:
✅ Implemented: All standard issue fields, epic link
⚠️ Not Implemented: Epic-specific fields (name, color - these are only on the Epic issue itself)
Batch Operations
36. jira_batch_create_issues
Description: Create multiple issues in a single API call
Parameters:
issues(required, array): Array of issue objects (same fields as jira_create_issue)
Returns: Array of created issues with keys and IDs
Use Case: Bulk import, create multiple related issues
Limit: Up to 50 issues per batch (Jira API limit)
37. jira_batch_get_changelogs
Description: Get change history for multiple issues
Parameters:
issueKeys(required, string[]): Array of issue keys
Returns: Array of changelog objects, one per issue
Changelog Contains:
Field changes (from → to)
Author and timestamp
Change type (field update, status change, etc.)
Use Case: Audit trail, track issue history
Attachments
38. jira_download_attachments
Description: Get attachment metadata and download URLs
Parameters:
issueKey(required, string): Issue key
Returns: Array of attachments with:
Attachment ID, filename
File size, MIME type
Download URL (authenticated)
Author, created date
Note: Returns metadata only; actual download requires separate authenticated request
API Coverage Analysis
Confluence API Coverage: 100%
All major Confluence REST API v2 features implemented:
✅ Space management (list, search)
✅ Page CRUD (create, read, update, delete)
✅ Page hierarchy (children, parents)
✅ Content search (CQL)
✅ Comments (get, add, reply)
✅ Labels (get, add)
✅ User search
✅ Multiple body formats (storage, atlas_doc_format, view, export_view)
✅ Pagination support
Jira API Coverage: ~95%
Core Features: 100%
✅ Project management
✅ Issue CRUD operations
✅ Issue search (JQL)
✅ Workflow transitions
✅ Comments
✅ Work logs
✅ Issue linking
✅ Version management
✅ Field management
✅ User profiles
✅ Attachments (metadata)
Scrum/Agile Features: 90%
Sprint Management: 100% 🎯
✅ List sprints (with filtering)
Fields: ID, name, state, startDate, endDate, completeDate, goal, originBoardId
✅ Get sprint issues
✅ Create sprint
Fields: name, goal, startDate, endDate
✅ Update sprint (including state transitions)
Fields: name, goal, startDate, endDate, state
✅ Delete sprint 🆕
✅ Move issues to sprint 🆕
⚠️ Missing fields: sequence, custom fields (low priority)
Board Management: 90%
✅ List boards (with filtering)
Fields: ID, name, type, project
✅ Create board 🆕
Auto-creates filter if not provided
⚠️ Update board 🆕
Limited API support: Jira Agile API does not support updating basic board properties (name, filter)
Configuration endpoint available but has restrictions
Recommendation: Delete and recreate board for major changes
✅ Delete board 🆕
✅ Get board issues
✅ Get backlog issues 🆕
⚠️ Missing features: Board configuration (columns, swimlanes, card layout), estimation settings
Epic Management: 65%
✅ Link issues to epic
✅ Get epic issues 🆕
⚠️ Epic-specific operations on Epic issue itself (name, color) - use regular issue operations
⚠️ Unlink from epic (not implemented - use jira_remove_issue_link)
Backlog Management: 100% 🎯
✅ Get backlog issues 🆕
✅ Move issues to sprint 🆕
✅ Backlog ranking/reordering 🆕
License
MIT License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xuanxt/atlassian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server