Jira MCP Server
Interact with Jira projects using natural language.
Jira MCP Server
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:
- Project creation and configuration
- Issue and subtask management
- Issue linking and dependencies
- Automated issue workflows
Configuration
Required environment variables:
JIRA_HOST: Your Jira instance hostnameJIRA_API_TOKEN: API token from https://id.atlassian.com/manage-profile/security/api-tokens OR Personal Access Token (PAT)JIRA_AUTH_TYPE: Authentication type - either "basic" (default) or "bearer"
Optional environment variables:
JIRA_API_VERSION: Jira API version to use (default: "3")
For Basic Authentication (default):
JIRA_EMAIL: Your Jira account email (required when using basic auth)
For Personal Access Token (PAT) Authentication:
- Set
JIRA_AUTH_TYPE=bearerand provide your PAT asJIRA_API_TOKEN JIRA_EMAILis not required when using PAT
Personal Access Token Setup
Personal Access Tokens (PATs) are the recommended authentication method for Jira Cloud as they provide better security than API tokens. To create a PAT:
- Go to your Jira instance settings
- Navigate to Personal Access Tokens (usually under Security or Account Settings)
- Click Create token
- Give your token a descriptive name (e.g., "Jira MCP Server")
- Set appropriate scopes/permissions (typically you'll need read and write access to projects and issues)
- Copy the generated token and use it as your
JIRA_API_TOKEN - Set
JIRA_AUTH_TYPE=bearerin your configuration
Note: PATs are not available for all Jira instances. If your instance doesn't support PATs, use the basic authentication method with your regular API token.
Available Tools
1. User Management
// Get user's account ID by email
{
email: "[email protected]";
}
2. Issue Type Management
// List all available issue types
// Returns: id, name, description, subtask status
// No parameters required
3. Issue Link Types
// List all available issue link types
// Returns: id, name, inward/outward descriptions
// No parameters required
4. Issue Management
Retrieving Issues
// 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"
}
Creating Issues
// 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"
}
Updating Issues
// Update issue fields
{
issueKey: "PROJECT-123",
summary: "Updated title",
description: "New description",
assignee: "accountId",
status: "In Progress",
priority: "High"
}
Issue Dependencies
// Create issue link
{
linkType: "Blocks", // from list_link_types
inwardIssueKey: "PROJECT-124", // blocked issue
outwardIssueKey: "PROJECT-123" // blocking issue
}
Deleting Issues
// Delete single issue
{
issueKey: "PROJECT-123"
}
// Delete issue with subtasks
{
issueKey: "PROJECT-123",
deleteSubtasks: true
}
// Delete multiple issues
{
issueKeys: ["PROJECT-123", "PROJECT-124"]
}
Field Formatting
Description Field
The description field supports markdown-style formatting:
- Use blank lines between paragraphs
- Use "- " for bullet points
- Use "1. " for numbered lists
- Use headers ending with ":" (followed by blank line)
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
Error Handling
The server provides detailed error messages for:
- Invalid issue keys
- Missing required fields
- Permission issues
- API rate limits
Setup Instructions
-
Clone the repository:
git clone https://github.com/George5562/Jira-MCP-Server.git cd Jira-MCP-Server -
Install dependencies:
npm install -
Configure environment variables: Create a
.envfile in the root directory:For Basic Authentication (default):
JIRA_HOST=your-instance.atlassian.net [email protected] JIRA_API_TOKEN=your-api-token JIRA_AUTH_TYPE=basicFor Personal Access Token (PAT) Authentication:
JIRA_HOST=your-instance.atlassian.net JIRA_API_TOKEN=your-personal-access-token JIRA_AUTH_TYPE=bearer -
Build the project:
npm run build -
Start the server:
npm start
Configuring Claude Desktop
To use this MCP server with Claude Desktop:
-
Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the Jira MCP server to your configuration:
For Basic Authentication (default):
{ "mcpServers": { "jira-server": { "name": "jira-server", "command": "/path/to/node", "args": ["/path/to/jira-server/build/index.js"], "cwd": "/path/to/jira-server", "env": { "JIRA_HOST": "your-jira-instance.atlassian.net", "JIRA_EMAIL": "[email protected]", "JIRA_API_TOKEN": "your-api-token", "JIRA_AUTH_TYPE": "basic" } } } }For Personal Access Token (PAT) Authentication:
{ "mcpServers": { "jira-server": { "name": "jira-server", "command": "/path/to/node", "args": ["/path/to/jira-server/build/index.js"], "cwd": "/path/to/jira-server", "env": { "JIRA_HOST": "your-jira-instance.atlassian.net", "JIRA_API_TOKEN": "your-personal-access-token", "JIRA_AUTH_TYPE": "bearer" } } } }Replace
/path/to/jira-serverwith the absolute path to your cloned repository. Replace/path/to/nodewith the absolute path to your Node.js executable (you can usually find this by runningwhich nodeorwhere nodein your terminal). Using the direct path to the Node.js executable and the built JavaScript file (build/index.jsafter runningnpm run build) is recommended for reliability. -
Restart Claude Desktop to apply the changes.
Configuring Cursor
To use this Jira MCP server with Cursor:
-
Ensure the server is built: Run
npm run buildin theJira-MCP-Serverdirectory to create the necessarybuild/index.jsfile. -
Locate or create Cursor's MCP configuration file:
- For project-specific configuration:
.cursor/mcp.jsonin your project's root directory. - For global configuration (all projects):
~/.cursor/mcp.jsonin your home directory.
- For project-specific configuration:
-
Add the Jira MCP server configuration to
mcp.json:For Basic Authentication (default):
{ "mcpServers": { "jira-mcp-server": { "command": "node", // Or provide the absolute path to your Node.js executable "args": [ "/path/to/your/Jira-MCP-Server/build/index.js" // Absolute path to the server's built index.js ], "cwd": "/path/to/your/Jira-MCP-Server", // Absolute path to the Jira-MCP-Server directory "env": { "JIRA_HOST": "your-jira-instance.atlassian.net", "JIRA_EMAIL": "[email protected]", // Your Jira email "JIRA_API_TOKEN": "your-api-token", // Your Jira API token "JIRA_AUTH_TYPE": "basic" } } // You can add other MCP server configurations here } }For Personal Access Token (PAT) Authentication:
{ "mcpServers": { "jira-mcp-server": { "command": "node", // Or provide the absolute path to your Node.js executable "args": [ "/path/to/your/Jira-MCP-Server/build/index.js" // Absolute path to the server's built index.js ], "cwd": "/path/to/your/Jira-MCP-Server", // Absolute path to the Jira-MCP-Server directory "env": { "JIRA_HOST": "your-jira-instance.atlassian.net", "JIRA_API_TOKEN": "your-personal-access-token", // Your Jira PAT "JIRA_AUTH_TYPE": "bearer" } } // You can add other MCP server configurations here } }- Replace
/path/to/your/Jira-MCP-Serverwith the correct absolute path to where you cloned theJira-MCP-Serverrepository. - If
nodeis not in your system's PATH or you prefer an absolute path, replace"node"with the full path to your Node.js executable (e.g.,/usr/local/bin/nodeorC:\Program Files\nodejs\node.exe). - Ensure your Jira instance details and API token are correctly filled in the
envsection.
- Replace
-
Restart Cursor to apply the changes.
Using Cursor Rules for Jira Context
To make interacting with Jira smoother, you can define your default Jira project and user identifier in Cursor's rules. This helps Cursor's AI understand your context without you needing to specify it in every prompt.
Create or edit your Cursor Rules file (e.g., in your project .cursor/rules.json or global ~/.cursor/rules.json (the exact file and method for rules might vary, check Cursor documentation for "Rules" or "Context Management")). Add entries like:
As an AI assistant, when I am asked about Jira tasks:
- Assume the primary Jira project key is 'YOUR_PROJECT_KEY_HERE'.
- Assume 'my assigned tasks' or tasks assigned to 'me' refer to the Jira user with the email '[email protected]' (or your Jira Account ID).
You can then use these in your JQL queries, for example: project = YOUR_PROJECT_KEY_HERE AND assignee = '[email protected]'.
Replace YOUR_PROJECT_KEY_HERE and [email protected] with your actual details.
Example Usage in Cursor Chat
Once configured (especially with Cursor Rules for context), you can ask Cursor:
"Using Jira MCP, list my assigned tasks. Then, based on these tasks, come up with an implementation plan and work schedule."
If you haven't set up rules, or need to specify a different project or user, you'd be more explicit:
"Using Jira MCP, list tasks assigned to '[email protected]' in project 'PROJECT_KEY'. Then, based on these tasks, come up with an implementation plan and work schedule."
Cursor's AI will use the Jira MCP server to fetch the tasks, and then proceed with the planning and scheduling request.
Installing via Smithery
To install Jira MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @George5562/Jira-MCP-Server --client claude
Manual Installation
-
Clone the repository:
git clone https://github.com/George5562/Jira-MCP-Server.git cd Jira-MCP-Server -
Install dependencies:
npm install -
Configure environment variables: Create a
.envfile in the root directory:For Basic Authentication (default):
JIRA_HOST=your-instance.atlassian.net [email protected] JIRA_API_TOKEN=your-api-token JIRA_AUTH_TYPE=basicFor Personal Access Token (PAT) Authentication:
JIRA_HOST=your-instance.atlassian.net JIRA_API_TOKEN=your-personal-access-token JIRA_AUTH_TYPE=bearer -
Build the project:
npm run build -
Start the server:
npm start
References
संबंधित सर्वर
Kone.vc
प्रायोजकMonetize your AI agent with contextual product recommendations
Linear Issues
Provides read-only access to issues within the Linear project management tool.
Yachtsy MCP Server
Search, compare, and track sailboats with real-time listings, market insights, specs, and price history.
Liquidium MCP Server
Tools for PostHog analytics, annotations, and project management.
Misar.Blog MCP
Publish blog posts, manage drafts, generate AI cover images, and pull analytics from Misar.Blog via Claude Code, Cursor, or Windsurf.
Quip MCP Server
An MCP server for performing document operations on Quip, enabling direct interaction from AI assistants.
harvest-mcp-server
Harvest time tracking integration with 40+ tools for managing time entries, projects, clients, tasks, and generating time reports via the Harvest API v2
purmemo
AI conversation memory that works everywhere — save and recall across Claude, ChatGPT, Gemini, Cursor, and all MCP-compatible platforms. 11 tools including shared community memories.
Reply.io
Control Reply.io sequences and contacts directly from your AI model. Manage outreach, pull stats, and enroll prospects — without leaving your AI chat.
WordPress Reader for Claude Desktop
Access WordPress.com feeds, notifications, tags, and manage blogs within Claude Desktop.
Squad AI
Your AI Product Manager. Surface insights, build roadmaps, and plan strategy with 30+ tools.