Python Jira MCP Server
A Model Context Protocol (MCP) server implementation in Python that integrates with Jira API. This allows AI models to interact with Jira through a standardized protocol.
Overview
This MCP server exposes Jira API operations as tools that can be used by AI models supporting the Model Context Protocol. The server implements the stdio transport mechanism to communicate with clients like Cursor.
Features
- JQL Search Tool: Search for Jira issues using JQL queries
- Get Issue Tool: Retrieve detailed information about a specific Jira issue
- MCP SDK Integration: Compatible with the official MCP Python SDK
- Fallback Mode: Minimal implementation when the SDK is not available
- Environment Configuration: Load Jira credentials from environment variables
Requirements
- Python 3.8+
- Jira API access (API token, email, and domain)
- Required Python packages:
mcp
(Model Context Protocol Python SDK)aiohttp
(for HTTP requests)pydantic
(for validation)python-dotenv
(for environment variables)
Installation
Clone this repository:
git clone https://github.com/yourusername/python-jira-mcp.git cd python-jira-mcp
Install the dependencies:
pip install -r requirements.txt
Set up your Jira credentials:
cp .env.example .env # Edit .env with your Jira credentials
Usage
Running the Server
To start the MCP server, run:
python main.py
Or use the executable directly:
./main.py
The server will start and listen for MCP messages on standard input (stdin) and respond on standard output (stdout).
Integrating with Cursor
To use this MCP server with Cursor:
- Start the server (as above)
- In Cursor, configure the MCP server path to point to
main.py
- Use Jira tools directly within Cursor
Available Tools
JQL Search
Search for Jira issues using JQL (Jira Query Language).
Example:
{
"type": "tool_call",
"id": "123",
"name": "jql_search",
"parameters": {
"jql": "project = XYZ AND status = 'In Progress'",
"max_results": 10,
"fields": ["summary", "description", "status"]
}
}
Get Issue
Retrieve details about a specific Jira issue by its ID or key.
Example:
{
"type": "tool_call",
"id": "456",
"name": "get_issue",
"parameters": {
"issue_id_or_key": "XYZ-123",
"fields": ["summary", "description", "status", "assignee"],
"expand": "changelog"
}
}
Development
Project Structure
main.py
: Entry point for the MCP serversrc/server.py
: Main MCP server implementationsrc/tools/jira_tools.py
: Jira API tool implementationssrc/tool_schemas.py
: Tool schemas definition
Adding New Tools
To add a new Jira-related tool:
- Implement the tool function in
src/tools/jira_tools.py
- Add the tool schema in
src/tool_schemas.py
- Register the tool in
src/server.py
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Model Context Protocol
- Python MCP SDK
- Atlassian Jira API
Python Jira MCP Server
Project Details
- Chase-Bullock/python-jira-mcp
- Last Updated: 3/6/2025
Recomended MCP Servers
Model Context Protocol server for Directus
A Model Context Protocol (MCP) server for integrating with Notion workspaces (made before the official one )
prospeo-mcp-server
Organize your MCP servers in local workspaces, share them as Yet-Another-MCP through a single command
A dynamic MCP server that allows AI to create and execute custom tools through a meta-function architecture
A lightweight MCP server for session memory management
Python "hello world" mcp example for Warp Terminal
About A Model Context Protocol server that executes commands in the current WezTerm session
This read-only MCP Server allows you to connect to Salesforce Pardot data from Claude Desktop through CData JDBC...
MCP server generated from prompt: make an mcp server for finding dog shelters in san francisco...
MCP server that installs MCP Servers

BANANA-AI