MCP HubMCP Hub
rahulthedevil

Jira-Context-MCP

by: rahulthedevil

MCP server to provide Jira Tickets information to AI coding agents like Cursor

13created 25/02/2025
Visit
Jira
AI

📌Overview

Purpose: To facilitate seamless interaction between a user's IDE and Jira, enabling automation and efficiency in managing Jira issues through the Cursor framework.

Overview: The Jira Context Model Context Protocol (MCP) is a robust implementation designed for integration with Jira, allowing users to easily access and manage Jira ticket information directly from their development environment. With this framework, developers can enhance their workflows, streamline issue resolution, and automate repetitive tasks.

Key Features:

  • Fetch Issue Details: Quickly retrieve comprehensive information on any specific Jira ticket using a simple command, which helps keep developers informed of all necessary details without navigating away from their workspace.

  • Retrieve Assigned Issues: Automatically list all Jira issues assigned to the user within a specified project, allowing developers to easily track and prioritize their tasks.

  • Filter Issues by Type: Easily segment Jira issues (e.g., Bugs, Stories) and enable targeted action by directing the MCP to assist in fixing items based on specific criteria, thereby improving issue resolution efficiency.

  • Project and Issue Types Listing: Provide commands to list all available Jira projects and issue types, ensuring users have quick access to relevant information and can avoid manual searching.


Jira Context MCP

A Model Context Protocol (MCP) implementation for Jira that allows you to:

  • Input a Jira ticket link to fetch issue details and instruct Cursor to fix it
  • Retrieve all tickets assigned to you within a specified Jira project
  • Filter Jira issues based on a specific issue type and automatically direct Cursor to resolve them
  • Integrate seamlessly with Jira's API for automation and efficiency

Setup

Prerequisites

Installation

Installing via Smithery

To install Jira Context MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @rahulthedevil/Jira-Context-MCP --client claude

Installing manually

  1. Clone this repository:

    git clone https://github.com/yourusername/Jira-Context-MCP.git
    cd Jira-Context-MCP
    
  2. Install dependencies:

    npm install
    # or if you use pnpm
    pnpm install
    
  3. Create a .env file based on the example:

    cp .env.example .env
    
  4. Edit the .env file with your Jira details:

    JIRA_BASE_URL=https://your-domain.atlassian.net
    JIRA_USERNAME=your-email@example.com
    JIRA_API_TOKEN=your-api-token-here
    HTTP_PORT=3000
    

Build

Build the project with:

npm run build
# or
pnpm build

Usage

Starting the Server

Start the HTTP server:

npm start
# or
pnpm start

Or use the CLI mode:

npm run start:cli
# or
pnpm start:cli

Connecting with Cursor

  1. In Cursor, open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
  2. Type "Connect to MCP Server"
  3. Select Connect to MCP Server
  4. Enter the server URL (default: http://localhost:3000/sse)

Available Tools

Once connected, you can use the following tools in Cursor:

1. Get Jira Issue Details

Fetch detailed information about a specific Jira issue:

/get_issue issueKey:PROJECT-123

2. Get Assigned Issues

Retrieve issues assigned to you in a specific project:

/get_assigned_issues projectKey:PROJECT maxResults:10

3. Get Issues by Type

Filter issues by type (Bug, Story, Epic, etc.):

/get_issues_by_type issueType:Bug projectKey:PROJECT maxResults:10

4. Get Projects

List all available projects:

/get_projects

5. Get Issue Types

List all available issue types:

/get_issue_types

6. Get Recent Ticket Changes

Retrieve changes made in tickets over a specified period (e.g., last 7 days) in a project:

/get_recent_changes projectKey:PROJECT maxDays:7

Command Examples

🚀 Jira MCP Server + Cursor IDE = Your AI-powered Jira assistant! Here’s how it helps:

  • List all Jira projects you have access to
    → AI fetches all available projects instantly

  • List all issues in PROJECT
    → AI retrieves all open tickets

  • Filter only Bugs or Change Requests and fix them
    → AI identifies & directs Cursor to resolve them

  • Find all tickets assigned to me and fix them
    → AI pulls your tasks & lets Cursor handle them

  • Get details for Jira issue PROJECT-123
    → AI fetches full issue info in seconds

  • What changed in tickets in the last 7 days in PROJECT?
    → AI tracks recent updates & highlights key changes

🔥 Summary: Your AI now speaks Jira + Cursor! Fetch projects, filter issues, track changes & fix bugs—all inside your IDE.

Example Workflows

Fix a Specific Bug

  1. Connect to the Jira MCP server in Cursor.
  2. Get the issue details:
    /get_issue issueKey:PROJECT-123
    
  3. Review the issue details and instruct Cursor to fix it:
    Fix the bug described in PROJECT-123
    

Work on Your Assigned Issues

  1. Connect to the Jira MCP server in Cursor.
  2. Retrieve your assigned issues:
    /get_assigned_issues projectKey:PROJECT
    
  3. Ask Cursor to help with one of the issues:
    Help me solve the first issue in my assigned list
    

Fix All Bugs in a Project

  1. Connect to the Jira MCP server in Cursor.
  2. Retrieve all bug issues:
    /get_issues_by_type issueType:Bug projectKey:PROJECT
    
  3. Instruct Cursor:
    Help me fix these bugs one by one
    

Review Recent Changes

  1. Connect to the Jira MCP server in Cursor.
  2. Retrieve recent ticket updates:
    /get_recent_changes projectKey:PROJECT maxDays:7
    
  3. Review the changes to stay updated on modifications.

Development

Project Structure

  • src/ - Source code
    • services/ - Jira API service
    • types/ - TypeScript type definitions
    • utils/ - Utility functions
    • server.ts - MCP server implementation
    • index.ts - Application entry point
    • cli.ts - CLI entry point

Adding New Tools

To add new tools, edit src/server.ts and add new tool definitions in the registerTools method.

License

MIT

Author

Rahul Dey - @rahulthedevil