Interact with JIRA to search for issues using JQL and retrieve 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%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-mcp"],
"env": {
"JIRA_INSTANCE_URL": "https://your-instance.atlassian.net",
"JIRA_USER_EMAIL": "your-email@company.com",
"JIRA_API_KEY": "your-api-token"
}
}
}
}
jql_search
)Executes a JQL search query with customizable parameters.
Parameters:
jql
(required): JQL query stringnextPageToken
: Token for paginationmaxResults
: Maximum number of results to returnfields
: Array of field names to includeexpand
: Additional information to includeExample:
{
"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 keyfields
: Array of field names to includeexpand
: Additional information to includeproperties
: Array of properties to includefailFast
: Whether to fail quickly on errorsExample:
{
"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
JIRA_USER_EMAIL=your-email@company.com
JIRA_API_KEY=your-api-token
Replace the values with:
To install JIRA for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install jira-mcp --client claude
git clone <repository-url>
cd jira-mcp
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.
An MCP server for managing Tempo worklogs in Jira. It connects to Jira and Tempo services using API tokens and environment variables.
Converts Markdown text into HTML compatible with WeChat official accounts using an external API key.
Manage your tasks and daily planning through the Sunsama API.
Interact with Google Calendar APIs to manage events and calendars.
A macOS app that connects your digital life with AI, providing access to Calendar, Contacts, Location, Maps, Messages, Reminders, and Weather services.
Integrate with Google Tasks to manage your to-do lists and tasks.
Interact with the Folderr API to manage and communicate with Folderr Assistants.
A comprehensive toolkit for text processing, formatting, and analysis.
Capture screenshots and read the clipboard on Windows from within a WSL environment.
Generates PowerPoint presentations (PPTs) based on specified topics using the Gezhe API.