MCP Jira Server for Claude Code

MCP Jira Server for Claude Code

A full-featured Model Context Protocol server for integrating Jira with Claude Code.

5
Stars
5
Forks
5
Watchers
3
Issues
Provides a comprehensive MCP server enabling seamless integration of Jira functionalities with Claude Code. Supports issue management, sprint operations, comments, attachments, batch processing, and agile workflows via a standardized protocol for model context. Designed for secure, environment-based configuration and optimized for both individual and batch operations within Jira.

Key Features

Comprehensive Jira issue management (create, update, search, transition, link)
Sprint and agile management with board and sprint operations
Comments and change history retrieval, including batch comment operations
Attachment upload and metadata extraction
Standardized resource endpoints for projects, issues, and user info
Batch processing support for multiple issues
Custom field handling and diagnostics
Prompt-based automated reporting (standup, sprint planning, etc.)
Secure environment-variable-based configuration
Advanced JQL search capabilities

Use Cases

Automating Jira ticket creation and updates from Claude Code
Generating and sending daily standup or sprint reports
Batch commenting on multiple Jira issues for release or triage
Managing agile sprints and boards remotely
Uploading and retrieving attachments via API
Linking related issues and managing dependencies programmatically
Extracting project, issue, or user details for AI-driven workflows
Diagnosing and mapping custom fields for Jira integrations
Enabling AI-powered bug triage and prioritization
Generating release notes based on completed Jira issues

README

MCP Jira Server fo Claude Code

A comprehensive Model Context Protocol (MCP) server for Jira integration with Claude Code. This server provides complete Jira functionality including issue management, sprint operations, comments, attachments, and batch processing.

License: MIT TypeScript Node.js

⚠️ Security Note: Never commit your API tokens! All credentials should be in .env files or environment variables.

🚀 Features

📋 Issue Management (12 tools)

  • create-issue - Create issues with full field support including custom fields and dates
  • update-issue - Update existing issues with smart field handling
  • get-issue - Retrieve detailed issue information
  • search-issues - Advanced search using JQL or simplified filters with date support
  • transition-issue - Move issues through workflow states
  • link-issues - Create relationships between issues (with smart type matching)
  • get-link-types - List available issue link types
  • get-fields - Show available fields for project/issue type
  • diagnose-fields - Troubleshoot field configuration and find custom field IDs
  • create-epic-with-subtasks - Create epic with multiple subtasks in one operation
  • create-task-for-epic - Create task linked to epic (optimized for localized Jira)

💬 Comments & History (3 tools)

  • get-comments - Read issue comments with author and timestamp information
  • get-history - View detailed change history with field modifications
  • add-comment - Add comments with Atlassian Document Format support
  • batch-comment - Add same comment to multiple issues simultaneously

📎 Attachments (2 tools)

  • get-attachments - List attachments with metadata (size, type, upload date)
  • upload-attachment - Upload files using base64 encoding

🏃 Sprint & Agile Management (4 tools)

  • get-boards - List available Jira boards for agile projects
  • get-sprints - View sprints for a board with status indicators
  • move-issue-to-sprint - Move issues between sprints and backlog
  • create-sprint - Create new sprints with optional start/end dates

Resources

  • jira://projects - List all accessible projects
  • jira://project/{key} - Get specific project details
  • jira://issue/{key} - Get specific issue details
  • jira://myself - Current user information
  • jira://search?jql={query} - Search results

Prompts

  • standup-report - Generate daily standup reports
  • sprint-planning - Assist with sprint planning activities
  • bug-triage - Help prioritize and triage bugs
  • release-notes - Generate release notes from completed issues
  • epic-status - Comprehensive epic progress reports

Installation

  1. Clone the repository:
bash
git clone https://github.com/tom28881/JIRA_MCP.git
cd JIRA_MCP
  1. Install dependencies:
bash
npm install
  1. Build the project:
