Server data from the Official MCP Registry
MCP server for Atlassian Jira Data Center - search, view, and create issues
MCP server for Atlassian Jira Data Center - search, view, and create issues
Valid MCP server (2 strong, 1 medium validity signals). 1 code issue detected. No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 2 finding(s) downgraded by scanner intelligence.
10 files analyzed · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: ATLASSIAN_DC_MCP_CONFIG_FILE
Environment variable: JIRA_HOST
Environment variable: JIRA_API_BASE_PATH
Environment variable: JIRA_API_TOKEN
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-mrrefactoring-atlassian-dc-mcp-jira": {
"env": {
"JIRA_HOST": "your-jira-host-here",
"JIRA_API_TOKEN": "your-jira-api-token-here",
"JIRA_API_BASE_PATH": "your-jira-api-base-path-here",
"ATLASSIAN_DC_MCP_CONFIG_FILE": "your-atlassian-dc-mcp-config-file-here"
},
"args": [
"-y",
"jira-datacenter-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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.
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 jira-datacenter-mcp setup
npx confluence-datacenter-mcp setup
npx bitbucket-datacenter-mcp setup
The setup CLI prompts for host, API base path, default page size, and API token. The token can be left blank for instances that allow anonymous access — the MCP server then makes unauthenticated requests. Before saving, it validates obvious input mistakes and, if a token was entered, performs a timed authenticated request to the selected Atlassian product, so a bad host, base path, or token is caught during setup.
Setup accepts flags so you can prefill values or skip prompts entirely (useful for scripted bootstrap, CI, or remote sessions). Run npx <product>-datacenter-mcp 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 only if a host (or full-URL --api-base-path) cannot be found. The token is optional — omit it (and don't keep an existing one) to configure anonymous access. An existing token is reused when --token is omitted.
# Scripted, no prompts, write everything from flags
npx jira-datacenter-mcp setup --non-interactive \
--host jira.example.com \
--token "$JIRA_TOKEN"
# Re-validate the existing token without re-entering it
npx jira-datacenter-mcp setup --non-interactive --host jira.example.com
Credential validation behaves differently between modes: interactive mode offers retry/save-anyway prompts on failure, while --non-interactive exits with code 1 on the first validation failure so it can be used as a CI gate.
Token storage:
/usr/bin/security (service atlassian-dc-mcp, account <product>-token).~/.atlassian-dc-mcp/<product>.env with POSIX mode 0600 (read/write for your user only; other local user accounts cannot read it).%USERPROFILE%\.atlassian-dc-mcp\<product>.env. Node passes the mode bits but Windows ignores them, so the file inherits the ACL of your user profile directory — typically readable only by your user, SYSTEM, and Administrators.Non-secret fields (host, API base path, default page size) are always written to the home file — ~/.atlassian-dc-mcp/<product>.env on macOS/Linux, %USERPROFILE%\.atlassian-dc-mcp\<product>.env on Windows. After a successful Keychain write, the token line is cleared from the home file so there is never a second copy in a less-secure place.
Once setup has run, the MCP servers can boot with no environment variables at all:
{
"mcpServers": {
"atlassian-jira-dc": { "command": "npx", "args": ["-y", "jira-datacenter-mcp"] },
"atlassian-confluence-dc": { "command": "npx", "args": ["-y", "confluence-datacenter-mcp"] },
"atlassian-bitbucket-dc": { "command": "npx", "args": ["-y", "bitbucket-datacenter-mcp"] }
}
}
You can still pass credentials via environment variables or ATLASSIAN_DC_MCP_CONFIG_FILE as shown in the sections below — they take precedence over values saved by 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:
ATLASSIAN_DC_MCP_CONFIG_FILE must be an absolute path; if set and missing, the server fails fast.execFileSync per product-token), so tool calls never shell out.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", "jira-datacenter-mcp"],
"env": {
"JIRA_HOST": "your-jira-host",
"JIRA_API_TOKEN": "your-token"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "confluence-datacenter-mcp"],
"env": {
"CONFLUENCE_HOST": "your-confluence-host",
"CONFLUENCE_API_TOKEN": "your-token"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "bitbucket-datacenter-mcp"],
"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", "jira-datacenter-mcp"],
"env": {
"JIRA_API_BASE_PATH": "https://your-jira-host/rest",
"JIRA_API_TOKEN": "your-token"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "confluence-datacenter-mcp"],
"env": {
"CONFLUENCE_API_BASE_PATH": "https://your-confluence-host/rest",
"CONFLUENCE_API_TOKEN": "your-token"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "bitbucket-datacenter-mcp"],
"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", "jira-datacenter-mcp"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/your-user/.config/atlassian-dc-mcp.env"
}
},
"atlassian-confluence-dc": {
"command": "npx",
"args": ["-y", "confluence-datacenter-mcp"],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/your-user/.config/atlassian-dc-mcp.env"
}
},
"atlassian-bitbucket-dc": {
"command": "npx",
"args": ["-y", "bitbucket-datacenter-mcp"],
"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", "jira-datacenter-mcp"],
"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.
# Jira
claude mcp add atlassian-jira-dc \
-e JIRA_HOST=your-jira-host \
-e JIRA_API_TOKEN=your-token \
-- npx -y jira-datacenter-mcp
# Confluence
claude mcp add atlassian-confluence-dc \
-e CONFLUENCE_HOST=your-confluence-host \
-e CONFLUENCE_API_TOKEN=your-token \
-- npx -y confluence-datacenter-mcp
# Bitbucket
claude mcp add atlassian-bitbucket-dc \
-e BITBUCKET_HOST=your-bitbucket-host \
-e BITBUCKET_API_TOKEN=your-token \
-- npx -y bitbucket-datacenter-mcp
You can also use *_API_BASE_PATH instead of *_HOST (same as the Claude Desktop examples above):
claude mcp add atlassian-jira-dc \
-e JIRA_API_BASE_PATH=https://your-jira-host/rest \
-e JIRA_API_TOKEN=your-token \
-- npx -y jira-datacenter-mcp
To add servers at user scope (available across all projects):
claude mcp add -s user atlassian-jira-dc \
-e JIRA_HOST=your-jira-host \
-e JIRA_API_TOKEN=your-token \
-- npx -y jira-datacenter-mcp
To use the shared config file instead of passing credentials inline:
claude mcp add atlassian-jira-dc \
-e ATLASSIAN_DC_MCP_CONFIG_FILE=/Users/your-user/.config/atlassian-dc-mcp.env \
-- npx -y jira-datacenter-mcp
Windows PowerShell example:
claude mcp add atlassian-jira-dc `
-e ATLASSIAN_DC_MCP_CONFIG_FILE=C:\Users\your-user\AppData\Roaming\atlassian-dc-mcp.env `
-- npx -y jira-datacenter-mcp
For Data Center installations, you'll need to generate Personal Access Tokens (PAT) for each service:
Store these tokens securely and use them in your Claude Desktop configuration as shown above.
The Atlassian DC MCP allows AI assistants to interact with Atlassian products through a standardized interface. It provides tools for:
packageManager field, currently 11.9.0) — install however's convenient: the standalone installer, npm install -g pnpm, or Corepack if you already have it. CI uses pnpm/action-setup, independent of Corepack.Clone the repository:
git clone https://github.com/MrRefactoring/atlassian-dc-mcp.git
cd atlassian-dc-mcp
This project is structured as a pnpm monorepo using workspaces (see pnpm-workspace.yaml). The workspaces are organized in the packages/ directory, with separate packages for each Atlassian product integration.
To install all dependencies for all packages in the monorepo:
pnpm install
This will install:
package.jsonTo install a dependency for a specific package:
pnpm add <package-name> --filter jira-datacenter-mcp
To install a dependency at the root level:
pnpm add <package-name> -w
To build all packages:
pnpm build
To build a specific package:
pnpm --filter jira-datacenter-mcp build
To run a specific package in development mode:
pnpm dev:jira # For Jira
pnpm dev:confluence # For Confluence
pnpm dev:bitbucket # For Bitbucket
This project uses Changesets for versioning and publishing (not lerna); all 4 packages are kept in lockstep via a fixed group. Any PR that changes package behavior should include a changeset:
pnpm changeset
Pick the affected packages and bump type, write a short summary, and commit the generated .changeset/*.md file alongside your code change. Merging to master opens/updates a "Version Packages" pull request; merging that PR is what actually triggers the npm publish and MCP Registry publish.
For production use, prefer the Quick Setup CLI above — it writes to the macOS Keychain (for tokens) and the home file for non-secret fields (~/.atlassian-dc-mcp/<product>.env on macOS/Linux, %USERPROFILE%\.atlassian-dc-mcp\<product>.env on Windows) automatically.
For local development, create a .env file in the root directory, or a shared dotenv-style file anywhere on disk and point ATLASSIAN_DC_MCP_CONFIG_FILE to it, with the following variables:
# Jira configuration - choose one of these options:
JIRA_HOST=your-instance.atlassian.net
# OR
JIRA_API_BASE_PATH=https://your-instance.atlassian.net/rest
# Note: part /api/2/search/ is added automatically, do not include it
JIRA_API_TOKEN=your-api-token
# Confluence configuration - choose one of these options:
CONFLUENCE_HOST=your-instance.atlassian.net
# OR
CONFLUENCE_API_BASE_PATH=https://your-instance.atlassian.net/confluence
# Note: part /rest/api is added automatically, do not include it
CONFLUENCE_API_TOKEN=your-api-token
# Bitbucket configuration - choose one of these options:
BITBUCKET_HOST=your-instance.atlassian.net
# OR
BITBUCKET_API_BASE_PATH=https://your-instance.atlassian.net/rest
# Note: part /api/latest/ is added automatically, do not include it
BITBUCKET_API_TOKEN=your-api-token
Only a host (or full-URL API base path) is required. *_API_TOKEN is optional — omit it to connect anonymously, for instances that allow unauthenticated read access. Without a token, no Authorization header is sent at all.
Resolution order for each key is process.env → ATLASSIAN_DC_MCP_CONFIG_FILE (or ./.env) → home file (~/.atlassian-dc-mcp/<product>.env on macOS/Linux, %USERPROFILE%\.atlassian-dc-mcp\<product>.env on Windows) → macOS Keychain. See Configuration Sources & Precedence above.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption