kornbed jira mcp server

kornbed jira mcp server avatar

by kornbed

A TypeScript-based MCP server for Jira integration with Cursor

What is kornbed jira mcp server

Jira MCP Server for Cursor

*smithery badge* A TypeScript-based MCP server that integrates with Jira, allowing Cursor to interact with Jira tickets.

Features

  • List Jira tickets
  • Get ticket details
  • Get ticket comments
  • Create new tickets
  • Add comments to tickets
  • Update ticket status
  • Full MCP protocol support for Cursor integration

Setup

Installing via Smithery

To install Jira MCP Server for Cursor for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kornbed/jira-mcp-server --client claude
  1. Install dependencies:
npm install
  1. Create a .env file based on .env.example and fill in your Jira credentials:
JIRA_HOST=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your-api-token
PORT=3000

To get your Jira API token:

  1. Log in to https://id.atlassian.com/manage/api-tokens
  2. Click "Create API token"
  3. Copy the token and paste it in your .env file

Development

Run the development server:

npm run dev

Build and Run

Build the project:

npm run build

Start the server:

npm start

Cursor Integration

To use this MCP server with Cursor, you have two options:

Option 1: Command-based Integration (Recommended)

  1. Build the project:
npm run build
  1. Open Cursor's settings:

    • Click on the Cursor menu
    • Select "Settings" (or use the keyboard shortcut)
    • Navigate to the "Extensions" or "Integrations" section
  2. Add the MCP configuration:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira-mcp-cursor/dist/server.js"]
    }
  }
}

Replace /path/to/jira-mcp-cursor with the absolute path to your project.

Option 2: HTTP-based Integration (Alternative)

  1. Start the MCP server (if not already running):
npm start
  1. Open Cursor's settings:

    • Click on the Cursor menu
    • Select "Settings" (or use the keyboard shortcut)
    • Navigate to the "Extensions" or "Integrations" section
  2. Add the MCP configuration:

{
  "mcpServers": {
    "jira": {
      "url": "http://localhost:3000",
      "capabilities": [
        "list_tickets",
        "get_ticket",
        "get_comments",
        "create_ticket",
        "update_status",
        "add_comment"
      ]
    }
  }
}
}

Using Jira in Cursor

After configuring the MCP server, you can use Jira commands directly in Cursor:

  • /jira list - List your tickets
  • /jira view TICKET-123 - View ticket details
  • /jira comments TICKET-123 - Get ticket comments
  • /jira create - Create a new ticket
  • /jira comment TICKET-123 - Add a comment
  • /jira status TICKET-123 - Update ticket status

MCP Protocol Support

The server implements the Model-Client-Protocol (MCP) required by Cursor:

  • Stdio communication for command-based integration
  • Tool registration for Jira operations

API Endpoints

List Tickets

Retrieves a list of Jira tickets, optionally filtered by a JQL query.

Endpoint: GET /api/tickets

Query Parameters:

Parameter Type Required Description
jql string No Jira Query Language (JQL) string to filter tickets

Example Request:

GET /api/tickets?jql=project=TEST+AND+status=Open

Example Response:

TEST-123: Example ticket (Open)
TEST-124: Another ticket (In Progress)

Get Ticket

Retrieves detailed information about a specific ticket.

Endpoint: GET /api/tickets/:id

Path Parameters:

Parameter Type Required Description
id string Yes The Jira ticket ID (e.g., TEST-123)

Example Request:

GET /api/tickets/TEST-123

Example Response:

Key: TEST-123
Summary: Example ticket
Status: Open
Type: Task
Description:
Detailed ticket description

Get Ticket Comments

Retrieves all comments for a specific ticket.

Endpoint: GET /api/tickets/:id/comments

Path Parameters:

Parameter Type Required Description
id string Yes The Jira ticket ID (e.g., TEST-123)

Example Request:

GET /api/tickets/TEST-123/comments

