Skip to main content
Glama

mcp-atlassian

MCP servers for Jira and Confluence Server or Data Center, packaged as a Claude Code plugin: 41 Jira tools and 29 Confluence tools that read, search, create, edit, comment, transition, plan sprints, write pages and manage who may see them. Your personal access token is sent only to your own host. Atlassian Cloud is a different API; for Cloud use Atlassian's own remote server.

Installation

Needs Node 22.18 or later and Claude Code 2.1.285 or later (claude update).

1. Download the repository and install the plugin. Claude Code copies the plugin into its own cache and installs its dependencies, so the clone can stay where it is or be deleted afterwards.

git clone https://github.com/JanKolenko-git/mcp-atlassian.git
claude plugin marketplace add ./mcp-atlassian
claude plugin install mcp-atlassian@jankolenko

To install straight from GitHub instead of a clone, replace the first two lines with claude plugin marketplace add JanKolenko-git/mcp-atlassian.

2. Create a personal access token in each product. Jira: your avatar → Profile → Personal Access Tokens. Confluence: your avatar → Settings → Personal Access Tokens. One token per product; copy each once.

3. Enter the URLs and tokens. In Claude Code, run /plugin, open mcp-atlassian and choose Configure options. Fill in the Jira and Confluence URLs and paste each token; tokens are stored in the system keychain, never in a file. Set up only one product if you use only one.

claude plugin configure saves the same options from stdin. Replace the two URLs, then run; the tokens are typed with hidden input and go to the system keychain, never to a file or your shell history.

printf 'Jira token: '; read -rs JIRA_TOKEN; echo; printf 'Confluence token: '; read -rs CONFLUENCE_TOKEN; echo
JIRA_TOKEN="$JIRA_TOKEN" CONFLUENCE_TOKEN="$CONFLUENCE_TOKEN" node -e '
console.log(JSON.stringify({
  jira_url: "https://jira.example.com",
  confluence_url: "https://confluence.example.com",
  jira_token: process.env.JIRA_TOKEN,
  confluence_token: process.env.CONFLUENCE_TOKEN,
}))' | claude plugin configure mcp-atlassian@jankolenko --values-stdin
unset JIRA_TOKEN CONFLUENCE_TOKEN

4. Restart Claude Code. /mcp lists Jira and Confluence as connected; ask Claude to run whoami on each to confirm the token works. If a server shows as failed, check that your machine can reach the host: VPN on, or your address on the allowlist.

Reads and writes run under Claude Code's usual permissions; deletes ask before every call. Each tier is set per product to on, ask or off in /config (jira_read, jira_write, jira_delete and the Confluence three).

Updating. claude plugin marketplace update jankolenko refreshes the catalog (after a git pull when it was added from a clone), then claude plugin update mcp-atlassian@jankolenko and a restart.

Related MCP server: jira-dc-mcp-wrapper

Use cases

Say it in plain words; Claude picks the tools.

  • "Move DXP-10000 to In Review and comment with the link to my PR."

  • "Create a story under epic DXP-9000 from the Confluence page Checkout redesign, with its acceptance criteria as the description, and assign it to me."

  • "Users report Core Web Vitals got slower since Monday. The details are in DXP-13050. Investigate and report back."

  • "Is this a known bug?" followed by a pasted stack trace. Claude searches Jira, then comments on the existing ticket or creates one.

  • "Break the spec Loyalty points v2 into stories under a new epic, linked back to the page."

  • "Summarise what changed in sprint 42 and write it into the Status section of the DXP team page."

  • "Log 2h on DXP-10000 for today: reproduced the cache bug."

  • "Which pull requests are linked to DXP-10000, and are they merged?"

  • "Create next week's status page from the Weekly status template and restrict editing to the DXP team."

Other MCP clients

Run npm install in a clone, then point any client that starts stdio servers at it:

{
  "mcpServers": {
    "Jira": {
      "command": "node",
      "args": ["/path/to/mcp-atlassian/connectors/jira/server.ts"],
      "env": { "JIRA_URL": "https://jira.example.com", "JIRA_PERSONAL_TOKEN": "..." }
    },
    "Confluence": {
      "command": "node",
      "args": ["/path/to/mcp-atlassian/connectors/confluence/server.ts"],
      "env": {
        "CONFLUENCE_URL": "https://confluence.example.com",
        "CONFLUENCE_PERSONAL_TOKEN": "..."
      }
    }
  }
}

Optional: JIRA_READ, JIRA_WRITE, JIRA_DELETE and the Confluence three take on, ask or off; JIRA_MAX_UPLOAD_MB and CONFLUENCE_MAX_UPLOAD_MB cap add_attachment.

Development

npm install && npm run check

check runs tsc, Oxlint, oxfmt --check and the tests, which start each server against a fake local Jira or Confluence. npm run fix applies the lint fixes and formats the code. The servers live in connectors/jira and connectors/confluence; code both use is in connectors/shared.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to manage self-hosted Atlassian Jira Server/Data Center issues and Bitbucket Server/Data Center repositories, pull requests, branches, commits, and files through MCP tools.
      44 npm
      4
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients to query and modify Jira Server/Data Center and Confluence through a local Chrome login session cookie instead of a token. It includes upstream Jira and Confluence tools, with optional read-only mode to disable writes.
      MIT