Jira Context MCP Server

Jira Context MCP Server

Integrates Jira with Cursor IDE for AI-powered issue management, sprint tracking, library vulnerability analysis, and MySQL database queries through natural language.

Category
Visit Server

README

Jira Context MCP Server

A powerful Model Context Protocol (MCP) server that integrates Jira with Cursor IDE, enabling AI-powered issue management, sprint tracking, and library vulnerability analysis.

šŸš€ Features

  • Jira Integration: Fetch issue details, manage sprints, track progress
  • Sprint Management: View active sprints, generate reports, analyze backlog
  • Library Vulnerability Analysis: Check Maven/NPM packages for vulnerabilities and upgrade recommendations
  • Database Integration: Query MySQL databases directly from Cursor
  • Smart URL Parser: Paste any Jira board/sprint URL and get instant insights

šŸ“‹ Prerequisites

  • Node.js 20.17.0 or higher
  • A Jira account with API access
  • Jira API token (Generate here)

āš™ļø Installation

  1. Clone the repository:

    git clone https://github.com/Darshancisco/Appd_jira_context_mcp.git
    cd Appd_jira_context_mcp
    
  2. Install dependencies:

    npm install
    
  3. Create .env file:

    cp .env.example .env
    
  4. Configure your .env file:

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

    npm run build
    

šŸƒ Running the Server

Start the MCP server:

npm start

The server will start on http://localhost:3000/sse

šŸ”Œ Connect to Cursor IDE

Method 1: Direct Configuration in mcp.json (Recommended)

  1. Locate your Cursor MCP configuration file:

    • macOS: ~/.cursor/mcp.json
    • Windows: %APPDATA%\.cursor\mcp.json
    • Linux: ~/.cursor/mcp.json
  2. Add the MCP server configuration:

    Edit the mcp.json file and add the following configuration:

    {
      "mcpServers": {  
        "jira-resolution": {
          "command": "node",
          "args": ["/absolute/path/to/Appd_jira_context_mcp/dist/index.js"],
          "cwd": "/absolute/path/to/Appd_jira_context_mcp",
          "env": {
            "JIRA_BASE_URL": "https://your-domain.atlassian.net",
            "JIRA_USERNAME": "your-email@example.com",
            "JIRA_API_TOKEN": "your-api-token-here",
            "DB_TYPE": "mysql",
            "DB_HOST": "localhost",
            "DB_PORT": "3306",
            "DB_USER": "root",
            "DB_PASSWORD": "your-database-password",
            "DB_NAME": "",
            "DB_SSL": "false"
          }
        }
      }
    }
    
  3. Replace the placeholders:

    • "/absolute/path/to/Appd_jira_context_mcp" → Full path to where you cloned the repo
    • "your-domain.atlassian.net" → Your Jira instance URL
    • "your-email@example.com" → Your Jira username/email
    • "your-api-token-here" → Your Jira API token
    • "your-database-password" → Your MySQL password (if using database features)
  4. Save the file and restart Cursor IDE

  5. Verify connection:

    • Open Cursor IDE
    • The MCP server should automatically connect
    • You can verify by typing commands in the chat

Method 2: Using Cursor Settings UI

  1. Open Cursor IDE
  2. Go to Settings → Features → Model Context Protocol
  3. Add a new MCP server with:
    • Name: Jira Context MCP
    • URL: http://localhost:3000/sse (requires server to be running separately)
  4. Click Connect

Method 3: Using Command Palette

  1. Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
  2. Type "Connect to MCP Server"
  3. Enter: http://localhost:3000/sse (requires server to be running separately)

Note: Method 1 (mcp.json) is recommended as it starts the server automatically and doesn't require running npm start separately.

šŸ› ļø Available Tools

Once connected, you can use these tools in Cursor:

Jira Issue Management

  • get_issue - Get detailed information about a Jira issue
  • get_assigned_issues - Get issues assigned to you
  • get_issues_by_type - Filter issues by type (Bug, Story, Epic, etc.)
  • get_projects - List all available Jira projects
  • get_issue_types - List all issue types

