Skip to main content
Glama

Jira MCP Server

by brukhabtu

Jira MCP Server

A Jira MCP server that uses FastMCP 2.0's OpenAPI integration to expose Jira functionality through the Model Context Protocol (MCP).

Features

  • OpenAPI integration - Generates MCP tools from Jira's API specification
  • Secure authentication - Uses Jira API tokens
  • Multiple transports - Support for stdio, HTTP, and SSE protocols
  • Security filtering - Only exposes read-only endpoints by default
  • Type-safe - Built with Python type hints and Pydantic models

Quick Start

1. Setup Jira API Token

  1. Go to Atlassian Account Settings
  2. Create an API token
  3. Note your Jira instance URL (e.g., https://yourcompany.atlassian.net)

2. Configure Environment

# Copy and customize the environment file cp .env .env.local # Edit .env.local with your Jira credentials and preferred configuration

Required variables:

  • JIRA_BASE_URL: Your Jira instance URL
  • JIRA_API_USER: Your Jira username/email
  • JIRA_API_TOKEN: Your API token
  • MCP_ROUTE_CONFIG_PATH: Path to route configuration file
  • MCP_ROUTE_CONFIG_NAME: Configuration name to use
docker run -e JIRA_BASE_URL=https://yourcompany.atlassian.net \ -e JIRA_API_USER=your-email@company.com \ -e JIRA_API_TOKEN=your-api-token \ ghcr.io/brukhabtu/jira-mcp:latest

How It Works

The server:

  1. Downloads Jira's OpenAPI specification
  2. Generates MCP tools for Jira API endpoints
  3. Authenticates requests using your API token
  4. Applies security filtering to expose only safe operations

Available functionality:

  • Issue reading and search
  • Project information
  • User and team data
  • Agile boards and sprints
  • Dashboards and filters

Configuration

Environment Variables

VariableRequiredDefaultDescription
JIRA_BASE_URL-Your Jira instance URL (e.g., https://company.atlassian.net)
JIRA_API_USER-Your Jira username/email address
JIRA_API_TOKEN-Your Jira API token
JIRA_TIMEOUT30HTTP timeout in seconds
JIRA_OPENAPI_SPEC_PATHbundledPath to custom OpenAPI spec file
MCP_TRANSPORTstdioTransport method (stdio, http, sse)
MCP_PORT8000Port for HTTP/SSE transports
MCP_LOG_LEVELINFOLogging level (DEBUG, INFO, WARNING, ERROR)
MCP_ENABLE_SECURITY_FILTERINGtrueEnable security filtering (blocks destructive operations)

Command Line Options

jira-mcp [OPTIONS] Options: --transport {stdio,http,sse} Transport method (overrides MCP_TRANSPORT env var) --port PORT Port for HTTP/SSE transport (overrides MCP_PORT env var) --version Show version and exit --help Show help message

Integration with MCP Clients

Add to your Claude Desktop configuration:

{ "mcpServers": { "jira": { "command": "docker", "args": [ "run", "--rm", "-i", "--env", "JIRA_BASE_URL=https://yourcompany.atlassian.net", "--env", "JIRA_API_USER=your-email@company.com", "--env", "JIRA_API_TOKEN=your-api-token", "ghcr.io/brukhabtu/jira-mcp:latest" ] } } }

For enhanced security, set credentials as environment variables in your shell profile:

export JIRA_BASE_URL="https://yourcompany.atlassian.net" export JIRA_API_USER="your-email@company.com" export JIRA_API_TOKEN="your-api-token"

Then use:

{ "mcpServers": { "jira": { "command": "docker", "args": [ "run", "--rm", "-i", "--env", "JIRA_BASE_URL", "--env", "JIRA_API_USER", "--env", "JIRA_API_TOKEN", "ghcr.io/brukhabtu/jira-mcp:latest" ] } } }

Development

# Install dependencies uv sync # Run tests uv run pytest # Type checking and linting uv run mypy jira_mcp/ uv run ruff check . uv run ruff format .

Architecture

  • jira_mcp/config.py: Pydantic models with environment variable loading
  • jira_mcp/auth.py: HTTP client with Jira Basic Auth
  • jira_mcp/server.py: FastMCP integration with OpenAPI spec fetching
  • jira_mcp/__main__.py: CLI interface with environment-based configuration

Troubleshooting

Common Issues

"Configuration error" on startup: Check that all required environment variables (JIRA_BASE_URL, JIRA_API_USER, JIRA_API_TOKEN) are set.

Authentication errors: Verify your API token is correct and your email matches your Jira account.

Connection timeout: Check your JIRA_BASE_URL is correct and accessible. Increase JIRA_TIMEOUT if needed.

Claude Desktop not finding server: Ensure environment variables are available to GUI applications (may require restart or launchctl setenv on macOS).

Getting Help

  • Check the CLAUDE.md file for development guidance
  • Review test files for usage examples
  • Run jira-mcp --help for command line options

Security

Security Filtering

Default Security Model:

  • Blocks all destructive operations (POST, PUT, PATCH, DELETE)
  • Allows only safe read-only GET endpoints
  • Default deny for everything else

Endpoints Exposed:

  • Issue reading and search
  • Project metadata
  • User and team information
  • Agile boards and sprint data
  • Dashboards and saved filters
  • System information and field metadata

Configuration:

# Default: Security filtering enabled MCP_ENABLE_SECURITY_FILTERING=true # Disable filtering (exposes all endpoints) MCP_ENABLE_SECURITY_FILTERING=false # Use with caution

Additional Security Measures

  • API tokens are stored in environment variables, never in code or config files
  • All HTTP requests use TLS encryption
  • No sensitive data is logged or exposed
  • Follows OAuth 2.0 and Atlassian security best practices

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A production-ready server that automatically exposes your entire Jira instance through the Model Context Protocol, allowing seamless interaction with Jira's API features including issue management, project administration, and user management.

  1. Features
    1. Quick Start
      1. Setup Jira API Token
      2. Configure Environment
      3. Run with Docker (Recommended)
    2. How It Works
      1. Configuration
        1. Environment Variables
        2. Command Line Options
      2. Integration with MCP Clients
        1. Claude Desktop (Recommended)
      3. Development
        1. Architecture
      4. Troubleshooting
        1. Common Issues
        2. Getting Help
      5. Security
        1. Security Filtering
        2. Additional Security Measures
      6. License

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A server implementation that allows AI models to interact with Jira through the Model Context Protocol, enabling tasks like JQL searches and retrieving issue details.
          Last updated -
          Python
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that provides integration with Jira, allowing Large Language Models to interact with Jira projects, boards, sprints, and issues through natural language.
          Last updated -
          5
          87
          2
          TypeScript
          MIT License
          • Apple
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that enables interaction with Jira's REST API using natural language commands, allowing users to manage Jira projects, issues, comments, and workflows through Claude Desktop and other MCP clients.
          Last updated -
          10
          1
          Python
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Simple Model Context Protocol server that enables AI assistants to interact with Jira, allowing operations like fetching tickets, adding comments, and updating ticket status.
          Last updated -
          1
          Python
          Apache 2.0

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/brukhabtu/jira-mcp'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server