Example Response:

[3/20/2024, 10:00:00 AM] John Doe:
Comment text
---

[3/20/2024, 9:30:00 AM] Jane Smith:
Another comment
---

Create Ticket

Creates a new Jira ticket.

Endpoint: POST /api/tickets

Request Body:

Parameter Type Required Description
summary string Yes The ticket summary
description string Yes The ticket description
projectKey string Yes The project key (e.g., TEST)
issueType string Yes The type of issue (e.g., Task, Bug)

Example Request:

POST /api/tickets
Content-Type: application/json

{
  "summary": "New feature request",
  "description": "Implement new functionality",
  "projectKey": "TEST",
  "issueType": "Task"
}

Example Response:

Created ticket: TEST-124

Add Comment

Adds a new comment to an existing ticket.

Endpoint: POST /api/tickets/:id/comments

Path Parameters:

Parameter Type Required Description
id string Yes The Jira ticket ID (e.g., TEST-123)

Request Body:

Parameter Type Required Description
body string Yes The comment text

Example Request:

POST /api/tickets/TEST-123/comments
Content-Type: application/json

{
  "body": "This is a new comment"
}

Example Response:

Added comment to TEST-123

Update Status

Updates the status of an existing ticket.

Endpoint: POST /api/tickets/:id/status

Path Parameters:

Parameter Type Required Description
id string Yes The Jira ticket ID (e.g., TEST-123)

Request Body:

Parameter Type Required Description
transitionId string Yes The ID of the transition to perform

Example Request:

POST /api/tickets/TEST-123/status
Content-Type: application/json

{
  "transitionId": "21"
}

Example Response:

Updated status of TEST-123

Search Tickets

Searches for tickets across specified projects using text search.

Endpoint: GET /api/tickets/search

Query Parameters:

Parameter Type Required Description
searchText string Yes Text to search for in tickets
projectKeys string Yes Comma-separated list of project keys to search in
maxResults number No Maximum number of results to return (default: 50)

Example Request:

GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10

Example Response:

Found 2 tickets matching "login bug"

[TEST] TEST-123: Login page bug
Status: Open (Updated: 3/20/2024, 10:00:00 AM)
Description:
Users unable to login using SSO
----------------------------------------

[PROD] PROD-456: Fix login performance
Status: In Progress (Updated: 3/19/2024, 3:30:00 PM)
Description:
Login page taking too long to load
----------------------------------------

Leave a Comment

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.

Related MCP Servers

chrisdoc hevy mcp avatar

chrisdoc hevy mcp

mcp
sylphlab pdf reader mcp avatar

sylphlab pdf reader mcp

An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.

pdf-parsetypescriptnodejs
aashari mcp server atlassian bitbucket avatar

aashari mcp server atlassian bitbucket

Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.

atlassianrepositorymcp
aashari mcp server atlassian confluence avatar

aashari mcp server atlassian confluence

Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.

atlassianmcpconfluence
prisma prisma avatar

prisma prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

cockroachdbgomcp
Zzzccs123 mcp sentry avatar

Zzzccs123 mcp sentry

mcp sentry for typescript sdk

mcptypescript
zhuzhoulin dify mcp server avatar

zhuzhoulin dify mcp server

mcp
zhongmingyuan mcp my mac avatar

zhongmingyuan mcp my mac

mcp
zhixiaoqiang desktop image manager mcp avatar

zhixiaoqiang desktop image manager mcp

MCP 服务器,用于管理桌面图片、查看详情、压缩、移动等(完全让Trae实现)

mcp
zhixiaoqiang antd components mcp avatar

zhixiaoqiang antd components mcp

An MCP service for Ant Design components query | 一个减少 Ant Design 组件代码生成幻觉的 MCP 服务,包含系统提示词、组件文档、API 文档、代码示例和更新日志查询

designantdapi

Submit Your MCP Server

Share your MCP server with the community

Submit Now