Provides tools for interacting with self-hosted Jira instances to manage issues, projects, and comments, including capabilities for searching via JQL, transitioning issue statuses, and managing assignments.
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., "@MCP Jira Serversearch for all open issues assigned to me in project PROJ"
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.
MCP Jira Server for Self-Hosted Jira
A Model Context Protocol (MCP) server for interacting with self-hosted Jira instances using Personal Access Token (PAT) authentication.
Features
✅ Personal Access Token authentication for self-hosted Jira
✅ Create, read, update, and delete Jira issues
✅ Search issues using JQL (Jira Query Language)
✅ Add and view comments
✅ Manage issue assignments
✅ List projects and issue types
✅ Transition issues between statuses
✅ Get current user information
Prerequisites
Node.js 18 or higher
A self-hosted Jira instance (e.g., https://jira.domain.com)
A Jira Personal Access Token
How to Create a Personal Access Token in Self-Hosted Jira
Log in to your Jira instance (e.g., https://jira.domain.com)
Click on your profile icon in the top right corner
Select "Profile" or "Account Settings"
Navigate to "Personal Access Tokens" or "Security"
Click "Create token"
Give your token a name (e.g., "MCP Server")
Set an expiration date (optional but recommended)
Click "Create"
Copy the token immediately - you won't be able to see it again!
Installation
Option 1: Using npm (Recommended)
Direct usage with npx:
Or install globally:
Option 2: From Source
Clone the repository:
Install dependencies:
Build the server:
Configuration
For Claude Desktop
Add the following to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Option 1: Using npx (Recommended)
Option 2: Using source build
For VS Code with MCP
Create or update .vscode/mcp.json in your workspace:
Option 1: Using npx (Recommended)
Option 2: Using source build
Environment Variables
JIRA_BASE_URL: The base URL of your self-hosted Jira instance (e.g.,https://jira.domain.com)JIRA_PAT: Your Personal Access Token
Available Tools
1. jira_get_issue
Get details of a specific Jira issue by its key.
Parameters:
issueKey(string, required): The Jira issue key (e.g., "PROJ-123")
Example:
2. jira_search_issues
Search for Jira issues using JQL (Jira Query Language).
Parameters:
jql(string, required): JQL query stringmaxResults(number, optional): Maximum number of results (default: 50)
Example:
Common JQL Examples:
project = PROJ AND status = Openassignee = currentUser() AND status != Donepriority = High AND created >= -7dreporter = john.doe AND status IN (Open, "In Progress")
3. jira_create_issue
Create a new Jira issue.
Parameters:
projectKey(string, required): Project keysummary(string, required): Issue title/summaryissueType(string, required): Issue type (e.g., "Bug", "Task", "Story")description(string, optional): Detailed descriptionpriority(string, optional): Priority level (e.g., "High", "Medium", "Low")assignee(string, optional): Username to assign tolabels(array, optional): Array of labelscomponents(array, optional): Array of component names
Example:
4. jira_update_issue
Update an existing Jira issue.
Parameters:
issueKey(string, required): Issue key to updatesummary(string, optional): New summarydescription(string, optional): New descriptionassignee(string, optional): New assignee usernamepriority(string, optional): New prioritylabels(array, optional): New labels arraystatus(string, optional): New status (e.g., "In Progress", "Done")
Example:
5. jira_add_comment
Add a comment to a Jira issue.
Parameters:
issueKey(string, required): Issue keycomment(string, required): Comment text
Example:
6. jira_get_comments
Get all comments from a Jira issue.
Parameters:
issueKey(string, required): Issue key
7. jira_get_projects
List all available Jira projects.
Parameters: None
Example:
8. jira_get_project
Get details of a specific project.
Parameters:
projectKey(string, required): Project key
9. jira_get_issue_types
Get available issue types for a project.
Parameters:
projectKey(string, required): Project key
10. jira_assign_issue
Assign a Jira issue to a user.
Parameters:
issueKey(string, required): Issue keyassignee(string, required): Username to assign to
11. jira_delete_issue
Delete a Jira issue permanently.
Parameters:
issueKey(string, required): Issue key to delete
⚠️ Warning: This action is permanent and cannot be undone.
12. jira_get_current_user
Get information about the currently authenticated user.
Parameters: None
Development
Build the server
Watch mode for development
Run in development mode
Testing the Server
After configuring the server, restart Claude Desktop or VS Code to load the new MCP server.
Quick Test Commands
Test authentication:
Get my current Jira user informationList projects:
Show me all Jira projectsSearch for issues:
Search for all issues assigned to me that are not doneCreate an issue:
Create a new task in project PROJ with summary "Test MCP integration"
Troubleshooting
Server not connecting
Verify the absolute path in your configuration
Ensure the server is built (
npm run build)Check that environment variables are set correctly
Restart Claude Desktop or VS Code after configuration changes
Authentication errors
Verify your Personal Access Token is still valid
Check that the token has not expired
Ensure the token has appropriate permissions
Verify the JIRA_BASE_URL is correct (no trailing slash)
API errors
Check Jira server logs for detailed error messages
Verify the Jira API is accessible from your machine
Ensure your user account has necessary permissions
Try accessing the REST API directly:
https://jira.domain.com/rest/api/2/myself
Common issues
"Cannot find module": Run
npm installandnpm run build"Connection refused": Check if Jira server is accessible and URL is correct
"Unauthorized": Verify your Personal Access Token
"Issue type not found": Use
jira_get_issue_typesto see valid types for the project
Security Best Practices
Never commit your Personal Access Token to version control
Store tokens securely in configuration files with restricted permissions
Use tokens with minimal required permissions
Set expiration dates for tokens
Rotate tokens regularly
Monitor token usage in Jira's audit logs
API Reference
This MCP server uses the Jira REST API v2. For more information about Jira's API:
Jira REST API documentation:
https://your-jira-instance/rest/api/2/JQL syntax guide: Check your Jira instance documentation
License
MIT
Support
For issues related to:
MCP Server: Check the logs in Claude Desktop or VS Code
Jira API: Refer to your self-hosted Jira documentation
Authentication: Contact your Jira administrator
Contributing
Contributions are welcome! Please ensure:
Code follows TypeScript best practices
All tools are properly documented
Error handling is comprehensive
Security best practices are followed