Skip to main content

MCP server for Jira integration

Project description

MCP Jira Tools

Installation (via PyPI)

Install the MCP Jira Tools package from PyPI:

pip install mcp-jira-tools

If you use a virtual environment (recommended):

python3 -m venv .venv
source .venv/bin/activate
pip install mcp-jira-tools

Using with Cursor AI

  1. Register the MCP Server with Cursor

    Add the following to your ~/.cursor/mcp.json configuration file:

    {
      "mcpServers": {
        "jira-mcp": {
          "command": "python",
          "args": ["-m", "mcp_jira_tools.server"],
          "env": {
            "JIRA_SERVER_URL": "https://your-jira-instance.com",
            "JIRA_TOKEN": "your_jira_token",
            "JIRA_PROJECT_KEY": "your-project"
          }
        }
      }
    }
    
  2. Start Cursor

    • Open Cursor and ensure the MCP server is registered.
    • Jira tools will be available in the Cursor tool interface.
  3. No Session Management Needed

    • Stdio transport is used; each Cursor session is a single process.
    • No session IDs or session-specific error messages are required.

Overview

A FastMCP server that exposes tools for creating, updating, transitioning, searching, and retrieving Jira tickets. Designed for integration with Cursor AI using FastMCP's stdio transport.


Features

  • FastMCP server with Streamable HTTP transport
  • Full Jira integration (create, update, transition, search, get tickets)
  • Pydantic models for parameter validation
  • Multiple configuration methods
  • Secure credential management
  • Comprehensive error handling
  • Easy integration with Cursor AI

Getting Started

1. Install Dependencies

pip install fastmcp jira pydantic

2. Configure Jira Settings

You can configure Jira settings in multiple ways:

A. Cursor MCP Configuration (Recommended)

Add Jira settings to your Cursor MCP configuration file (~/.cursor/mcp.json):

{
  "mcpServers": {
    "jira-mcp": {
      "command": "python",
      "args": ["-m", "mcp_jira_tools.server"],
      "env": {
        "JIRA_SERVER_URL": "https://your-jira-instance.com",
        "JIRA_TOKEN": "your_jira_token",
        "JIRA_PROJECT_KEY": "your-project"
      }
    }
  }
}

This configuration:

  • Defines a server named "jira-mcp"
  • Runs the server using Python
  • Sets Jira configuration via environment variables
  • Cursor will automatically start the server when needed

B. Environment Variables

export JIRA_SERVER_URL="https://your-jira-instance.com"
export JIRA_TOKEN="your-token"
export JIRA_PROJECT_KEY="your-project"  # optional

C. Runtime Configuration

Use the configure_jira tool to set configuration at runtime:

from fastmcp import FastMCP

mcp = FastMCP()
result = await mcp.invoke(
    "configure_jira",
    {
        "server_url": "https://your-jira-instance.com",
        "token": "your-token",
        "project_key": "your-project"
    }
)

3. Using the Tools

Example: Create a Ticket

from fastmcp import FastMCP

mcp = FastMCP()
result = await mcp.invoke(
    "create_ticket",
    {
        "project": "PROJ",
        "summary": "Test issue",
        "description": "Created by test",
        "issuetype": "Task"
    }
)

Example: Search Tickets

from fastmcp import FastMCP

mcp = FastMCP()
result = await mcp.invoke(
    "search_tickets",
    {
        "project": "PROJ",
        "status": "Open",
        "assignee": "currentUser()",
        "summary": "Test"
    }
)

4. Available Tools

Resource Endpoints

  • resource://jira/metadata - Server metadata and supported operations
  • resource://jira/config - Server configuration

Tool Endpoints

  • create_ticket - Create a new Jira ticket
  • update_ticket - Update an existing ticket
  • transition_ticket - Change ticket status
  • search_tickets - Search for tickets
  • get_ticket - Get ticket details
  • configure_jira - Configure Jira settings

5. Development

Project Structure

mcp-jira-tools/
├── mcp_jira_tools/
│   ├── __init__.py
│   ├── server.py         # FastMCP server and tool definitions
│   ├── jira_client.py    # Jira client abstraction
│   └── config.py         # Configuration management
├── tests/
│   ├── __init__.py
│   ├── test_mcp_jira_tools.py
│   └── mock_jira_server.py
├── requirements.txt
└── README.md

Running Tests

pytest tests/

Running the Server

python -m mcp_jira_tools.server

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests
  5. Submit a pull request

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_jira_tools-0.1.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_jira_tools-0.1.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_jira_tools-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_jira_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for mcp_jira_tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7daaf2031f974ced3cf460a593389d3ff6036be41b9b9f5bd552024a74d06e47
MD5 e89c2392591ac6f7fd811e4b95aec4f9
BLAKE2b-256 6ba6bec49db39cffd80b39210d733ce1cd6c24b3cf30f834784abeb8732e2743

See more details on using hashes here.

File details

Details for the file mcp_jira_tools-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_jira_tools-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for mcp_jira_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 182f55281d7e287d0b32939abc47ec431906903e09a8b7161e0f630ea350d37b
MD5 7aad6d9ab0ac33bdd64f76dc6312422a
BLAKE2b-256 282c53826ca1d98e75fd77f4654d6bff64c1d6cc19ef2b3165a5820bf7f2212a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page