Sign inSign up

guerchele/jira-dc-mcp

By guerchele

•Updated 10 months ago

Image
0

4.0K

guerchele/jira-dc-mcp repository overview

⁠Jira Data Center MCP Server - Docker Image

Model Context Protocol (MCP) server for Atlassian Jira Data Center with semantic search and AI-powered workflow automation.

GitHub License: LGPL-3.0

Transform natural language queries into precise Jira API operations. Built for LLMs (Claude, GPT-4) to interact intelligently with Jira Data Center.

ā šŸš€ Quick Start

⁠Run with Docker
docker run -it \
  -e JIRA_URL=https://jira.example.com \
  -e JIRA_AUTH_METHOD=pat \
  -e JIRA_TOKEN=your-personal-access-token \
  ghcr.io/guerchele/jira-dc-mcp:latest
⁠Run with Docker Compose

Create docker-compose.yml:

version: '3.8'
services:
  jira-mcp:
    image: guerchele/jira-dc-mcp:latest
    environment:
      JIRA_URL: https://jira.example.com
      JIRA_AUTH_METHOD: pat
      JIRA_TOKEN: your-personal-access-token
      LOG_LEVEL: info
    restart: unless-stopped

Then run:

docker-compose up -d

ā šŸ“‹ Requirements

  • Jira Data Center instance with API access
  • Valid credentials: OAuth 2.0, Personal Access Token, OAuth 1.0a, or Basic Auth
  • Docker Desktop 4.37.1+ or Docker Engine 20.10+

ā šŸ”§ Environment Variables

⁠Required
VariableDescriptionExample
JIRA_URLYour Jira Data Center URLhttps://jira.example.com
JIRA_AUTH_METHODAuthentication methodpat, oauth2, oauth1, basic
JIRA_TOKENAuthentication token (for PAT/Basic)your-token-here
⁠Optional
VariableDefaultDescription
LOG_LEVELinfoLogging level: debug, info, warn, error
RATE_LIMIT_MAX_REQUESTS100Max API requests per minute
REQUEST_TIMEOUT_MS30000Request timeout in milliseconds

ā šŸ’” Usage Examples

⁠Example 1: Basic Container
docker run -it --rm \
  -e JIRA_URL=https://jira.example.com \
  -e JIRA_AUTH_METHOD=pat \
  -e JIRA_TOKEN=abc123xyz \
  guerchele/jira-dc-mcp:latest
⁠Example 2: With Persistent Configuration
docker run -it -d \
  --name jira-mcp \
  -v ~/.jira-mcp:/root/.jira-mcp \
  -e JIRA_URL=https://jira.example.com \
  -e JIRA_AUTH_METHOD=pat \
  -e JIRA_TOKEN=abc123xyz \
  guerchele/jira-dc-mcp:latest
⁠Example 3: Debug Mode
docker run -it --rm \
  -e JIRA_URL=https://jira.example.com \
  -e JIRA_AUTH_METHOD=pat \
  -e JIRA_TOKEN=abc123xyz \
  -e LOG_LEVEL=debug \
  guerchele/jira-dc-mcp:latest
⁠Example 4: Connect from Claude Desktop

Edit your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "jira-datacenter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "JIRA_URL=https://jira.example.com",
        "-e",
        "JIRA_AUTH_METHOD=pat",
        "-e",
        "JIRA_TOKEN=your-token",
        "guerchele/jira-dc-mcp:latest"
      ]
    }
  }
}

ā šŸ—ļø Key Features

āœ… Semantic Search Engine - Natural language queries with >90% relevance
āœ… Three MCP Tools - search_ids, get_id, call_id
āœ… Multi-Authentication - OAuth 2.0, PAT, OAuth 1.0a, Basic Auth
āœ… Production Resilient - Circuit breakers, rate limiting, retries
āœ… Secure by Default - Non-root user, credential redaction
āœ… Multi-Architecture - Supports linux/amd64 and linux/arm64

ā šŸ” MCP Tools Available

  1. search_ids - Find Jira operations using natural language

    {"query": "create issue", "limit": 5}
    
  2. get_id - Get operation details and schema

    {"operation_id": "createIssue"}
    
  3. call_id - Execute Jira API operations

    {"operation_id": "createIssue", "parameters": {...}}
    

ā šŸ„ Health Checks

The container includes built-in health checks:

# Check container health status
docker inspect --format='{{.State.Health.Status}}' jira-mcp

# View health check logs
docker logs jira-mcp

ā šŸ” Security Notes

  • Credentials are never logged (automatic redaction)
  • Runs as non-root user (nodejs, UID 1001)
  • Uses OS-native keychains when available
  • Supports read-only root filesystem

ā šŸ“– Full Documentation

ā šŸ› Troubleshooting

⁠Container exits immediately
# Check logs for errors
docker logs jira-mcp

Common causes:

  • Missing JIRA_URL environment variable
  • Invalid authentication credentials
  • Network connectivity issues
⁠Health check failing
# Run health check manually
docker exec jira-mcp node /app/dist/healthcheck.js
⁠Cannot connect to Jira
# Test connectivity from container
docker exec jira-mcp wget -O- https://jira.example.com/status

ā šŸ“œ License

LGPL-3.0 License - see LICENSE⁠

ā šŸ¤ Contributing

Contributions welcome! See CONTRIBUTING.md⁠


Need help? Open an issue on GitHub⁠

Tag summary

Content type

Image

Digest

sha256:ec7524468…

Size

263.8 MB

Last updated

10 months ago

docker pull guerchele/jira-dc-mcp