Jira

Integrates with
Jira

Jira MCP Server

NPM Version NPM Downloads License: MIT

A Model Context Protocol Server for Jira.

Provides integration with Jira through MCP, allowing LLMs to interact with it.

Jira REST Api Docs

Installation

Manual Installation

Note: Requires Node version to be 22.12.0 or above

  1. Create or get Jira Personal Access Token: Guide

  2. Add server config to Claude Desktop:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: Check this Guide
{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "@parassolanki/jira-mcp-server@latest"],
      "env": {
        "JIRA_PERSONAL_ACCESS_TOKEN": "email@example.com:your_personal_jira_access_token",
        "JIRA_BASE_URL": "jira_base_url"
      }
    }
  }
}

For Windows:

{
  "mcpServers": {
    "jira": {
      "command": "cmd /c npx",
      "args": ["-y", "@parassolanki/jira-mcp-server@latest"],
      "env": {
        "JIRA_PERSONAL_ACCESS_TOKEN": "email@example.com:your_personal_jira_access_token",
        "JIRA_BASE_URL": "jira_base_url"
      }
    }
  }
}

Components

Tools

  1. list_projects: List projects from Jira.

    • Required inputs:
      • query (optional string): A query string used to filter the returned projects.
      • maxResults (optional number, max: 100): The maximum number of results to return.
      • expand (optional string): Expand additional information in the response. (comma separated description, lead, issueTypes, url, projectKeys, permissions and insight).
  2. list_boards: List boards from a project.

    • Required inputs:
      • projectKeyOrId (string): Key or Id of the project.
      • name (optional string): Name of the project.
      • maxResults (optional number, max: 100): The maximum number of results to return.
      • startAt (optional number): The starting index of the returned boards.
      • type (optional string): The type of boards. (can be one of scrum or kanban).
  3. list_sprints_from_board: List sprints from a board.

    • Required inputs:
      • boardId (string): The ID of the board.
      • maxResults (optional number, max: 100): The maximum number of results to return.
      • startAt (optional number): The starting index of the returned boards.
  4. list_issues_from_sprint: List issues from a sprint.

    • Required inputs:
      • boardId (string): The ID of the board.
      • sprintId (string): The ID of the sprint.
      • maxResults (optional number, max: 100): The maximum number of results to return.
      • startAt (optional number): The starting index of the returned boards.
      • expand (optional string): Expand additional information in the response. (comma separated schema and names).
  5. create_issue: Create an issue in Jira (Only supports Task issue type).

    • Required inputs:
      • projectKeyOrId (string): Key or Id of the project.
      • summary (string): The summary/title of the issue.
      • description (string): The description of the issue.

Usage examples

Some example prompts you can use to interact with Jira:

  1. "Show me all Jira projects" → execute the list_projects tool to see all available projects.
  2. "What Kanban boards exist in the DEV project?" → execute the list_boards tool with the DEV project key and type parameter set to "kanban".
  3. "Show me all the sprints for board ID 123" → execute the list_sprints_from_board tool to see all sprints associated with board 123.
  4. "What issues are in sprint 456 on board 123?" → execute the list_issues_from_sprint tool to see all issues in sprint 456 on board 123.
  5. "Show me the first 50 issues from the current sprint on the Marketing board" → first execute list_boards to find the Marketing board ID, then list_sprints_from_board to find the current sprint, then list_issues_from_sprint with maxResults=50.

Development

  1. Install dependencies:
pnpm install
  1. Configure Github Access token in .env:
JIRA_PERSONAL_ACCESS_TOKEN=email@example.com:your_personal_jira_access_token
JIRA_BASE_URL=jira_base_url
  1. Run locally with watch:
pnpm dev
  1. Build the server:
pnpm build
  1. Local debugging with inspector:
pnpm inspector

TODOS

  • list_projects
  • list_boards
  • list_sprints_from_board
  • list_issues_from_sprint
  • get_issue_by_id_or_key
  • create_issue (task issue type only)
  • create_issue (story, epic, sub-task issue types)
  • update_issue
  • delete_an_issue
  • archieve_an_issue
  • list_comments_from_issue
  • get_comment_from_issue_by_id
  • create_comment_in_issue
  • update_comment_of_issue
  • delete_comment_of_issue
  • list_subtasks_from_issue
  • get_user_by_username_or_key