home / mcp / jira mcp server

Jira MCP Server

A TypeScript-based MCP server for Jira integration with Cursor

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "kornbed-jira-mcp-server": {
      "url": "http://localhost:3000",
      "headers": {
        "PORT": "3000",
        "JIRA_HOST": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "[email protected]",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

You can run Jira MCP Server for Cursor to connect Jira data with Cursor through the MCP (Model-Client Protocol). It exposes endpoints and an optional local runtime that lets you list tickets, view details and comments, create tickets, update statuses, and add comments directly from Cursor or via an MCP client. This guide shows practical steps to install, configure, and use the server in both local (stdio) and HTTP-based modes.

How to use

Once the server is running, you can use Cursor to interact with Jira through MCP endpoints. You can either run a local stdio-based server instance or connect over HTTP to a running MCP gateway. Use the provided commands to start or expose the MCP service, then configure Cursor to point to the MCP server. The server supports common Jira operations such as listing tickets, retrieving ticket details, fetching comments, creating tickets, adding comments, and updating ticket statuses. These actions become commands you can trigger from Cursor using the configured MCP server alias.

Example high-level capabilities you can access via the MCP server include: list tickets, get ticket details, get ticket comments, create a ticket, add a comment, update status, and search tickets. Use the appropriate Cursor commands to invoke each operation through the Jira MCP server alias you configure.

How to install

Prerequisites you need before installing: Node.js and npm (or an environment that can run MCP servers), and a Jira account with API access credentials.

Step-by-step setup flow you can follow to install and run the Jira MCP Server for Cursor locally.

npx -y @smithery/cli install @kornbed/jira-mcp-server --client claude
```

```
npm install
```

```
# Create and populate environment file
# Copy the example and fill in your Jira details
cp .env.example .env
```

```
JIRA_HOST=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your-api-token
PORT=3000
```

```
# Start development server (if you are developing and testing)
npm run dev
```

```
# Build and run for production
npm run build
npm start

Configuration and usage notes

Two primary integration methods are provided to connect Cursor with the Jira MCP Server. You can choose either the command-based stdio approach or the HTTP-based integration, depending on your setup and preferences.

# HTTP-based configuration example (Cursor) 
{
  "mcpServers": {
    "jira": {
      "url": "http://localhost:3000",
      "capabilities": [
        "list_tickets",
        "get_ticket",
        "get_comments",
        "create_ticket",
        "update_status",
        "add_comment"
      ]
    }
  }
}

Troubleshooting and notes

If you run into connection issues, verify that the MCP server is reachable at the configured URL and that Jira credentials in the environment file are correct. Check the server logs for authentication errors, network timeouts, or invalid Jira API tokens. Ensure the Jira host is accessible from the environment where the MCP server runs, and that the port you expose (default 3000) is open in your network firewall.

Examples of MCP configs

# HTTP-based config (example)
{
  "mcpServers": {
    "jira": {
      "url": "http://localhost:3000",
      "capabilities": [
        "list_tickets",
        "get_ticket",
        "get_comments",
        "create_ticket",
        "update_status",
        "add_comment"
      ]
    }
  }
}
# STDIO-based config (example)
{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira-mcp-cursor/dist/server.js"]
    }
  }
}

Available tools

list_tickets

List Jira tickets, optionally filtered by a JQL query.

get_ticket

Retrieve detailed information about a specific ticket.

get_comments

Fetch all comments for a given ticket.

create_ticket

Create a new Jira ticket with provided summary, description, project, and type.

update_status

Update the status of a ticket by applying a transition.

add_comment

Add a new comment to an existing ticket.