bash
npm run build
  1. Create a .env file from the example:
bash
cp .env.example .env
  1. Configure your Jira credentials in .env:
env
JIRA_HOST=https://your-company.atlassian.net
JIRA_EMAIL=your-email@company.com
JIRA_API_TOKEN=your-api-token
JIRA_DEFAULT_PROJECT=PROJ

Getting a Jira API Token

  1. Log in to Atlassian account settings
  2. Click "Create API token"
  3. Give it a name (e.g., "MCP Server")
  4. Copy the token and add it to your .env file

Claude Code Configuration

To use this MCP server with Claude Code, you need to configure it in your MCP settings.

Option 1: Using Environment Variables

Set up the server with environment variables:

bash
# Export environment variables
export JIRA_HOST="https://your-company.atlassian.net"
export JIRA_EMAIL="your-email@company.com"
export JIRA_API_TOKEN="your-api-token"
export JIRA_DEFAULT_PROJECT="PROJ"

# Run Claude Code with the MCP server
claude --mcp "node /absolute/path/to/mcp-jira-server/dist/index.js"

Option 2: Using .env File

Create a .env file in the server directory and run:

bash
cd /path/to/mcp-jira-server
claude --mcp "node dist/index.js"
# or use the convenient run script:
claude --mcp "./run.sh"

Option 3: Add to Claude Code Settings

Add the server to your Claude Code settings file (~/.claude/settings.json):

json
{
  "mcpServers": [
    {
      "name": "jira",
      "command": "node",
      "args": ["/absolute/path/to/mcp-jira-server/dist/index.js"],
      "env": {
        "JIRA_HOST": "https://your-company.atlassian.net",
        "JIRA_EMAIL": "your-email@company.com",
        "JIRA_API_TOKEN": "your-api-token",
        "JIRA_DEFAULT_PROJECT": "PROJ"
      }
    }
  ]
}

Usage Examples

Creating Issues

Create a new bug in project PROJ with high priority about login issues
Create a story "Implement user authentication" with 5 story points and assign it to john@example.com

Setting Dates and Time Estimates

Create task "Database backup" with dueDate "next week" and originalEstimate "4h"
Update PROJ-123 with startDate "tomorrow" and dueDate "+14d"
Create issue "Quarterly review" with dueDate "31.3.2025" and originalEstimate "2 days"

Creating Epics with Subtasks

Create an epic "Database Migration" in project PROJ with subtasks "Backup current data" and "Migrate schema"

Creating Subtasks

Create a subtask "Review code" for parent issue PROJ-123

Czech Jira Support

Create issue type "Úkol" in project PROJ
Create task for epic PPC-48 with summary "Database backup"

Searching Issues

Find all open bugs assigned to me
Search for issues in project PROJ with label "urgent" that are not done

Date-based Searching

Search issues due before "next week" in project PROJ
Find issues created after "2024-12-01" and updated after "yesterday"
Search for overdue issues: dueBefore "today" and status != "Done"

Managing Issues

Update PROJ-123 to add story points 8
Transition PROJ-456 to "In Progress"
Link PROJ-123 to PROJ-456 as "blocks"

Note: Epic-Story relationships use the epicLink field, not regular issue links:

Update PROJ-456 with epicLink "PROJ-100"  # Links story to epic

Using Prompts

Generate a standup report for john@example.com
Help me plan the sprint for project PROJ
Create release notes for version 2.0 in project PROJ

Advanced Configuration

Custom Fields

The server can work with any Jira configuration:

Option 1: Auto-Detection (Recommended)

Leave custom field IDs unset in .env and the server will automatically detect them based on field names.

Option 2: Manual Configuration

If auto-detection doesn't work, configure custom field IDs in your .env:

env
JIRA_FIELD_STORY_POINTS=customfield_10001
JIRA_FIELD_ACCEPTANCE_CRITERIA=customfield_10002
JIRA_FIELD_EPIC_LINK=customfield_10003

