8000
Skip to content 8000

Optibus/mcp-atlassian

Repository files navigation

MCP Atlassian Server

A Model Context Protocol server that connects AI agents (Claude Code, Cursor, Claude Desktop, etc.) to Atlassian Jira and Confluence.

⚠️ Disclaimer: This is an unofficial project, not maintained or supported by Optibus. Works on my machine™.

Overview

Based on phuc-nt/mcp-atlassian-server, heavily modified by an engineer and the 8000 ir AI pair programmer during what can only be described as "productive procrastination."

39 tools for comprehensive Atlassian access. We counted twice, got the same answer both times, so it's probably correct.

How to Setup

Clone this repo

cd /some/local/path/where/you/keep/stuff
git@github.com:Optibus/mcp-atlassian.git

Get Your Atlassian API Token

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click "Create API token"
  3. Give it a name (like "MCP Server")
  4. Copy the token and paste it into your config

Build

cd /some/local/path/where/you/keep/stuff/mcp-atlassian
npm install
npm run build

Setup your Env to use the MCP

Claude Code

Add the server via CLI:

claude mcp add atlassian \
  -e ATLASSIAN_SITE_NAME=yourdomain.atlassian.net \
  -e ATLASSIAN_USER_EMAIL=email@company.com \
  -e ATLASSIAN_API_TOKEN=APITOKEN \
  -e LOG_LEVEL=warn \
  -- node /some/local/path/where/you/keep/stuff/mcp-atlassian/dist/index.js

Or add it manually to your project's .mcp.json:

{
  "mcpServers": {
    "atlassian": {
      "type": "stdio",
      "command": "node",
      "args": ["/some/local/path/where/you/keep/stuff/mcp-atlassian/dist/index.js"],
      "env": {
        "ATLASSIAN_SITE_NAME": "yourdomain.atlassian.net",
        "ATLASSIAN_USER_EMAIL": "email@company.com",
        "ATLASSIAN_API_TOKEN": "APITOKEN",
        "LOG_LEVEL": "warn"
      }
    }
  }
}

Verify with claude mcp list or the /mcp command inside a session.

Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json or via Settings → MCP):

{
  "mcpServers": {
    "atlassian": {
      "command": "node",
      "args": ["/some/local/path/where/you/keep/stuff/mcp-atlassian/dist/index.js"],
      "env": {
        "ATLASSIAN_SITE_NAME": "yourdomain.atlassian.net",
        "ATLASSIAN_USER_EMAIL": "email@company.com",
        "ATLASSIAN_API_TOKEN": "APITOKEN",
        "LOG_LEVEL": "warn"
      }
    }
  }
}

Then reload Cursor's MCP servers.

Note: Cursor shows all MCP logs with an [error] prefix in the output panel. This is just Cursor's UI — it doesn't mean something is broken! Set LOG_LEVEL to warn or error to reduce noise.

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "atlassian": {
      "command": "node",
      "args": ["/some/local/path/where/you/keep/stuff/mcp-atlassian/dist/index.js"],
      "env": {
        "ATLASSIAN_SITE_NAME": "yourdomain.atlassian.net",
        "ATLASSIAN_USER_EMAIL": "email@company.com",
        "ATLASSIAN_API_TOKEN": "APITOKEN",
        "LOG_LEVEL": "warn"
      }
    }
  }
}

Then restart Claude Desktop.

Features

  • Confluence: Read/write pages, list spaces, navigate page hierarchy (children & tree), manage comments, find-and-replace content (it's like a CMS but enterprise™)
  • Jira: Read/write issues, manage sprints, create filters, update dashboards (project management goes brrr)

How This Compares

This repo sooperset (4.4k ⭐) Atlassian Official (353 ⭐) aashari (50 ⭐)
ADF support ⭐ Native read/write with full type system and recursive validator (LLM-friendly errors). Dual-format: storage + ADF for Confluence, ADF for Jira ⚠️ Markdown ↔ ADF/Storage conversion (lossy) 🔴 Markdown only — 13+ ADF node types silently destroyed on round-trip (panels, expand, mentions, media, task lists, etc.) ➖ Pass-through only, no conversion
Confluence tools 14 tools — pages CRUD, child pages & page tree, comments (add/update/delete), find-and-replace, spaces ⭐ 19 tools — adds CQL search, labels, attachments (upload/download/delete), page history, analytics ~6 tools — pages CRUD, CQL search, comments 5 generic HTTP tools (conf_get/post/put/patch/delete) — can hit any endpoint
Jira tools 21 tools — issues, sprints (create/start/close), backlog ranking, filters CRUD, dashboards + gadgets CRUD ⭐ 47 tools — adds batch create, issue links, epics, worklogs, watchers, service desk, SLA, ProForma forms, dev info ~11 tools — issues, search, comments, worklog, user lookup 5 generic HTTP tools (jira_get/post/put/patch/delete)
Unique strengths findAndReplace (no other server has this), auto editor-v2 property, smart assignee resolution, backlog ranking ⭐ Batch operations (6 types), read-only mode, tool filtering, service desk queues, SLA calculation ⭐ Pre-built skills (meeting→tasks, spec→backlog, triage), cross-product Rovo Search, zero-setup cloud hosting ⭐ TOON format (30-60% fewer tokens), JMESPath response filtering, dual CLI + MCP server
Auth API token only, Cloud only ⭐ API token, PAT, OAuth 2.0 (3LO + BYOT), mTLS, proxy — Cloud + Data Center OAuth 2.1 + API token, Cloud only API token only, Cloud only
Client support stdio — Claude Code, Cursor, Claude Desktop ⭐ stdio, SSE, streamable-http — Claude Desktop, Cursor, HTTP clients ⭐ Streamable HTTP — ChatGPT, Claude, Copilot CLI, Gemini CLI, VS Code, Cursor stdio + HTTP — Claude Desktop, Cursor, Continue.dev

Documentation

Credits

  • Original work by phuc-nt
  • Coffee consumed: Yes

License

MIT - see LICENSE file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

0