Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mcp-atlassian.soomiles.com/llms.txt

Use this file to discover all available pages before exploring further.

MCP Atlassian provides Docker images for production deployment. This guide covers Docker Compose setups, health checks, and orchestration patterns.

Quick Start

docker run -i --rm \
  -e JIRA_URL=https://your-company.atlassian.net \
  -e JIRA_USERNAME=your.email@example.com \
  -e JIRA_API_TOKEN=your_api_token \
  -e CONFLUENCE_URL=https://your-company.atlassian.net/wiki \
  -e CONFLUENCE_USERNAME=your.email@example.com \
  -e CONFLUENCE_API_TOKEN=your_api_token \
  ghcr.io/sooperset/mcp-atlassian:latest

Docker Compose

Basic Setup

version: "3.8"
services:
  mcp-atlassian:
    image: ghcr.io/sooperset/mcp-atlassian:latest
    env_file: .env
    ports:
      - "8000:8000"
    environment:
      - TRANSPORT=sse
      - PORT=8000
      - HOST=0.0.0.0
    restart: unless-stopped

With Health Checks

version: "3.8"
services:
  mcp-atlassian:
    image: ghcr.io/sooperset/mcp-atlassian:latest
    env_file: .env
    ports:
      - "8000:8000"
    environment:
      - TRANSPORT=sse
      - PORT=8000
      - HOST=0.0.0.0
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/healthz')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    restart: unless-stopped

Multi-Service Setup

Run separate Jira and Confluence services:
version: "3.8"
services:
  jira-mcp:
    image: ghcr.io/sooperset/mcp-atlassian:latest
    env_file: .env.jira
    ports:
      - "8001:8000"
    environment:
      - TRANSPORT=sse
      - PORT=8000
      - TOOLSETS=jira_issues,jira_fields,jira_transitions

  confluence-mcp:
    image: ghcr.io/sooperset/mcp-atlassian:latest
    env_file: .env.confluence
    ports:
      - "8002:8000"
    environment:
      - TRANSPORT=sse
      - PORT=8000
      - TOOLSETS=confluence_pages,confluence_comments

Environment File Pattern

Use .env files for sensitive credentials:
# .env
JIRA_URL=https://your-company.atlassian.net
JIRA_USERNAME=your.email@example.com
JIRA_API_TOKEN=your_api_token
CONFLUENCE_URL=https://your-company.atlassian.net/wiki
CONFLUENCE_USERNAME=your.email@example.com
CONFLUENCE_API_TOKEN=your_api_token
Never commit .env files to version control. Add .env to your .gitignore.

Read-Only Mode

For production environments where write operations should be disabled:
environment:
  - READ_ONLY_MODE=true
  - TOOLSETS=default  # Optional: restrict to core toolsets only
This disables all create, update, and delete tools at the server level.

Kubernetes Notes

For Kubernetes deployments:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mcp-atlassian
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mcp-atlassian
  template:
    metadata:
      labels:
        app: mcp-atlassian
    spec:
      containers:
      - name: mcp-atlassian
        image: ghcr.io/sooperset/mcp-atlassian:latest
        ports:
        - containerPort: 8000
        env:
        - name: TRANSPORT
          value: "sse"
        - name: PORT
          value: "8000"
        envFrom:
        - secretRef:
            name: atlassian-credentials
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8000
          initialDelaySeconds: 10
          periodSeconds: 30
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8000
          initialDelaySeconds: 5
          periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
  name: mcp-atlassian
spec:
  selector:
    app: mcp-atlassian
  ports:
  - port: 8000
    targetPort: 8000
Use Kubernetes Secrets for credentials. Create with: kubectl create secret generic atlassian-credentials --from-env-file=.env
For high availability, consider running separate deployments for Jira and Confluence services with different ENABLED_TOOLS configurations.