Finding Field IDs

Use the diagnose-fields tool to find the correct field IDs for your Jira instance:

diagnose-fields project:"PROJ" issueType:"Story"

Auto-create Test Tickets

Enable automatic test ticket creation for stories:

env
AUTO_CREATE_TEST_TICKETS=true

Development

Running in Development Mode

bash
npm run dev

Type Checking

bash
npm run typecheck

Linting

bash
npm run lint

Features

🌍 Localization Support

  • Automatic support for localized Jira instances (Czech, English, etc.)
  • Issue type names can be in any language (e.g., "Task", "Úkol", "Aufgabe")
  • Priority names support localization (e.g., "High", "Vysoká", "Hoch")
  • Special support for Czech Jira configurations
  • Works with any Jira language setting

📅 Date and Time Management

  • Flexible date input formats:
    • ISO: "2024-12-31"
    • European: "31.12.2024" or "31/12/2024"
    • Relative: "today", "tomorrow", "next week", "+7d", "+2w", "+1m"
    • Czech: "dnes", "zítra", "příští týden"
  • Time tracking support:
    • Estimates: "2h", "1d 4h", "3 days", "2 hodiny"
    • Automatic format conversion
  • Date-based searching and filtering

🔄 Automatic Retry

The server automatically retries failed requests with exponential backoff (up to 3 attempts).

📦 Robust Error Handling

  • Empty response handling for Jira transitions
  • Detailed error messages with context
  • Graceful degradation for missing features

📝 Comprehensive Logging

Enable debug logging to see detailed information:

bash
DEBUG=* claude --mcp "./run.sh"
# or specific to jira-mcp:
DEBUG=jira-mcp claude --mcp "./run.sh"

🔒 Connection Testing

The server tests the connection on startup and provides clear error messages if authentication fails.

📄 Atlassian Document Format

Automatically converts plain text and markdown to Jira's ADF format for rich text fields.

Troubleshooting

Working with Different Jira Configurations

This MCP server is designed to work with any Jira instance regardless of:

  • Language settings (English, Czech, German, etc.)
  • Custom field configurations
  • Project-specific settings

Best Practices:

  1. Use get-fields to see available issue types in your language
  2. Use diagnose-fields to find custom field IDs
  3. Create issues using the exact issue type names from your Jira

Common Issues

  1. Authentication Failed

    • Verify your API token is correct
    • Ensure your email matches your Atlassian account
    • Check that your Jira instance URL includes https://
  2. Project Not Found

    • Verify you have access to the project
    • Check the project key is correct (case-sensitive)
  3. Custom Fields Not Working

    • Use diagnose-fields tool to find the correct field IDs for your project
    • Use get-fields tool to see all available fields
    • Custom field IDs typically start with customfield_
    • Some fields may not be available for certain issue types (e.g., labels on Epics)
    • Epic Link field ID varies between Jira instances
  4. Link Type Not Found

    • Use get-link-types tool to see available link types
    • Link types are case-sensitive in Jira API
    • The server will try to match case-insensitively
    • Epic-Story relationships use epicLink field, not regular issue links
  5. Epic-Story Linking Issues

    • Run diagnose-fields for project and "Story" issue type
    • Update JIRA_FIELD_EPIC_LINK in .env with the correct field ID
    • Restart the MCP server after updating .env

Debug Mode

Set the DEBUG environment variable for verbose logging:

bash
DEBUG=* claude --mcp "./run.sh"
# or
DEBUG=jira-mcp claude --mcp "./run.sh"

View Logs

Logs are output to stderr and include:

  • Connection status
  • API requests and responses
  • Error details with context
  • Performance metrics

Contributing

See CONTRIBUTING.md for development guidelines.

License

MIT License - see LICENSE file for details

Support

For issues and feature requests, please use the GitHub issue tracker.

Star History

Star History Chart

Repository Owner

tom28881
tom28881

