Atlassian Data Center MCP
About
MCP servers for the Atlassian products (Bitbucket, Confluence, JIRA) of the Data Center version
Details
- License
- MIT
Explore
- Interactive setup CLI for each product with credential validation.
- Non-interactive mode for scripted or CI bootstrap.
- Secure token storage: macOS Keychain, Linux home file, Windows user profile.
- Multi-source configuration with clear precedence (env, shared file, home file, keychain).
- Supports both _HOST and _API_BASE_PATH environment variables.
- Configurable request timeout via ATLASSIAN_DC_MCP_REQUEST_TIMEOUT_MS.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Atlassian Data Center MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Node.js 18 or higher
- npm 7 or higher (for workspaces support)
- Atlassian Data Center instance or Cloud instance
- API tokens for the Atlassian products you want to use
Each package ships an interactive setup subcommand that stores your credentials in the most secure place available on your OS. Run it once per product:
npx @atlassian-dc-mcp/jira setup
npx @atlassian-dc-mcp/confluence setup
npx @atlassian-dc-mcp/bitbucket setup
The setup CLI prompts for host, API base path, default page size, and API token. Before saving, it validates obvious input mistakes and performs a timed authenticated request to the selected Atlassian product, so a bad host, base path, or token is caught during setup.
At startup, each MCP server resolves each config key by walking sources in this order and taking the first non-empty value:
| Priority | Source | Reads | Written by setup |
|---------:|--------|-------|------------------|
| 100 | process.env (JIRA_, CONFLUENCE_, BITBUCKET_) | all keys | — |
| 80 | env file — ATLASSIAN_DC_MCP_CONFIG_FILE or ./.env | all keys | — |
| 60 | home file — ~/.atlassian-dc-mcp/<product>.env on macOS/Linux, %USERPROFILE%\.atlassian-dc-mcp\<product>.env on Windows (mode 0600 on POSIX; Windows inherits the user-profile ACL) | all keys | host, apiBasePath, defaultPageSize (always); token (non-darwin or keychain fallback) |
| 40 | macOS Keychain — service atlassian-dc-mcp, account <product>-token | token only | token (darwin only) |
Notes:
- Process env wins over everything, so you can always override a stored credential for one session.
- ATLASSIAN_DC_MCP_CONFIG_FILE must be an absolute path; if set and missing, the server fails fast.
- Keychain reads are cached at init (one execFileSync per product-token), so tool calls never shell out.
- If a higher-priority source shadows the value setup is about to save, setup prints a warning naming the env var so you can unset it.
- Atlassian API requests time out after 30 seconds by default. Set ATLASSIAN_DC_MCP_REQUEST_TIMEOUT_MS to a positive millisecond value to override it.
Official Anthropic quick start guide
To use these MCP connectors with Claude Desktop, add the following to your Claude Desktop configuration.
Set _HOST variables only to domain + port without protocol (e.g., your-instance.atlassian.net). The https protocol is assumed.
Alternatively, you can use _API_BASE_PATH variables instead of _HOST to specify the complete API base URL including protocol (e.g., https://your-instance.atlassian.net/rest). Note that the /api/latest/ part is static and added automatically in the code, so you don't need to include it in the _API_BASE_PATH values.
You can leave only the services you need in the configuration.
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"atlassian-jira-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/jira"],
"env": {
"JIRA_HOST": "your-jira-host",
"JIRA_API_TOKEN": "your-token"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/confluence"],
"env": {
"CONFLUENCE_HOST": "your-confluence-host",
"CONFLUENCE_API_TOKEN": "your-token"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/bitbucket"],
"env": {
"BITBUCKET_HOST": "your-bitbucket-host",
"BITBUCKET_API_TOKEN": "your-token"
}
}
}
}
You can also use the alternative API base path configuration:
{
"mcpServers": {
"atlassian-jira-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/jira"],
"env": {
"JIRA_API_BASE_PATH": "https://your-jira-host/rest",
"JIRA_API_TOKEN": "your-token"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/confluence"],
"env": {
"CONFLUENCE_API_BASE_PATH": "https://your-confluence-host/rest",
"CONFLUENCE_API_TOKEN": "your-token"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/bitbucket"],
"env": {
"BITBUCKET_API_BASE_PATH": "https://your-bitbucket-host/rest",
"BITBUCKET_API_TOKEN": "your-token"
}
}
}
}
If you want multiple MCP hosts or tools on one machine to reuse the same Atlassian credentials, put the existing JIRA_, CONFLUENCE_, and BITBUCKET_ variables into one dotenv-style file and point each MCP server at it with ATLASSIAN_DC_MCP_CONFIG_FILE.
The path must be absolute. Direct environment variables still override values from the shared file.
Example shared file:
JIRA_HOST=your-jira-host
JIRA_API_TOKEN=your-jira-token
JIRA_DEFAULT_PAGE_SIZE=50
CONFLUENCE_HOST=your-confluence-host
CONFLUENCE_API_TOKEN=your-confluence-token
BITBUCKET_HOST=your-bitbucket-host
BITBUCKET_API_TOKEN=your-bitbucket-token
BITBUCKET_DEFAULT_PAGE_SIZE=50
Claude Desktop example using one shared file:
{
"mcpServers": {
"atlassian-jira-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/jira"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/your-user/.config/atlassian-dc-mcp.env"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/confluence"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/your-user/.config/atlassian-dc-mcp.env"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/bitbucket"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/your-user/.config/atlassian-dc-mcp.env"
}
}
}
}
Windows example path:
{
"mcpServers": {
"atlassian-jira-dc": {
"command": "npx",
"args": ["-y", "@atlassian-dc-mcp/jira"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "C:\\\\Users\\\\your-user\\\\AppData\\\\Roaming\\\\atlassian-dc-mcp.env"
}
}
}
}
To use these MCP connectors with Claude Code, add MCP servers using the claude mcp add command.
You can add servers at the project scope (stored in .mcp.json) or user scope (-s user). Adjust the scope and included services to your needs.
To install all dependencies for all packages in the monorepo:
bashnpm install
This will install:
- Root-level dependencies defined in the root package.json
- All dependencies for each package in the workspaces
To install a dependency for a specific package:
bashnpm install <package-name> --workspace=@atlassian-dc-mcp/jira
To install a dependency at the root level:
bashnpm install <package-name> -W
To run a specific package in development mode:
bashnpm run dev:jira # For Jira
npm run dev:confluence # For Confluence
npm run dev:bitbucket # For Bitbucket
```
JIRA_HOST=your-instance.atlassian.net
CONFLUENCE_HOST=your-instance.atlassian.net
BITBUCKET_HOST=your-instance.atlassian.net
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"atlassian data center mcp": {
"atlassian-dc-mcp": {
"command": "npx",
"args": [
"@atlassian-dc-mcp/jira",
"setup"
]
}
}
}
}
McpServers
{
"atlassian-dc-mcp": {
"command": "npx",
"args": [
"@atlassian-dc-mcp/jira",
"setup"
]
}
}
> Note: This is a community-maintained project and is not affiliated with, endorsed by, or supported by Atlassian.
> Use at your own discretion.
This project provides a Model Context Protocol (MCP) integration for Atlassian Data Center products, including Jira, Confluence, and Bitbucket.
Quick Setup
Each package ships an interactive setup subcommand that stores your credentials in the most secure place available on your OS. Run it once per product:
npx @atlassian-dc-mcp/jira setup
npx @atlassian-dc-mcp/confluence setup
npx @atlassian-dc-mcp/bitbucket setup
The setup CLI prompts for host, API base path, default page size, and API token. Before saving, it validates obvious input mistakes and performs a timed authenticated request to the selected Atlassian product, so a bad host, base path, or token is caught during setup.
CLI flags and non-interactive mode
Setup accepts flags so you can prefill values or skip prompts entirely (useful for scripted bootstrap, CI, or remote sessions). Run npx @atlassian-dc-mcp/<product> setup --help for the full list.
| Flag | Short | Description |
|------|-------|-------------|
| --host <value> | -H | Host, e.g. jira.example.com |
| --api-base-path <value> | -b | API base path or full URL |
| --token <value> | -t | API token |
| --default-page-size <n> | -s | Default page size (positive integer) |
| --non-interactive | -n | Skip prompts; fail if a required value cannot be resolved |
| --help | -h | Show usage and exit |
In interactive mode, any flag you pass prefills its prompt (so e.g. --host skips the host prompt but still asks for the rest). In --non-interactive mode, setup resolves anything missing from existing configuration (process env, ~/.atlassian-dc-mcp/<product>.env, or macOS Keychain) and exits non-zero if a host (or full-URL --api-base-path) and token cannot be found. An existing token is reused when --token is omitted.
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



