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

An MCP (Model Context Protocol) server that enables Claude and Claude Code to interact with Atlassian Cloud (Confluence and Jira).

## Features

### Confluence
- **Spaces**: List, get details, create new spaces
- **Pages**: Full CRUD (create, read, update, delete)
- **Comments**: Read and add comments on pages
- **Attachments**: List and upload attachments
- **Search**: Query using CQL (Confluence Query Language)

### Jira
- **Projects**: List, get details, create new projects
- **Issues**: Full CRUD (create, read, update, delete)
- **Comments**: Read and add comments on issues
- **Attachments**: List and upload attachments
- **Search**: Query using JQL (Jira Query Language)

## Installation

```bash
# Clone or navigate to the project
cd atlassian-mcp

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install the package
pip install -e .
```

## Configuration

1. Copy the example environment file:
   ```bash
   cp .env.example .env
   ```

2. Edit `.env` with your Atlassian credentials:
   ```env
   ATLASSIAN_DOMAIN=yourcompany           # yourcompany.atlassian.net
   ATLASSIAN_EMAIL=you@example.com
   ATLASSIAN_API_TOKEN=your_api_token
   ```

3. Get your API token from: https://id.atlassian.com/manage-profile/security/api-tokens

## Usage

### stdio Mode (for Claude Code)

```bash
# Run directly
python -m atlassian_mcp --stdio

# Or using the installed command
atlassian-mcp --stdio
```

### SSE Mode (HTTP Server)

```bash
# Run the HTTP server
python -m atlassian_mcp --sse

# Server will start on http://127.0.0.1:8000
# SSE endpoint: http://127.0.0.1:8000/sse
# Health check: http://127.0.0.1:8000/health
```

## Claude Code Configuration

Add to your Claude Code settings (`~/.claude/settings.json` or project-level):

```json
{
  "mcpServers": {
    "atlassian": {
      "command": "/path/to/atlassian-mcp/.venv/bin/python",
      "args": ["-m", "atlassian_mcp", "--stdio"],
      "cwd": "/path/to/atlassian-mcp"
    }
  }
}
```

The server reads credentials from the `.env` file in the project directory, so you don't need to specify them in `settings.json`.

## Available Tools

### Confluence Tools

| Tool | Description |
|------|-------------|
| `confluence_list_spaces` | List all Confluence spaces |
| `confluence_get_space` | Get space details by key |
| `confluence_create_space` | Create a new space |
| `confluence_list_pages` | List pages (optionally by space) |
| `confluence_get_page` | Get page content by ID |
| `confluence_create_page` | Create a new page |
| `confluence_update_page` | Update an existing page |
| `confluence_delete_page` | Delete a page |
| `confluence_search` | Search using CQL |
| `confluence_get_comments` | Get comments on a page |
| `confluence_add_comment` | Add a comment to a page |
| `confluence_list_attachments` | List page attachments |
| `confluence_upload_attachment` | Upload attachment to page |

### Jira Tools

| Tool | Description |
|------|-------------|
| `jira_list_projects` | List all Jira projects |
| `jira_get_project` | Get project details by key |
| `jira_create_project` | Create a new project |
| `jira_search_issues` | Search using JQL |
| `jira_get_issue` | Get issue details by key |
| `jira_create_issue` | Create a new issue |
| `jira_update_issue` | Update an existing issue |
| `jira_delete_issue` | Delete an issue |
| `jira_get_comments` | Get comments on an issue |
| `jira_add_comment` | Add a comment to an issue |
| `jira_list_attachments` | List issue attachments |
| `jira_upload_attachment` | Upload attachment to issue |

## Example Queries

### Confluence CQL Examples
```
type=page AND space=TEAM
text ~ "search term"
creator=currentUser() AND created > now("-7d")
label=important
```

### Jira JQL Examples
```
project = PROJ
assignee = currentUser() AND status != Done
created >= -7d ORDER BY created DESC
labels = bug AND priority = High
```

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
ruff format .

# Lint
ruff check .
```

## License

MIT