User

Repository Details

Language TypeScript
Default Branch main
Size 128 KB
Contributors 1
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
93.44%
JavaScript
4.73%
Shell
1.83%

Tags

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Jira Communication Server MCP Server

    Jira Communication Server MCP Server

    A TypeScript-based MCP server for seamless Jira interactions

    Jira Communication Server MCP Server enables integration with Jira by exposing standardized tools for querying, creating, editing, and managing Jira issues via the Model Context Protocol. It supports a wide range of Jira operations, including executing JQL queries, managing tickets, handling attachments, assigning tickets, and interacting with Jira projects and statuses. The server is designed for use in environments supporting the MCP, such as Claude Desktop, and provides debugging utilities for MCP communication.

    • 25
    • MCP
    • KS-GEN-AI/jira-mcp-server
  • MCP Miro Server

    MCP Miro Server

    Miro board integration for AI assistants via Model Context Protocol.

    MCP Miro Server provides a standardized MCP server interface to the Miro platform, enabling AI assistants to access and manage Miro boards programmatically. It supports a wide range of board and item operations, including creating, listing, updating, and deleting boards and their contents. Secure OAuth token access ensures integration with users’ Miro accounts. Designed to work seamlessly with AI tools like Claude Desktop, it allows efficient and automated Miro workspace management.

    • 57
    • MCP
    • k-jarzyna/mcp-miro
  • AtomGit MCP Server

    AtomGit MCP Server

    AI-powered management and automation of AtomGit repositories via the Model Context Protocol.

    AtomGit MCP Server implements the Model Context Protocol to enable AI-driven management and automation of AtomGit open collaboration platform repositories. It offers methods for managing repositories, issues, pull requests, branches, and labels, allowing seamless AI interaction with AtomGit. The server supports integration with platforms like Claude and VSCode, providing a standardized interface for AI to orchestrate complex collaboration workflows. Built with Node.js and easily deployable via npx or from source, it focuses on expanding collaborative capabilities using AI agents.

    • 7
    • MCP
    • kaiyuanxiaobing/atomgit-mcp-server
  • mcp-miro

    mcp-miro

    Model Context Protocol server for integrating MIRO Whiteboard with AI workflows.

    mcp-miro is a Model Context Protocol (MCP) compliant server that connects the MIRO Whiteboard Application to AI-based systems, such as Claude Desktop. It enables board manipulation, sticky note creation, bulk operations, and more through standardized MCP interfaces. Users can authenticate via OAuth and interact with MIRO boards programmatically for collaborative whiteboarding and automation tasks. The server can be installed using Smithery or mcp-get and supports debugging with the MCP Inspector.

    • 97
    • MCP
    • evalstate/mcp-miro
  • Azure DevOps MCP Server

    Azure DevOps MCP Server

    Standardized AI access to Azure DevOps via Model Context Protocol.

    Implements the Model Context Protocol (MCP) to enable AI assistants to securely and efficiently interact with Azure DevOps resources. Provides a standardized bridge for managing projects, work items, repositories, pull requests, and pipelines through natural language interfaces. Supports modular authentication and a feature-based architecture for scalability and integration. Facilitates seamless integration with AI tools such as Claude Desktop and Cursor AI.

    • 306
    • MCP
    • Tiberriver256/mcp-server-azure-devops
  • GitLab MR MCP

    GitLab MR MCP

    An MCP server for AI-powered interaction with GitLab merge requests and issues.

    GitLab MR MCP implements a server for the Model Context Protocol (MCP) enabling AI agents to perform structured interactions with GitLab repositories. It provides capabilities for reading merge request and issue details, listing projects, fetching diffs and comments, and making changes such as commenting or updating titles and descriptions. Installation is supported via Smithery or manually, and integration with MCP clients and Inspector tools is documented for development and troubleshooting.

    • 65
    • MCP
    • kopfrechner/gitlab-mr-mcp
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results