Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

Jira-MCP-Server

MCP.Pizza Chef: George5562

Jira-MCP-Server is an MCP server that facilitates seamless natural language communication with Jira, allowing users to manage projects, issues, and workflows efficiently. It supports project creation, issue and subtask management, issue linking, and automated workflows. By integrating with tools like Claude Desktop and custom project READMEs, it enables delegation of project management tasks such as assigning issues based on team member specialties. Configuration requires Jira instance credentials and API tokens, making it a powerful tool for enhancing Jira's accessibility and automation through conversational AI.

Use This MCP server To

Create and configure Jira projects via natural language Manage Jira issues and subtasks conversationally Link issues and define dependencies automatically Automate Jira issue workflows and transitions Assign issues to team members based on specialties Retrieve Jira user account IDs by email Integrate Jira project data with AI copilots

README

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:

  • JIRA_HOST: Your Jira instance hostname
  • JIRA_EMAIL: Your Jira account email
  • JIRA_API_TOKEN: API token from https://id.atlassian.com/manage-profile/security/api-tokens

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
  5. 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

Jira-MCP-Server FAQ

How do I configure Jira-MCP-Server to connect to my Jira instance?
Set the environment variables JIRA_HOST, JIRA_EMAIL, and JIRA_API_TOKEN with your Jira hostname, account email, and API token respectively.
Can Jira-MCP-Server assign issues to team members automatically?
Yes, it can assign new issues to the most relevant team member based on provided team specialties and project data.
What kind of Jira operations can I perform with Jira-MCP-Server?
You can create projects, manage issues and subtasks, link issues, define dependencies, and automate workflows.
Is Jira-MCP-Server compatible with multiple LLM providers?
Yes, it works with models like Claude, OpenAI's GPT, and Gemini when integrated through MCP clients.
How does Jira-MCP-Server handle user identification?
It can retrieve Jira user account IDs by email to facilitate user-specific operations.
Do I need to write custom code to use Jira-MCP-Server?
No, it is designed to work via natural language commands through MCP clients, minimizing the need for manual coding.
Can I customize the project information used by Jira-MCP-Server?
Yes, by creating a custom README with your project details, you can enhance the server's ability to delegate tasks effectively.
What security measures are required for Jira-MCP-Server?
Secure storage of your Jira API token and credentials is essential, as these are used for authenticating API requests.