Jira MCP Server
Enables AI assistants to interact with Jira Server/Data Center for fetching incidents, searching issues, adding comments, and managing transitions.
README
Jira MCP Server
A Model Context Protocol (MCP) server that exposes Jira Server/Data Center functionality as tools for AI assistants like Claude, Cursor, and other MCP-compatible clients.
Features
Available Tools
- get_incidents - Fetch incidents with optional filters (project, status, priority)
- get_incident_by_key - Get detailed information about a specific issue
- search_issues - Run custom JQL queries
- add_comment - Add comments to issues
- get_transitions - Get available status transitions for an issue
- update_status - Transition an issue to a new status
Installation
1. Clone or Download
cd jira-mcp-server
2. Create Virtual Environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
3. Install Dependencies
pip install -r requirements.txt
4. Configure Environment
Copy .env.example to .env and fill in your Jira credentials:
cp .env.example .env
Edit .env:
JIRA_BASE_URL=https://your-jira-instance.com
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token-here
JIRA_PROJECT_KEY=YOUR_PROJECT_KEY
Getting Your Jira API Token
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Give it a name and copy the token
- Paste it in your
.envfile
Usage
Running the Server
Stdio Mode (for Claude Desktop, local clients)
python server.py
SSE Mode (for remote/hosted clients, MCP Inspector)
python server.py --transport sse
The server will start on http://0.0.0.0:8000/mcp
Testing with MCP Inspector
-
Start the server in SSE mode:
python server.py --transport sse -
Open MCP Inspector and connect to:
http://localhost:8000/mcp -
You should see all 6 tools available for testing
Integrating with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"jira": {
"command": "python",
"args": ["/path/to/jira-mcp-server/server.py"],
"env": {
"JIRA_BASE_URL": "https://your-jira-instance.com",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Example Queries
Once connected, you can ask Claude:
- "Show me all high priority incidents in the OPS project"
- "Get details for issue OPS-123"
- "Add a comment to OPS-123 saying 'Working on this now'"
- "What are the available transitions for OPS-123?"
- "Move OPS-123 to In Progress"
- "Search for all open bugs in project ABC"
Configuration Options
Environment Variables
JIRA_BASE_URL- Your Jira instance URL (required)JIRA_EMAIL- Your Jira email (required)JIRA_API_TOKEN- Your Jira API token (required)JIRA_PROJECT_KEY- Default project key (optional)MCP_HOST- Server host for SSE mode (default: 0.0.0.0)MCP_PORT- Server port for SSE mode (default: 8000)
Troubleshooting
Connection Issues
If you see 404 errors when connecting:
- Make sure you're connecting to
/mcpendpoint, not just/ - Correct:
http://localhost:8000/mcp - Incorrect:
http://localhost:8000/
Authentication Issues
- Verify your API token is correct
- Check that your email matches your Jira account
- Ensure your Jira instance URL doesn't have a trailing slash
Permission Issues
Make sure your Jira account has permissions to:
- View issues
- Add comments
- Transition issues (if using update_status)
Development
Project Structure
jira-mcp-server/
├── server.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── .env # Your configuration (not in git)
├── .env.example # Example configuration
├── .gitignore # Git ignore rules
└── README.md # This file
Adding New Tools
To add a new tool, use the @mcp.tool() decorator:
@mcp.tool()
def my_new_tool(param1: str, param2: int = 10) -> str:
"""
Description of what the tool does.
Args:
param1: Description of param1
param2: Description of param2
Returns:
Description of return value
"""
# Your implementation here
return "result"
License
MIT License - feel free to use and modify as needed.
Support
For issues or questions:
- Check the troubleshooting section above
- Review the MCP documentation: https://modelcontextprotocol.io
- Check FastMCP documentation: https://github.com/jlowin/fastmcp
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.