MCP Atlassian
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
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., "@MCP Atlassiansearch for pages about API documentation in the Engineering space"
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.
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
Related MCP server: MCP Atlassian
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:
git clone https://github.com/yourusername/mcp-atlassian.git cd mcp-atlassianInstall dependencies:
npm install # or using make make installCreate a
.envfile in the root directory with your Atlassian credentials:ATLASSIAN_HOST=https://your-domain.atlassian.net ATLASSIAN_EMAIL=your-email@example.com ATLASSIAN_API_TOKEN=your-api-token
Docker Installation
Clone the repository:
git clone https://github.com/yourusername/mcp-atlassian.git cd mcp-atlassianCreate a
.envfile as described above.Build and run the Docker container:
# Build the Docker image make docker-build # Run the Docker container make docker-run # Or use Docker Compose make docker-compose
Usage
Starting the Server
# Using npm
npm start
# Using make
make start
# Using Docker
make docker-runThis will start the MCP server, which will listen and respond on streamable HTTP.
MCP configuration
"mcp-searchapi": {
"name": "mcp-searchapi",
"type": "streamable-http",
"streamable": true,
"url": "http://localhost:3007/mcp"
}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)
search_confluence_pages_by_title: Search pages by title using v2 API
Parameters:
title(string, optional),spaceId(string, optional),limit(number),cursor(string, optional)
Space Management:
get_confluence_space_by_id_or_key: Get information about a specific Confluence space
Parameters:
spaceIdOrKey(string)
get_confluence_spaces: Get all available spaces
Parameters:
limit(number, optional),cursor(string, optional)
Page Management:
get_confluence_content: Get specific page content by ID
Parameters:
pageId(string),bodyFormat(enum: storage/atlas_doc_format/wiki, optional)
get_confluence_pages: Get all pages in a space
Parameters:
spaceId(string),limit(number, optional),cursor(string, optional)
get_confluence_child_pages: Get child pages of a specific page
Parameters:
pageId(string),limit(number, optional),cursor(string, optional)
confluence_create_page: Create a new Confluence page
Parameters:
spaceId(string),title(string),content(string),status(enum, optional),representation(enum, optional),parentId(string, optional)
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)
update_confluence_page_title: Update only the title of a page
Parameters:
pageId(string),title(string),status(enum, optional)
confluence_delete_page: Delete a Confluence page
Parameters:
pageId(string)
Label Management:
get_confluence_pages_by_label: Find pages with specific labels
Parameters:
label(string),spaceId(string, optional),limit(number, optional),cursor(string, optional)
get_confluence_page_labels: Get labels for a specific page
Parameters:
pageId(string),limit(number, optional),cursor(string, optional)
add_confluence_page_labels: Add labels to a page
Parameters:
pageId(string),labels(array of strings)
Comments:
get_confluence_page_comments: Get regular comments on a page
Parameters:
pageId(string),limit(number, optional),cursor(string, optional)
add_confluence_page_comment: Add a comment to a page
Parameters:
pageId(string),content(string),representation(enum, optional)
get_confluence_page_inline_comments: Get inline comments on a page
Parameters:
pageId(string),limit(number, optional),cursor(string, optional)
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)
Jira Tools
search_jira_issues: Search for issues using JQL (Jira Query Language)
Parameters:
jql(string),maxResults(number, optional)
get_jira_issue: Get detailed information about a specific issue
Parameters:
issueKey(string)
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
jira_update_issue: Update an existing issue
Parameters:
issueKey(string),fields(object with update data)
jira_add_comment: Add a comment to an issue
Parameters:
issueKey(string),comment(string)
jira_get_transitions: Get available transitions for an issue
Parameters:
issueKey(string)
jira_transition_issue: Transition an issue to a different status
Parameters:
issueKey(string),transitionId(string),comment(string, optional)
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_TOOLSenvironment variablePII Filtering: Automatic detection and masking of sensitive information in responses
Error Context: Detailed error messages without exposing sensitive configuration
Development
Project Structure
src/
├── config/ # Configuration files
│ └── env.ts # Environment configuration with validation
├── services/ # Service classes for Atlassian APIs
│ ├── confluencev2.ts # Confluence v2 REST API service (primary)
│ ├── confluence.ts # Legacy Confluence service (deprecated)
│ └── jira.ts # Jira REST API service
├── tools/ # MCP tool implementations
│ ├── search-confluence.ts # Content search (v1 API)
│ ├── search-confluence-pages-by-title.ts # Title search (v2 API)
│ ├── get-confluence-space.ts # Single space info
│ ├── get-confluence-spaces.ts # All spaces list
│ ├── get-confluence-content.ts # Page content by ID
│ ├── get-confluence-pages.ts # Pages in space
│ ├── get-confluence-child-pages.ts # Child pages
│ ├── get-confluence-pages-by-label.ts # Pages by label
│ ├── get-confluence-page-labels.ts # Page labels
│ ├── add-confluence-page-labels.ts # Add labels
│ ├── get-confluence-page-comments.ts # Page comments
│ ├── add-confluence-page-comment.ts # Add comment
│ ├── get-confluence-page-inline-comments.ts # Inline comments
│ ├── confluence-create-page.ts # Create page
│ ├── confluence-update-page.ts # Update page
│ ├── update-confluence-page-title.ts # Update title only
│ ├── confluence-delete-page.ts # Delete page
│ ├── create-confluence-footer-comment.ts # Footer comments
│ ├── search-jira-issues.ts # Jira search
│ ├── get-jira-issue.ts # Single issue
│ ├── jira-create-issue.ts # Create issue
│ ├── jira-update-issue.ts # Update issue
│ ├── jira-add-comment.ts # Add comment
│ ├── jira-get-transitions.ts # Get transitions
│ ├── jira-transition-issue.ts # Transition issue
│ ├── jira-get-all-projects.ts # All projects
│ ├── utils.ts # Utility functions & PII filtering
│ └── index.ts # Tool exports
├── utils/ # Utility modules
│ └── tool-filter.ts # Tool filtering and access control
└── index.ts # Main entry point and server setupBuilding
# Using npm
npm run build
# Using make
make buildTesting
# Using npm
npm test
# Using make
make testMakefile Commands
The project includes a Makefile to simplify common operations:
# Display available commands
make helpLicense
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that integrates with Atlassian's Jira and Confluence, enabling AI assistants to interact with these tools directly through features like issue management, page creation, and content search.Last updated131MIT
- Alicense-qualityDmaintenanceAn MCP server that enables AI assistants to interact with Atlassian Jira and Confluence across Cloud and Server/Data Center environments. It supports tasks like searching and summarizing documentation, managing Jira issues, and creating content through natural language.Last updatedMIT
- Alicense-qualityBmaintenanceMCP server for Atlassian Cloud (Confluence & Jira) with seamless OAuth 2.0 authentication. Enables AI agents to document work in Confluence, manage Jira issues, and understand project context.Last updated4MIT
- AlicenseBqualityAmaintenanceAn MCP server for integrating with Atlassian products including Confluence, Jira, Bitbucket, and Xray for Jira, enabling AI-powered operations like searching, creating, and updating issues, pages, and test results.Last updated7127MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/samwang0723/mcp-atlassian'
If you have feedback or need assistance with the MCP directory API, please join our Discord server