A TypeScript-based MCP server for Jira integration with Cursor
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.
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.
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 startTwo 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"
]
}
}
}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.
# 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"]
}
}
}List Jira tickets, optionally filtered by a JQL query.
Retrieve detailed information about a specific ticket.
Fetch all comments for a given ticket.
Create a new Jira ticket with provided summary, description, project, and type.
Update the status of a ticket by applying a transition.
Add a new comment to an existing ticket.