Jira MCP Server
Enables natural language interaction with Jira for managing projects, issues, tasks, and workflows through the Model Context Protocol, allowing users to delegate PM tasks through Claude Desktop.
Enables natural language interaction with Jira for managing projects, issues, tasks, and workflows through the Model Context Protocol, allowing users to delegate PM tasks through Claude Desktop.
Speak to Jira in natural language to get information on and modify your project. Use it with Claude Desktop in combination with a custom README that you will create with project information, so that you can delegate PM tasks, (e.g. given yoou have a list of my team and their specialities, assign any new issue to the most relevant person).
Built using the Model Context Protocol.
The server enables:
Required environment variables:
JIRA_HOST
: Your Jira instance hostnameJIRA_EMAIL
: Your Jira account emailJIRA_API_TOKEN
: API token from https://id.atlassian.com/manage-profile/security/api-tokens// Get User is account ID by email
{
email: "[email protected]";
}
// List all available issue types
// Returns: id, name, description, subtask status
// No parameters required
// List all available issue link types
// Returns: id, name, inward/outward descriptions
// No parameters required
// Get all issues in a project
{
projectKey: "PROJECT"
}
// Get issues with JQL filtering
{
projectKey: "PROJECT",
jql: "status = 'In Progress' AND assignee = currentUser()"
}
// Get issues assigned to user
{
projectKey: "PROJECT",
jql: "assignee = '[email protected]' ORDER BY created DESC"
}
// Create a standard issue
{
projectKey: "PROJECT",
summary: "Issue title",
issueType: "Task", // or "Story", "Bug", etc.
description: "Detailed description",
assignee: "accountId", // from get_user tool
labels: ["frontend", "urgent"],
components: ["ui", "api"],
priority: "High"
}
// Create a subtask
{
parent: "PROJECT-123",
projectKey: "PROJECT",
summary: "Subtask title",
issueType: "Subtask",
description: "Subtask details",
assignee: "accountId"
}
// Update issue fields
{
issueKey: "PROJECT-123",
summary: "Updated title",
description: "New description",
assignee: "accountId",
status: "In Progress",
priority: "High"
}
// Create issue link
{
linkType: "Blocks", // from list_link_types
inwardIssueKey: "PROJECT-124", // blocked issue
outwardIssueKey: "PROJECT-123" // blocking issue
}
// Delete single issue
{
issueKey: "PROJECT-123"
}
// Delete issue with subtasks
{
issueKey: "PROJECT-123",
deleteSubtasks: true
}
// Delete multiple issues
{
issueKeys: ["PROJECT-123", "PROJECT-124"]
}
The description field supports markdown-style formatting:
Example:
Task Overview:
This task involves implementing new features:
- Feature A implementation
- Feature B testing
Steps:
1. Design component
2. Implement logic
3. Add tests
Acceptance Criteria:
- All tests passing
- Documentation updated
The server provides detailed error messages for:
git clone https://github.com/George5562/Jira-MCP-Server.git
cd Jira-MCP-Server
npm install
.env
file in the root directory:JIRA_HOST=your-instance.atlassian.net
[email protected]
JIRA_API_TOKEN=your-api-token
npm run build
npm start
To use this MCP server with Claude Desktop:
Locate your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Add the Jira MCP server to your configuration:
{
"mcp_servers": [
{
"name": "jira-server",
"command": "npm start",
"cwd": "/path/to/jira-server",
"env": {
"JIRA_HOST": "your-instance.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
]
}
Replace /path/to/jira-server
with the absolute path to your cloned repository.