Sprint & Board Management

  • analyze_jira_url - Parse any Jira URL (board/sprint/issue)
  • get_boards - List all agile boards
  • get_sprints - Get sprints for a board
  • get_sprint_issues - Get all issues in a sprint
  • get_backlog - Get backlog issues
  • get_sprint_report - Generate comprehensive sprint report

Library Vulnerability Tools

  • check_maven_library - Check Maven library for vulnerabilities
  • check_npm_library - Check NPM package for vulnerabilities
  • analyze_dependencies - Analyze project dependencies
  • recommend_upgrade - Get smart upgrade recommendations
  • get_github_release_notes - Fetch release notes for library upgrades
  • find_library_usage - Find where a library is used in codebase

Database Tools

  • list_databases - List all MySQL databases
  • list_db_tables - List tables in a database
  • get_table_schema - Get table structure
  • query_database - Execute SQL queries
  • search_table - Search across table columns

šŸ’” Example Usage

Analyze Your Sprint Board

Analyze my sprint board: https://jira.corp.appdynamics.com/secure/RapidBoard.jspa?rapidView=2823

Check Library Vulnerability

Check if org.springframework:spring-core version 5.3.0 has any vulnerabilities

Get Assigned Issues

Show me all issues assigned to me in project ABC

Sprint Report

Generate sprint report for board 2823

šŸ“ Project Structure

.
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts              # Application entry point
│   ā”œā”€ā”€ server.ts             # MCP server implementation
│   ā”œā”€ā”€ cli.ts                # CLI interface
│   ā”œā”€ā”€ services/             # Core services
│   │   ā”œā”€ā”€ jira.ts           # Jira API integration
│   │   ā”œā”€ā”€ libraryManager.ts # Library vulnerability analysis
│   │   ā”œā”€ā”€ DatabaseService.ts # MySQL integration
│   │   └── ...
│   ā”œā”€ā”€ types/                # TypeScript type definitions
│   └── utils/                # Utility functions
ā”œā”€ā”€ dist/                     # Compiled JavaScript (generated)
ā”œā”€ā”€ package.json              # Dependencies
ā”œā”€ā”€ tsconfig.json             # TypeScript config
└── .env                      # Environment variables (create this)

šŸ”§ Development

Run in development mode:

npm run dev

Build:

npm run build

Type checking:

npm run type-check

šŸ› Troubleshooting

Server won't start

  • Ensure Node.js version is 20.17.0 or higher: node --version
  • Check if port 3000 is available
  • Verify .env file is configured correctly (if using Method 2/3)
  • Run npm run build to ensure the dist/ folder exists

Can't connect in Cursor

  • If using mcp.json: Make sure the paths are absolute and correct
  • If using HTTP mode: Make sure the server is running (npm start)
  • Verify the URL is http://localhost:3000/sse
  • Check Cursor's MCP connection settings
  • Restart Cursor IDE after modifying mcp.json

Jira API errors

  • Verify your API token is valid
  • Ensure JIRA_BASE_URL matches your Jira instance
  • Check your Jira account has necessary permissions
  • Make sure there are no extra spaces in your credentials

MCP server not showing tools

  • Run npm run build to compile TypeScript
  • Check console for error messages
  • Verify all environment variables are set correctly

šŸ”’ Security Note

Important: The mcp.json file contains sensitive credentials (API tokens, database passwords).

  • Keep your mcp.json file secure and never commit it to version control
  • The mcp.json file is stored locally on your machine
  • Only you have access to these credentials
  • Generate API tokens with minimum required permissions

šŸ“„ License

MIT License

šŸ‘¤ Author

Darshan Hanumanthappa

šŸ™ Acknowledgments

Built for AppDynamics engineering team to streamline Jira workflow integration with Cursor IDE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured