jira mcp
Provides capabilities for searching [Jira](https://www.atlassian.com/software/jira) issues using JQL and retrieving detailed issue information.
Provides capabilities for searching [Jira](https://www.atlassian.com/software/jira) issues using JQL and retrieving detailed issue information.
An MCP server that enables Large Language Models (LLMs) to interact with JIRA through standardized tools and context. This server provides capabilities for searching issues using JQL and retrieving detailed issue information.
npm
installedJIRA_API_KEY
JIRA_USER_EMAIL
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%Claudeclaude_desktop_config.json
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-mcp"],
"env": {
"JIRA_INSTANCE_URL": "https://your-instance.atlassian.net",
"JIRA_USER_EMAIL": "[email protected]",
"JIRA_API_KEY": "your-api-token"
}
}
}
}
jql_search
)Executes a JQL search query with customizable parameters.
Parameters:
- jql
(required): JQL query string
- nextPageToken
: Token for pagination
- maxResults
: Maximum number of results to return
- fields
: Array of field names to include
- expand
: Additional information to include
Example:
{
"jql": "project = 'MyProject' AND status = 'In Progress'",
"maxResults": 10,
"fields": ["summary", "status", "assignee"]
}
get_issue
)Retrieves detailed information about a specific issue.
Parameters:
- issueIdOrKey
(required): Issue ID or key
- fields
: Array of field names to include
- expand
: Additional information to include
- properties
: Array of properties to include
- failFast
: Whether to fail quickly on errors
Example:
{
"issueIdOrKey": "PROJ-123",
"fields": ["summary", "description", "status"],
"expand": "renderedFields,names"
}
Set up your environment variables before running the server. Create a .env
file in the root directory:
JIRA_INSTANCE_URL=https://your-instance.atlassian.net
[email protected]
JIRA_API_KEY=your-api-token
Replace the values with: - Your actual JIRA instance URL - The email address associated with your JIRA account - Your JIRA API token (can be generated in Atlassian Account Settings)
To install JIRA for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install jira-mcp --client claude
Clone this repository:
git clone <repository-url>
cd jira-mcp
Install dependencies:
npm install
For testing and development, you can use the MCP Inspector:
npm run inspect
To add new tools, modify the ListToolsRequestSchema
handler in index.js
:
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
// Existing tools...
{
name: "your_new_tool",
description: "Description of your new tool",
inputSchema: {
// Define input schema...
}
}
]
};
});
Then implement the tool in the CallToolRequestSchema
handler.
MIT
Contributions are welcome! Please feel free to submit a PR.
[
{
"description": "Perform enhanced JQL search in Jira",
"inputSchema": {
"properties": {
"expand": {
"description": "Additional info to include in the response",
"type": "string"
},
"fields": {
"description": "List of fields to return for each issue",
"items": {
"type": "string"
},
"type": "array"
},
"jql": {
"description": "JQL query string",
"type": "string"
},
"maxResults": {
"description": "Maximum results to fetch",
"type": "integer"
},
"nextPageToken": {
"description": "Token for next page",
"type": "string"
}
},
"required": [
"jql"
],
"type": "object"
},
"name": "jql_search"
},
{
"description": "Retrieve details about an issue by its ID or key.",
"inputSchema": {
"properties": {
"expand": {
"description": "Additional information to include in the response",
"type": "string"
},
"failFast": {
"default": false,
"description": "Fail quickly on errors",
"type": "boolean"
},
"fields": {
"description": "Fields to include in the response",
"items": {
"type": "string"
},
"type": "array"
},
"issueIdOrKey": {
"description": "ID or key of the issue",
"type": "string"
},
"properties": {
"description": "Properties to include in the response",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"issueIdOrKey"
],
"type": "object"
},
"name": "get_issue"
}
]