Skip to main content
Glama
README.md
# Atlassian MCP Server

<a href="https://glama.ai/mcp/servers/@tingyiy/atlassian-mcp-server">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@tingyiy/atlassian-mcp-server/badge" />
</a>

An MCP server for Jira and Confluence Cloud. Write in **markdown** — the server converts to Atlassian Document Format (ADF) automatically.

## Quickstart

```bash
git clone https://github.com/tingyiy/atlassian-mcp-server.git
cd atlassian-mcp-server
pip install -r requirements.txt   # or: uv pip install -r requirements.txt
```

Then add it to your MCP client (see [Configuration](#configuration) below).

You'll need an [Atlassian API token](https://id.atlassian.com/manage-profile/security/api-tokens) and these values:

| Variable | Example |
|----------|---------|
| `ATLASSIAN_USERNAME` | `you@company.com` |
| `ATLASSIAN_API_KEY` | your API token |
| `JIRA_URL` | `https://your-domain.atlassian.net/rest/api/3` |
| `CONFLUENCE_URL` | `https://your-domain.atlassian.net/wiki` |
| `CONFLUENCE_SPACE_KEY` | `ENG` (optional, default space) |

## Tools

### Jira

| Tool | Description |
|------|-------------|
| `list_jira_issues` | Search issues using JQL |
| `read_jira_issue` | Get full issue details |
| `jira_create_issue` | Create an issue (markdown description) |
| `jira_update_issue` | Update summary or description (markdown) |
| `jira_add_comment` | Add a comment (markdown) |
| `jira_get_comments` | Retrieve all comments |
| `jira_get_attachment_image` | Download an attachment by ID |
| `jira_transition_issue` | Move issue through workflow |
| `jira_get_transitions` | List available transitions |

### Confluence

| Tool | Description |
|------|-------------|
| `list_confluence_pages` | List pages in a space |
| `view_confluence_page` | Get page content and metadata |
| `confluence_create_page` | Create a page (optionally nested) |
| `edit_confluence_page` | Update a page (auto-increments version) |
| `confluence_delete_page` | Delete a page |
| `confluence_search` | Search using CQL |
| `confluence_get_comments` | Get all comments on a page |
| `confluence_add_comment` | Add a comment (with reply support) |
| `confluence_get_attachment_image` | Download an image attachment |

### Markdown Support

Jira tools (`jira_create_issue`, `jira_update_issue`, `jira_add_comment`) accept **markdown** for descriptions and comments. The server converts it to ADF behind the scenes using [md2adf](https://github.com/tingyiy/m2adf).

Supported formatting: headings, bold, italic, strikethrough, inline code, links, images, code blocks (with language), bullet/ordered/nested lists, blockquotes, horizontal rules, and tables.

## Configuration

### Claude Code

Add to `~/.claude.json`:

```json
{
  "mcpServers": {
    "atlassian": {
      "type": "stdio",
      "command": "python3",
      "args": ["/path/to/atlassian-mcp-server/server.py"],
      "env": {
        "ATLASSIAN_USERNAME": "you@company.com",
        "ATLASSIAN_API_KEY": "your_api_token",
        "JIRA_URL": "https://your-domain.atlassian.net/rest/api/3",
        "CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
        "CONFLUENCE_SPACE_KEY": "ENG"
      }
    }
  }
}
```

### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "atlassian": {
      "command": "python3",
      "args": ["/path/to/atlassian-mcp-server/server.py"],
      "env": {
        "ATLASSIAN_USERNAME": "you@company.com",
        "ATLASSIAN_API_KEY": "your_api_token",
        "JIRA_URL": "https://your-domain.atlassian.net/rest/api/3",
        "CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
        "CONFLUENCE_SPACE_KEY": "ENG"
      }
    }
  }
}
```

### Cursor / VS Code

Add to `.cursor/mcp.json` or `.vscode/mcp.json`:

```json
{
  "mcpServers": {
    "atlassian": {
      "command": "python3",
      "args": ["/path/to/atlassian-mcp-server/server.py"],
      "env": {
        "ATLASSIAN_USERNAME": "you@company.com",
        "ATLASSIAN_API_KEY": "your_api_token",
        "JIRA_URL": "https://your-domain.atlassian.net/rest/api/3",
        "CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki"
      }
    }
  }
}
```

Make sure the `python3` in `command` points to an environment with the dependencies installed. To be explicit, use the full path (e.g. `/path/to/venv/bin/python`).

## Notes

### Mermaid Diagrams in Confluence

Confluence's Mermaid plugin stores diagram source internally, so the MCP tools can't render them programmatically. Instead, provide the Mermaid source in a code block — the user can then convert it in the Confluence editor.

## License

MIT — see [LICENSE](LICENSE).

TDQS

B3.4/5.0

Scored across 22 tools

Disambiguation5/5

Tools are clearly separated by product prefix (confluence_ vs jira_) and have distinct actions on different resources (pages, issues, comments). No functional overlap between tools.

Naming Consistency4/5

Most tools follow a verb_noun pattern with product prefixes (e.g., confluence_create_page, jira_add_comment). Minor inconsistencies: 'edit_confluence_page' vs 'update', and 'list_' versus '_list' patterns (e.g., list_confluence_pages vs jira_list_fields).

Tool Count5/5

22 tools split across two products (Confluence ~7, Jira ~15) is well-scoped. Each tool serves a clear purpose without excessive overlap or missing essential operations.

Completeness4/5

Core CRUD operations for Confluence pages and Jira issues are present, along with comments, search, transitions, and user lookup. Minor gaps like attachment upload are missing, but the surface covers primary workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues