Enables comprehensive Jira Cloud integration including issue management (create, update, assign), JQL search, comments, workflow transitions, metadata discovery, user search, and project listing with custom field support
Jira MCP Server
A Model Context Protocol (MCP) server for Jira API integration. This server enables AI assistants like Claude to interact with Jira Cloud instances for issue management, search, comments, and workflow transitions.
Features
Issue Management: Get, create, update, and assign Jira issues with custom field support
JQL Search: Search issues using Jira Query Language
Comments: Add and retrieve comments on issues (supports mentions and links)
Workflow: Get available transitions and change issue status
Metadata Discovery: Get field requirements and allowed values for projects
User Search: Find users by email or name for assignments
Projects: List all accessible projects
API Token Authentication: Secure authentication using email + API token
Installation
Using npm (Recommended)
From Source
Clone the repository:
git clone https://github.com/pdogra1299/jira-mcp-server.git cd jira-mcp-serverInstall dependencies:
pnpm installBuild the project:
pnpm run build
Prerequisites
Node.js >= 16.0.0
A Jira Cloud account with API access
Jira API token (generate from Atlassian Account Settings)
Configuration
Environment Variables
The server requires the following environment variables:
JIRA_EMAIL: Your Atlassian account emailJIRA_API_TOKEN: Your Jira API tokenJIRA_BASE_URL: Your Jira instance URL (e.g.,https://yourcompany.atlassian.net)
Claude Desktop Configuration
Add the following to your Claude Desktop MCP settings file:
Location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Configuration (if installed via npm):
Configuration (if built from source):
Getting Your Jira API Token
Click "Create API token"
Give it a label (e.g., "Claude MCP")
Copy the generated token
Use it in your configuration
Available Tools
Issue Management
get_issue
Get detailed information about a Jira issue.
Parameters:
issueKey(required): The issue key (e.g., "PROJ-123")
Example:
create_issue
Create a new Jira issue.
Important: Always use get_create_metadata first to discover required fields, custom fields, and allowed values.
Parameters:
projectKey(required): Project key (e.g., "PROJ", "DEV")summary(required): Issue titleissueType(required): Type (e.g., "Bug", "Task", "Story")description(optional): Issue descriptionpriority(optional): Priority nameassignee(optional): Assignee account ID or emaillabels(optional): Array of labelscustomFields(optional): Custom fields object
Example:
update_issue
Update fields of an existing issue.
Tip: Use get_create_metadata to discover available custom fields and their allowed values.
Parameters:
issueKey(required): Issue to updatesummary(optional): New summarydescription(optional): New descriptionpriority(optional): New priorityassignee(optional): New assigneelabels(optional): New labels arraycustomFields(optional): Custom fields object
assign_issue
Assign an issue to a user.
Parameters:
issueKey(required): Issue to assignassignee(required): User account ID, email, or "-1" to unassign
Metadata & Discovery
get_create_metadata
Get field requirements and metadata for creating issues in a project.
Parameters:
projectKey(required): Project keyissueType(optional): Filter by specific issue type
search_users
Search for users by name or email to get their account ID.
Parameters:
query(required): Search query (email or name)maxResults(optional): Max results (default: 50)
Search
search_issues
Search for issues using JQL. Returns issue keys and titles.
Parameters:
jql(required): JQL query stringmaxResults(optional): Max results (default: 50)
Example JQL queries:
"project = PROJ AND status = Open""assignee = currentUser() AND status != Done""priority = High AND created >= -7d"
list_projects
List all accessible projects.
Parameters:
maxResults(optional): Max results (default: 50)
Comments
add_comment
Add a comment to an issue.
Parameters:
issueKey(required): Issue to comment oncomment(required): Comment text
get_comments
Get all comments for an issue.
Parameters:
issueKey(required): Issue key
Workflow Transitions
get_transitions
Get available status transitions for an issue.
Parameters:
issueKey(required): Issue key
transition_issue
Change the status of an issue.
Parameters:
issueKey(required): Issue to transitiontransitionId(required): Transition ID (from get_transitions)comment(optional): Comment to add with transition
API Reference
This server uses the Jira REST API v3.
Troubleshooting
"Error: JIRA_EMAIL and JIRA_API_TOKEN are required"
Make sure you've set the environment variables in your MCP configuration.
Authentication errors
Verify your API token is correct
Ensure your email matches your Atlassian account
Check that your JIRA_BASE_URL doesn't have a trailing slash
Permission errors
The API token uses the permissions of the user who created it. Make sure your account has the necessary permissions for the actions you're trying to perform.
License
MIT
Author
Parth Dogra
Contributing
Feel free to open issues or submit pull requests for improvements!
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables AI assistants to interact with Jira Cloud instances for comprehensive issue management including creating, updating, searching issues, managing comments, workflow transitions, and project metadata discovery. Supports JQL queries, user search, and custom field operations with secure API token authentication.