IDE Integration
Configuration File Locations
Basic Configuration (uvx)
Docker with Environment File
Server/Data Center Configuration
*_CLIENT_CERT, or use *_CLIENT_CERT and the matching *_CLIENT_KEY for separate files:
JIRA_CLIENT_CERT and CONFLUENCE_CLIENT_CERT can point to combined PEM files. If the private key is separate, set JIRA_CLIENT_KEY or CONFLUENCE_CLIENT_KEY as appropriate. Encrypted private keys aren’t supported by the requests library, so decrypt them before starting MCP Atlassian instead of setting JIRA_CLIENT_KEY_PASSWORD or CONFLUENCE_CLIENT_KEY_PASSWORD.
Single Service Configuration
- Confluence Only
- Jira Only
Environment Variables
Connection Settings
Filtering Options
Jira Key Validation
Jira tools validate theirissue_key / project_key arguments before calling the
API. The defaults match the Cloud key format, which cannot be changed. On Server/Data
Center the format is an instance setting (jira.projectkey.pattern), so widen these
patterns if your instance allows keys the defaults reject — a leading digit, a single
character, or lowercase. An invalid regex is ignored (a warning is logged) and the
default is kept. Both are read once at startup.
Server Options
See .env.example for all available options.
HTTP Hardening
These optional safeguards are useful for protecting self-hosted Server/Data Center instances from runaway request loops. They are disabled by default.Proxy Configuration
MCP Atlassian supports routing API requests through HTTP/HTTPS/SOCKS proxies, with optional PAC/WPAD auto-configuration.
Service-specific variables override global ones. PAC/WPAD is opt-in and is
only evaluated when no explicit proxy is configured for that service.
PAC/WPAD support is provided by the optional
wpad extra. Install it with
pip install "mcp-atlassian[wpad]" or uv add "mcp-atlassian[wpad]" before
enabling the feature. The published Docker image includes this extra.
Custom HTTP Headers
Add custom HTTP headers to all API requests. Useful in corporate environments.
Format: Static custom headers use comma-separated
key=value pairs.
Passthrough headers use comma-separated header names.
MCP_ALLOWED_URL_DOMAINS; dynamic URLs are rejected without this allowlist so
trusted session headers cannot be forwarded to an attacker-controlled host.
Header values are masked in debug logs for security.
Tool Filtering
Control which tools are available:Toolset Filtering
Toolsets provide group-level tool control. Instead of listing individual tool names, enable entire groups of related tools at once using theTOOLSETS environment variable.
TOOLSETS=default):
jira_issues, jira_fields, jira_comments, jira_transitions, confluence_pages, confluence_comments
The opt-in legacy toolset contains deprecated tools retained while users
migrate to their replacement tools. Use TOOLSETS=legacy to expose only those
tools, or combine it with another selection such as TOOLSETS=default,legacy.
It is not included in TOOLSETS=default.
When both TOOLSETS and ENABLED_TOOLS are set, they intersect — a tool must pass
both filters. If TOOLSETS is not set, all toolsets are currently enabled.
Unknown toolset names are silently ignored. If all names are unknown, no tools are
enabled (fail-closed behavior to prevent accidental exposure).