{
  "markdown": "[![MSeeP.ai Security Assessment Badge](https://mseep.net/pr/b1ff-atlassian-dc-mcp-badge.png)](https://mseep.ai/app/b1ff-atlassian-dc-mcp)\n\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/2a87ecc6-e53a-4a21-b63e-ede9b6a2bc4a)\n\n# Atlassian Data Center MCP\n\n> **Note:** This is a community-maintained project and is **not affiliated with, endorsed by, or supported by Atlassian**.\n> Use at your own discretion.\n\nThis project provides a Model Context Protocol (MCP) integration for Atlassian Data Center products, including Jira, Confluence, and Bitbucket.\n\n## Quick Setup\n\nEach package ships an interactive `setup` subcommand that stores your credentials in the most secure place available on your OS. Run it once per product:\n\n```bash\nnpx @atlassian-dc-mcp/jira setup\nnpx @atlassian-dc-mcp/confluence setup\nnpx @atlassian-dc-mcp/bitbucket setup\n```\n\nThe 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.\n\n### CLI flags and non-interactive mode\n\nSetup 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.\n\n| Flag | Short | Description |\n|------|-------|-------------|\n| `--host <value>` | `-H` | Host, e.g. `jira.example.com` |\n| `--api-base-path <value>` | `-b` | API base path or full URL |\n| `--token <value>` | `-t` | API token |\n| `--default-page-size <n>` | `-s` | Default page size (positive integer) |\n| `--non-interactive` | `-n` | Skip prompts; fail if a required value cannot be resolved |\n| `--help` | `-h` | Show usage and exit |\n\nIn 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.\n\n```bash\n# Scripted, no prompts, write everything from flags\nnpx @atlassian-dc-mcp/jira setup --non-interactive \\\n  --host jira.example.com \\\n  --token \"$JIRA_TOKEN\"\n\n# Re-validate the existing token without re-entering it\nnpx @atlassian-dc-mcp/jira setup --non-interactive --host jira.example.com\n```\n\nCredential 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.\n\nToken storage:\n\n- **macOS** — written to the login Keychain via `/usr/bin/security` (service `atlassian-dc-mcp`, account `<product>-token`).\n- **Linux** — written to `~/.atlassian-dc-mcp/<product>.env` with POSIX mode `0600` (read/write for your user only; other local user accounts cannot read it).\n- **Windows** — written to `%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.\n\nNon-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.\n\nOnce setup has run, the MCP servers can boot with no environment variables at all:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian-jira-dc\": { \"command\": \"npx\", \"args\": [\"-y\", \"@atlassian-dc-mcp/jira\"] },\n    \"atlassian-confluence-dc\": { \"command\": \"npx\", \"args\": [\"-y\", \"@atlassian-dc-mcp/confluence\"] },\n    \"atlassian-bitbucket-dc\": { \"command\": \"npx\", \"args\": [\"-y\", \"@atlassian-dc-mcp/bitbucket\"] }\n  }\n}\n```\n\nYou 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.\n\n## Configuration Sources & Precedence\n\nAt startup, each MCP server resolves each config key by walking sources in this order and taking the first non-empty value:\n\n| Priority | Source | Reads | Written by setup |\n|---------:|--------|-------|------------------|\n| 100 | `process.env` (`JIRA_*`, `CONFLUENCE_*`, `BITBUCKET_*`) | all keys | — |\n| 80  | env file — `ATLASSIAN_DC_MCP_CONFIG_FILE` or `./.env` | all keys | — |\n| 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) |\n| 40  | macOS Keychain — service `atlassian-dc-mcp`, account `<product>-token` | token only | token (darwin only) |\n\nNotes:\n\n- Process env wins over everything, so you can always override a stored credential for one session.\n- `ATLASSIAN_DC_MCP_CONFIG_FILE` must be an absolute path; if set and missing, the server fails fast.\n- Keychain reads are cached at init (one `execFileSync` per product-token), so tool calls never shell out.\n- 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.\n- 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.\n\n## Claude Desktop Configuration\n\n[Official Anthropic quick start guide](https://modelcontextprotocol.io/docs/getting-started/intro)\n\nTo use these MCP connectors with Claude Desktop, add the following to your Claude Desktop configuration.\n\nSet `*_HOST` variables only to domain + port without protocol (e.g., `your-instance.atlassian.net`). The https protocol is assumed.\n\nAlternatively, 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.\n\nYou can leave only the services you need in the configuration.\n\nmacOS:\n```\n~/Library/Application Support/Claude/claude_desktop_config.json\n```\n\nWindows:\n```\n%APPDATA%\\Claude\\claude_desktop_config.json\n```\n\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian-jira-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/jira\"],\n      \"env\": {\n        \"JIRA_HOST\": \"your-jira-host\",\n        \"JIRA_API_TOKEN\": \"your-token\"\n      }\n    },\n    \"atlassian-confluence-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/confluence\"],\n      \"env\": {\n        \"CONFLUENCE_HOST\": \"your-confluence-host\",\n        \"CONFLUENCE_API_TOKEN\": \"your-token\"\n      }\n    },\n    \"atlassian-bitbucket-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/bitbucket\"],\n      \"env\": {\n        \"BITBUCKET_HOST\": \"your-bitbucket-host\",\n        \"BITBUCKET_API_TOKEN\": \"your-token\"\n      }\n    }\n  }\n}\n```\n\nYou can also use the alternative API base path configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian-jira-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/jira\"],\n      \"env\": {\n        \"JIRA_API_BASE_PATH\": \"https://your-jira-host/rest\",\n        \"JIRA_API_TOKEN\": \"your-token\"\n      }\n    },\n    \"atlassian-confluence-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/confluence\"],\n      \"env\": {\n        \"CONFLUENCE_API_BASE_PATH\": \"https://your-confluence-host/rest\",\n        \"CONFLUENCE_API_TOKEN\": \"your-token\"\n      }\n    },\n    \"atlassian-bitbucket-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/bitbucket\"],\n      \"env\": {\n        \"BITBUCKET_API_BASE_PATH\": \"https://your-bitbucket-host/rest\",\n        \"BITBUCKET_API_TOKEN\": \"your-token\"\n      }\n    }\n  }\n}\n```\n\n## Shared External Config File\n\nIf 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`.\n\nThe path must be absolute. Direct environment variables still override values from the shared file.\n\nExample shared file:\n\n```dotenv\nJIRA_HOST=your-jira-host\nJIRA_API_TOKEN=your-jira-token\nJIRA_DEFAULT_PAGE_SIZE=50\n\nCONFLUENCE_HOST=your-confluence-host\nCONFLUENCE_API_TOKEN=your-confluence-token\n\nBITBUCKET_HOST=your-bitbucket-host\nBITBUCKET_API_TOKEN=your-bitbucket-token\nBITBUCKET_DEFAULT_PAGE_SIZE=50\n```\n\nClaude Desktop example using one shared file:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian-jira-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/jira\"],\n      \"env\": {\n        \"ATLASSIAN_DC_MCP_CONFIG_FILE\": \"/Users/your-user/.config/atlassian-dc-mcp.env\"\n      }\n    },\n    \"atlassian-confluence-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/confluence\"],\n      \"env\": {\n        \"ATLASSIAN_DC_MCP_CONFIG_FILE\": \"/Users/your-user/.config/atlassian-dc-mcp.env\"\n      }\n    },\n    \"atlassian-bitbucket-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/bitbucket\"],\n      \"env\": {\n        \"ATLASSIAN_DC_MCP_CONFIG_FILE\": \"/Users/your-user/.config/atlassian-dc-mcp.env\"\n      }\n    }\n  }\n}\n```\n\nWindows example path:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian-jira-dc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atlassian-dc-mcp/jira\"],\n      \"env\": {\n        \"ATLASSIAN_DC_MCP_CONFIG_FILE\": \"C:\\\\\\\\Users\\\\\\\\your-user\\\\\\\\AppData\\\\\\\\Roaming\\\\\\\\atlassian-dc-mcp.env\"\n      }\n    }\n  }\n}\n```\n\n## Claude Code CLI Configuration\n\nTo use these MCP connectors with [Claude Code](https://docs.anthropic.com/en/docs/claude-code), add MCP servers using the `claude mcp add` command.\n\nYou 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.\n\n```bash\n# Jira\nclaude mcp add atlassian-jira-dc \\\n  -e JIRA_HOST=your-jira-host \\\n  -e JIRA_API_TOKEN=your-token \\\n  -- npx -y @atlassian-dc-mcp/jira\n\n# Confluence\nclaude mcp add atlassian-confluence-dc \\\n  -e CONFLUENCE_HOST=your-confluence-host \\\n  -e CONFLUENCE_API_TOKEN=your-token \\\n  -- npx -y @atlassian-dc-mcp/confluence\n\n# Bitbucket\nclaude mcp add atlassian-bitbucket-dc \\\n  -e BITBUCKET_HOST=your-bitbucket-host \\\n  -e BITBUCKET_API_TOKEN=your-token \\\n  -- npx -y @atlassian-dc-mcp/bitbucket\n```\n\nYou can also use `*_API_BASE_PATH` instead of `*_HOST` (same as the Claude Desktop examples above):\n\n```bash\nclaude mcp add atlassian-jira-dc \\\n  -e JIRA_API_BASE_PATH=https://your-jira-host/rest \\\n  -e JIRA_API_TOKEN=your-token \\\n  -- npx -y @atlassian-dc-mcp/jira\n```\n\nTo add servers at user scope (available across all projects):\n\n```bash\nclaude mcp add -s user atlassian-jira-dc \\\n  -e JIRA_HOST=your-jira-host \\\n  -e JIRA_API_TOKEN=your-token \\\n  -- npx -y @atlassian-dc-mcp/jira\n```\n\nTo use the shared config file instead of passing credentials inline:\n\n```bash\nclaude mcp add atlassian-jira-dc \\\n  -e ATLASSIAN_DC_MCP_CONFIG_FILE=/Users/your-user/.config/atlassian-dc-mcp.env \\\n  -- npx -y @atlassian-dc-mcp/jira\n```\n\nWindows PowerShell example:\n\n```powershell\nclaude mcp add atlassian-jira-dc `\n  -e ATLASSIAN_DC_MCP_CONFIG_FILE=C:\\Users\\your-user\\AppData\\Roaming\\atlassian-dc-mcp.env `\n  -- npx -y @atlassian-dc-mcp/jira\n```\n\n### Generating API Tokens\n\nFor Data Center installations, you'll need to generate Personal Access Tokens (PAT) for each service:\n\n#### Jira Data Center\n1. Log in to your Jira instance\n2. Go to Profile > Personal Access Tokens\n3. Click \"Create token\"\n4. Give it a meaningful name and set appropriate permissions\n5. Copy the generated token immediately (it won't be shown again)\n\n#### Confluence Data Center\n1. Log in to your Confluence instance\n2. Go to Settings > Personal Access Tokens\n3. Click \"Create token\"\n4. Name your token and set required permissions\n5. Save and copy the token (only shown once)\n\n#### Bitbucket Data Center\n1. Log in to Bitbucket\n2. Go to Manage Account > HTTP access tokens\n3. Click \"Create token\"\n4. Set a name and permissions\n5. Generate and copy the token immediately\n\nStore these tokens securely and use them in your Claude Desktop configuration as shown above.\n\n## Overview\n\nThe Atlassian DC MCP allows AI assistants to interact with Atlassian products through a standardized interface. It provides tools for:\n\n- **Jira**: Search, view, and create issues\n- **Confluence**: Access and manage content\n- **Bitbucket**: Interact with repositories and code\n\n## Prerequisites\n\n- Node.js 18 or higher\n- npm 7 or higher (for workspaces support)\n- Atlassian Data Center instance or Cloud instance\n- API tokens for the Atlassian products you want to use\n\n## Installation\n\nClone the repository:\n\n```bash\ngit clone https://github.com/b1ff/atlassian-dc-mcp.git\ncd atlassian-dc-mcp\n```\n\n## Development\n\nThis project is structured as an npm monorepo using workspaces. The workspaces are organized in the `packages/` directory, with separate packages for each Atlassian product integration.\n\n### Installing Dependencies\n\nTo install all dependencies for all packages in the monorepo:\n\n```bash\nnpm install\n```\n\nThis will install:\n- Root-level dependencies defined in the root `package.json`\n- All dependencies for each package in the workspaces\n\nTo install a dependency for a specific package:\n\n```bash\nnpm install <package-name> --workspace=@atlassian-dc-mcp/jira\n```\n\nTo install a dependency at the root level:\n\n```bash\nnpm install <package-name> -W\n```\n\n### Building the Project\n\nTo build all packages:\n\n```bash\nnpm run build\n```\n\nTo build a specific package:\n\n```bash\nnpm run build --workspace=@atlassian-dc-mcp/jira\n```\n\n### Running in Development Mode\n\nTo run a specific package in development mode:\n\n```bash\nnpm run dev:jira     # For Jira\nnpm run dev:confluence  # For Confluence\nnpm run dev:bitbucket   # For Bitbucket\n```\n\n## Configuration\n\nFor production use, prefer the [Quick Setup](#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.\n\nFor 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:\n\n```\n# Jira configuration - choose one of these options:\nJIRA_HOST=your-instance.atlassian.net\n# OR\nJIRA_API_BASE_PATH=https://your-instance.atlassian.net/rest\n# Note: part /api/2/search/ is added automatically, do not include it\nJIRA_API_TOKEN=your-api-token\n\n# Confluence configuration - choose one of these options:\nCONFLUENCE_HOST=your-instance.atlassian.net\n# OR\nCONFLUENCE_API_BASE_PATH=https://your-instance.atlassian.net/confluence\n# Note: part /rest/api is added automatically, do not include it\nCONFLUENCE_API_TOKEN=your-api-token\n\n# Bitbucket configuration - choose one of these options:\nBITBUCKET_HOST=your-instance.atlassian.net\n# OR\nBITBUCKET_API_BASE_PATH=https://your-instance.atlassian.net/rest\n# Note: part /api/latest/ is added automatically, do not include it\nBITBUCKET_API_TOKEN=your-api-token\n```\n\nResolution 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](#configuration-sources--precedence) above.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 15921,
  "sha": "c93eb6997b3192c3e0cce5839c7bcebaee07805977222c72e5bd6d478f40ed4d",
  "repo_slug": "b1ff/atlassian-dc-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_b1ff_atlassian_dc_mcp_confluen_50523f08/readme"
}