J

Jira-MCP-Server

...
Created 12/19/2024byGeorge5562

Language:

JavaScript

Stars:

17

Forks:

5

Jira MCP Server

Speak to Jira in natural language to get information on and modify your project. Use it with Claude Desktop in combination with a custom README that you will create with project information, so that you can delegate PM tasks, (e.g. given yoou have a list of my team and their specialities, assign any new issue to the most relevant person).

Built using the Model Context Protocol.

The server enables:

  • Project creation and configuration
  • Issue and subtask management
  • Issue linking and dependencies
  • Automated issue workflows

Configuration

Required environment variables:

Available Tools

1. User Management

// Get user's account ID by email
{
  email: "user@example.com";
}

2. Issue Type Management

// List all available issue types
// Returns: id, name, description, subtask status
// No parameters required

3. Issue Link Types

// List all available issue link types
// Returns: id, name, inward/outward descriptions
// No parameters required

4. Issue Management

Retrieving Issues

// Get all issues in a project
{
  projectKey: "PROJECT"
}

// Get issues with JQL filtering
{
  projectKey: "PROJECT",
  jql: "status = 'In Progress' AND assignee = currentUser()"
}

// Get issues assigned to user
{
  projectKey: "PROJECT",
  jql: "assignee = 'user@example.com' ORDER BY created DESC"
}

Creating Issues

// Create a standard issue
{
  projectKey: "PROJECT",
  summary: "Issue title",
  issueType: "Task",  // or "Story", "Bug", etc.
  description: "Detailed description",
  assignee: "accountId",  // from get_user tool
  labels: ["frontend", "urgent"],
  components: ["ui", "api"],
  priority: "High"
}


            
        
            
                // Create a subtask
{
  parent: "PROJECT-123",
  projectKey: "PROJECT",
  summary: "Subtask title",
  issueType: "Subtask",
  description: "Subtask details",
  assignee: "accountId"
}

Updating Issues

// Update issue fields
{
  issueKey: "PROJECT-123",
  summary: "Updated title",
  description: "New description",
  assignee: "accountId",
  status: "In Progress",
  priority: "High"
}

Issue Dependencies

// Create issue link
{
  linkType: "Blocks",  // from list_link_types
  inwardIssueKey: "PROJECT-124",  // blocked issue
  outwardIssueKey: "PROJECT-123"  // blocking issue
}

Deleting Issues

// Delete single issue
{
  issueKey: "PROJECT-123"
}

// Delete issue with subtasks
{
  issueKey: "PROJECT-123",
  deleteSubtasks: true
}

// Delete multiple issues
{
  issueKeys: ["PROJECT-123", "PROJECT-124"]
}

Field Formatting

Description Field

The description field supports markdown-style formatting:

  • Use blank lines between paragraphs
  • Use "- " for bullet points
  • Use "1. " for numbered lists
  • Use headers ending with ":" (followed by blank line)

Example:

Task Overview:

This task involves implementing new features:
- Feature A implementation
- Feature B testing

Steps:
1. Design component
2. Implement logic
3. Add tests

Acceptance Criteria:
- All tests passing
- Documentation updated

Error Handling

The server provides detailed error messages for:

  • Invalid issue keys
  • Missing required fields
  • Permission issues
  • API rate limits

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. Install dependencies:

    npm install
    
  3. Configure environment variables: Create a .env file in the root directory:

    JIRA_HOST=your-instance.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your-api-token
    
             4. Build the project:
    
    npm run build
    
  4. Start the server:

    npm start
    

Configuring Claude Desktop

To use this MCP server with Claude Desktop:

  1. Locate your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add the Jira MCP server to your configuration:

    {
      "mcp_servers": [
        {
          "name": "jira-server",
          "command": "npm start",
          "cwd": "/path/to/jira-server",
          "env": {
            "JIRA_HOST": "your-instance.atlassian.net",
            "JIRA_EMAIL": "your-email@example.com",
            "JIRA_API_TOKEN": "your-api-token"
          }
        }
      ]
    }
    

    Replace /path/to/jira-server with the absolute path to your cloned repository.

  3. Restart Claude Desktop to apply the changes.

References

Last updated: 3/2/2025

Publisher info

George5562's avatar

George Stephens

4
followers
6
following
9
repos

More MCP servers built with JavaScript

emergency-medicare-planner-mcp-server

emergency-medicare-planner-mcp-server

By manolaz1
mcp-warpcast-server

MCP Server for Warpcast integration

By zhangzhongnan9281
mcp-tavily-server

Tavily MCP Server for Cline

By dkmaker1