Provides tools for interacting with Atlassian products (Confluence and Jira) through a standardized interface
Allows searching content, getting spaces, retrieving content, and listing pages in Confluence
Enables searching issues, getting issue details, listing projects, and more in Jira
MCP Atlassian
A Model Context Protocol (MCP) server that provides comprehensive tools for interacting with Atlassian products (Confluence and Jira).
Overview
This MCP server allows AI agents to interact with Atlassian products through a standardized interface. It provides extensive tools for:
- Confluence: Full CRUD operations, content search, space management, page management, comments, labels, and more using v2 REST API
- Jira: Issue management, project operations, transitions, comments, and comprehensive workflow support
Key Features
- Modern API Support: Uses Confluence v2 REST API with fallback to v1 for search functionality
- Comprehensive Toolset: 18+ Confluence tools and 8+ Jira tools covering all major operations
- Security & Privacy: Built-in PII filtering and SSL verification controls
- Flexible Configuration: Support for separate service URLs, authentication methods, and tool filtering
- Pagination Support: Cursor-based pagination for v2 APIs and offset/limit for v1 APIs
- Error Handling: Comprehensive error handling with detailed error messages
- Type Safety: Full TypeScript implementation with proper type definitions
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- Atlassian account with API token
- Docker (optional, for containerized deployment)
Installation
Standard Installation
- Clone the repository:
- Install dependencies:
- Create a
.env
file in the root directory with your Atlassian credentials:
Docker Installation
- Clone the repository:
- Create a
.env
file as described above. - Build and run the Docker container:
Usage
Starting the Server
This will start the MCP server, which will listen and respond on streamable HTTP.
MCP configuration
Available Tools
Confluence Tools
Search & Discovery:
- search_confluence: Search for content in Confluence using v1 API with CQL
- Parameters:
searchText
(string),spaceKey
(string, optional),limit
(number),start
(number)
- Parameters:
- search_confluence_pages_by_title: Search pages by title using v2 API
- Parameters:
title
(string, optional),spaceId
(string, optional),limit
(number),cursor
(string, optional)
- Parameters:
Space Management:
- get_confluence_space_by_id_or_key: Get information about a specific Confluence space
- Parameters:
spaceIdOrKey
(string)
- Parameters:
- get_confluence_spaces: Get all available spaces
- Parameters:
limit
(number, optional),cursor
(string, optional)
- Parameters:
Page Management:
- get_confluence_content: Get specific page content by ID
- Parameters:
pageId
(string),bodyFormat
(enum: storage/atlas_doc_format/wiki, optional)
- Parameters:
- get_confluence_pages: Get all pages in a space
- Parameters:
spaceId
(string),limit
(number, optional),cursor
(string, optional)
- Parameters:
- get_confluence_child_pages: Get child pages of a specific page
- Parameters:
pageId
(string),limit
(number, optional),cursor
(string, optional)
- Parameters:
- confluence_create_page: Create a new Confluence page
- Parameters:
spaceId
(string),title
(string),content
(string),status
(enum, optional),representation
(enum, optional),parentId
(string, optional)
- Parameters:
- confluence_update_page: Update an existing page
- Parameters:
pageId
(string),title
(string),content
(string),version
(number),status
(enum, optional),representation
(enum, optional),versionMessage
(string, optional)
- Parameters:
- update_confluence_page_title: Update only the title of a page
- Parameters:
pageId
(string),title
(string),status
(enum, optional)
- Parameters:
- confluence_delete_page: Delete a Confluence page
- Parameters:
pageId
(string)
- Parameters:
Label Management:
- get_confluence_pages_by_label: Find pages with specific labels
- Parameters:
label
(string),spaceId
(string, optional),limit
(number, optional),cursor
(string, optional)
- Parameters:
- get_confluence_page_labels: Get labels for a specific page
- Parameters:
pageId
(string),limit
(number, optional),cursor
(string, optional)
- Parameters:
- add_confluence_page_labels: Add labels to a page
- Parameters:
pageId
(string),labels
(array of strings)
- Parameters:
Comments:
- get_confluence_page_comments: Get regular comments on a page
- Parameters:
pageId
(string),limit
(number, optional),cursor
(string, optional)
- Parameters:
- add_confluence_page_comment: Add a comment to a page
- Parameters:
pageId
(string),content
(string),representation
(enum, optional)
- Parameters:
- get_confluence_page_inline_comments: Get inline comments on a page
- Parameters:
pageId
(string),limit
(number, optional),cursor
(string, optional)
- Parameters:
- create_confluence_footer_comment: Create a footer comment
- Parameters:
pageId
(string, optional),blogPostId
(string, optional),parentCommentId
(string, optional),attachmentId
(string, optional),customContentId
(string, optional),content
(string),representation
(enum, optional)
- Parameters:
Jira Tools
- search_jira_issues: Search for issues using JQL (Jira Query Language)
- Parameters:
jql
(string),maxResults
(number, optional)
- Parameters:
- get_jira_issue: Get detailed information about a specific issue
- Parameters:
issueKey
(string)
- Parameters:
- jira_get_all_projects: Get all accessible projects
- Parameters: none
- jira_create_issue: Create a new Jira issue
- Parameters:
projectKey
(string),issueType
(string),summary
(string),description
(string, optional), additional fields
- Parameters:
- jira_update_issue: Update an existing issue
- Parameters:
issueKey
(string),fields
(object with update data)
- Parameters:
- jira_add_comment: Add a comment to an issue
- Parameters:
issueKey
(string),comment
(string)
- Parameters:
- jira_get_transitions: Get available transitions for an issue
- Parameters:
issueKey
(string)
- Parameters:
- jira_transition_issue: Transition an issue to a different status
- Parameters:
issueKey
(string),transitionId
(string),comment
(string, optional)
- Parameters:
Architecture Notes
Confluence API Migration
This server primarily uses the Confluence v2 REST API for most operations, with strategic fallback to v1 API where necessary:
- v2 API: Used for spaces, pages, comments, labels - provides better performance and modern cursor-based pagination
- v1 API: Used for content search via CQL - provides more powerful search capabilities
- SSL Support: Configurable SSL verification bypass for self-hosted instances
- Authentication: Supports basic auth, OAuth 2.0 (planned), and PAT tokens
Tool Filtering & Security
- Read-Only Mode: Disable all write operations for safe exploration
- Tool Whitelist: Enable only specific tools via
ENABLED_TOOLS
environment variable - PII Filtering: Automatic detection and masking of sensitive information in responses
- Error Context: Detailed error messages without exposing sensitive configuration
Development
Project Structure
Building
Testing
Makefile Commands
The project includes a Makefile to simplify common operations:
License
MIT
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An MCP server that enables AI agents to interact with Atlassian products (Confluence and Jira) for content management, issue tracking, and project management through a standardized interface.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityModel Context Protocol (MCP) server for Atlassian Cloud products (Confluence and Jira). This integration is designed specifically for Atlassian Cloud instances and does not support Atlassian Server or Data Center deployments.Last updated -2,944MIT License
- AsecurityFlicenseAqualityIntegrates Atlassian products (Confluence, Jira) with Model Context Protocol, enabling easy access to Confluence content and Jira tickets through the MCP interface.Last updated -2309
- AsecurityAlicenseAqualityAn MCP server that enables AI assistants to interact with JIRA, allowing for querying issue details, creating and updating work items, and managing attachments through a standardized interface.Last updated -121MIT License
- AsecurityAlicenseAqualityModel Context Protocol server that integrates with Atlassian Confluence and Jira, enabling AI assistants to search, create, and update content in these platforms through natural language interactions.Last updated -MIT License