jira-mcp
Provides tools for searching Jira issues using JQL, retrieving issue details with acceptance criteria, accessing comments, creating new issues with custom fields and assignments, updating issue status, assignee, summary, description, and priority, and viewing available status transitions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-mcpshow issue PROJ-123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jira MCP Server
A Model Context Protocol (MCP) server that integrates with Atlassian Jira to search issues, retrieve details, access comments, create new issues, and update issues.
Features
🔍 Search Issues: Use JQL (Jira Query Language) to find issues
📋 Get Issue Details: Retrieve complete issue information including acceptance criteria
💬 Access Comments: Get all comments for any issue
➕ Create Issues: Create new issues with custom fields, labels, and assignments
✏️ Update Issues: Change status, assignee, summary, description, and priority
🔄 Status Transitions: View available status transitions and change issue status
🔧 Configurable: Works with any Jira Cloud instance
Related MCP server: JIRA MCP Tools
Installation
# Clone the repository
git clone https://github.com/fajarmf/jira-mcp.git
cd jira-mcp
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
Environment Variables
Set the following environment variables:
export JIRA_BASE_URL="https://your-domain.atlassian.net"
export JIRA_EMAIL="your-email@example.com"
export JIRA_API_TOKEN="your-api-token"Getting a Jira API Token
Click "Create API token"
Give it a label and copy the token
Use this token as your
JIRA_API_TOKEN
MCP Configuration
Add the server to your MCP configuration file (~/.mcp.json):
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/jira-mcp/build/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Usage
Once configured, the following tools are available:
jira_get_issue
Get detailed information about a specific Jira issue.
Parameters:
issueKey(required): The Jira issue key (e.g., "PROJECT-123")
Example:
{
"tool": "jira_get_issue",
"arguments": {
"issueKey": "PROJECT-123"
}
}jira_search_issues
Search for issues using JQL (Jira Query Language).
Parameters:
jql(required): JQL query stringmaxResults(optional): Maximum number of results (default: 50)
Example:
{
"tool": "jira_search_issues",
"arguments": {
"jql": "project = PROJECT AND status = \"In Progress\"",
"maxResults": 10
}
}jira_get_issue_comments
Get all comments for a specific issue.
Parameters:
issueKey(required): The Jira issue key (e.g., "PROJECT-123")
Example:
{
"tool": "jira_get_issue_comments",
"arguments": {
"issueKey": "PROJECT-123"
}
}jira_get_transitions
Get available status transitions for a specific issue.
Parameters:
issueKey(required): The Jira issue key (e.g., "PROJECT-123")
Example:
{
"tool": "jira_get_transitions",
"arguments": {
"issueKey": "PROJECT-123"
}
}jira_create_issue
Create a new Jira issue.
Parameters:
projectKey(required): The project key where the issue will be created (e.g., "PROJ")summary(required): Issue summary/titledescription(optional): Issue descriptionissueType(optional): Issue type (e.g., "Bug", "Story", "Task") - defaults to "Task"priority(optional): Priority name (e.g., "High", "Medium", "Low")assignee(optional): Assignee email address or account IDlabels(optional): Array of labels to add to the issue
Example - Basic issue:
{
"tool": "jira_create_issue",
"arguments": {
"projectKey": "PROJ",
"summary": "Fix login bug",
"description": "Users cannot login when using special characters in password",
"issueType": "Bug",
"priority": "High"
}
}Example - Full featured issue:
{
"tool": "jira_create_issue",
"arguments": {
"projectKey": "PROJ",
"summary": "Implement user dashboard",
"description": "Create a comprehensive user dashboard with analytics and quick actions",
"issueType": "Story",
"priority": "Medium",
"assignee": "developer@example.com",
"labels": ["frontend", "dashboard", "user-experience"]
}
}jira_update_issue
Update a Jira issue's status, assignee, summary, description, or priority.
Parameters:
issueKey(required): The Jira issue key (e.g., "PROJECT-123")transition(optional): Status transition name or IDassignee(optional): Assignee email address or account IDsummary(optional): Updated issue summarydescription(optional): Updated issue descriptionpriority(optional): Priority name (e.g., "High", "Medium", "Low")
Example - Change status:
{
"tool": "jira_update_issue",
"arguments": {
"issueKey": "PROJECT-123",
"transition": "In Review"
}
}Example - Update multiple fields:
{
"tool": "jira_update_issue",
"arguments": {
"issueKey": "PROJECT-123",
"transition": "Done",
"assignee": "developer@example.com",
"priority": "Low"
}
}JQL Examples
Here are some useful JQL queries you can use with the search tool:
# Find open issues assigned to you
assignee = currentUser() AND resolution = Unresolved
# Find high priority bugs
priority = High AND type = Bug
# Find recently updated issues
updated >= -7d
# Find issues in specific status
status in ("To Do", "In Progress")
# Find issues by project and component
project = MYPROJECT AND component = "Backend"
# Find overdue issues
due < now() AND resolution = UnresolvedFeatures
Acceptance Criteria Extraction
The server automatically extracts acceptance criteria from issue descriptions using common patterns:
"Acceptance Criteria:" sections
"AC:" sections
Given/When/Then scenarios
Checkbox lists
Bullet points
Error Handling
Comprehensive error handling for API failures
Clear error messages for authentication issues
Graceful handling of missing issues or invalid queries
Development
Project Structure
jira-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── build/ # Compiled JavaScript files
├── package.json
├── tsconfig.json
└── README.mdBuilding
npm run buildRunning
npm startRequirements
Node.js 16+
TypeScript 5.0+
Valid Jira Cloud instance with API access
Jira API token with appropriate permissions
Permissions Required
Your Jira API token needs the following permissions:
Read access to projects and issues
Read access to comments
Browse projects permission
Create issues permission (for creating new issues)
Write access to issues (for updating status, assignee, etc.)
Transition issues permission
Troubleshooting
Authentication Errors
Verify your email and API token are correct
Check that your API token has the necessary permissions
Ensure your Jira base URL is correct (should not include
/rest/api/3)
Connection Issues
Verify the Jira base URL format:
https://your-domain.atlassian.netCheck your internet connection
Ensure Jira Cloud is accessible from your network
JQL Errors
Validate your JQL syntax in Jira's issue navigator first
Check that field names and values exist in your Jira instance
Remember JQL is case-sensitive for some operators
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues or questions:
Create an issue on GitHub
Check Jira's REST API documentation
Review the MCP protocol documentation
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fajarmf/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server