mcp-server-jira
JIRA MCP Server is a Model Context Protocol server that facilitates interaction with JIRA by providing functionalities such as fetching sprint tickets and obtaining ticket details. It is implemented in TypeScript and integrates with JIRA API for seamless operations.
JIRA MCP Server
This is a Model Context Protocol (MCP) server that provides tools for interacting with JIRA. It allows you to fetch tickets from active sprints and get detailed ticket information through the MCP interface.
Features
The server provides the following tools:
-
list-sprint-tickets
: Gets all tickets in the active sprint for a given project- Required parameter:
projectKey
(string)
- Required parameter:
-
get-ticket-details
: Gets detailed information about a specific ticket- Required parameter:
issueKey
(string)
- Required parameter:
-
add-comment
: Adds a comment to a specific ticket- Required parameter:
issueKey
(string) - Required parameter:
comment
(string)
- Required parameter:
-
link-tickets
: Links two tickets with a 'relates to' relationship- Required parameter:
sourceIssueKey
(string) - Required parameter:
targetIssueKey
(string)
- Required parameter:
-
update-description
: Updates the description of a specific ticket- Required parameter:
issueKey
(string) - Required parameter:
description
(string)
- Required parameter:
-
list-child-issues
: Gets all child issues of a parent ticket- Required parameter:
parentKey
(string)
- Required parameter:
-
create-sub-ticket
: Creates a sub-ticket (child issue) for a parent ticket- Required parameter:
parentKey
(string) - Required parameter:
summary
(string) - Optional parameter:
description
(string) - Optional parameter:
issueType
(string) - The name of the sub-task issue type (e.g., 'Sub-task')
- Required parameter:
Setup
-
Install dependencies:
npm install
-
Build the TypeScript code:
This step is only needed for Cline on Windows, which currently has an issue executing npx
npm run build
- Configure the MCP settings in your Claude app settings file (usually located at
~/Library/Application Support/Claude/claude_desktop_config.json
on macOS or%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
on Windows):
Settings for Claude:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["path/to/this/repo/jira.ts"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Settings for Cline:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["path/to/this/repo/dist/jira.js"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Configuration
You'll need to set up the following environment variables in your MCP settings:
JIRA_HOST
: Your Atlassian domain URL (e.g.,https://your-company.atlassian.net
)JIRA_EMAIL
: Your JIRA account emailJIRA_API_TOKEN
: Your JIRA API token- You can generate an API token from your Atlassian Account Settings
Usage
Once configured, you can use the tools through the MCP interface in Claude:
List Sprint Tickets
To get all tickets in the active sprint for a project:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>list-sprint-tickets</tool_name>
<arguments>
{
"projectKey": "YOUR_PROJECT_KEY"
}
</arguments>
</use_mcp_tool>
Get Ticket Details
To get detailed information about a specific ticket:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>get-ticket-details</tool_name>
<arguments>
{
"issueKey": "PROJECT-123"
}
</arguments>
</use_mcp_tool>
Development
The server is written in TypeScript and uses:
@modelcontextprotocol/sdk
for MCP server implementationjira.js
for JIRA API integration
To modify the server:
- Make changes to
jira.ts
- Run
npm run build
to compile to JavaScript - Restart Claude to pick up the changes
Error Handling
The server includes error handling for:
- Invalid JIRA credentials
- Missing active sprints
- Invalid project keys or issue keys
- Network errors
Error messages will be returned in the tool response.