MCP server for Jira integration
Project description
MCP Jira Tools
Installation (via PyPI)
Install the MCP Jira Tools package from PyPI:
pip install mcp-jira-tools
If you use a virtual environment (recommended):
python3 -m venv .venv source .venv/bin/activate pip install mcp-jira-tools
Using with Cursor AI
-
Register the MCP Server with Cursor
Add the following to your
~/.cursor/mcp.jsonconfiguration file:{ "mcpServers": { "jira-mcp": { "command": "python", "args": ["-m", "mcp_jira_tools.server"], "env": { "JIRA_SERVER_URL": "https://your-jira-instance.com", "JIRA_TOKEN": "your_jira_token", "JIRA_PROJECT_KEY": "your-project" } } } }
-
Start Cursor
- Open Cursor and ensure the MCP server is registered.
- Jira tools will be available in the Cursor tool interface.
-
No Session Management Needed
- Stdio transport is used; each Cursor session is a single process.
- No session IDs or session-specific error messages are required.
Overview
A FastMCP server that exposes tools for creating, updating, transitioning, searching, and retrieving Jira tickets. Designed for integration with Cursor AI using FastMCP's stdio transport.
Features
- FastMCP server with Streamable HTTP transport
- Full Jira integration (create, update, transition, search, get tickets)
- Pydantic models for parameter validation
- Multiple configuration methods
- Secure credential management
- Comprehensive error handling
- Easy integration with Cursor AI
Getting Started
1. Install Dependencies
pip install fastmcp jira pydantic
2. Configure Jira Settings
You can configure Jira settings in multiple ways:
A. Cursor MCP Configuration (Recommended)
Add Jira settings to your Cursor MCP configuration file (~/.cursor/mcp.json):
{
"mcpServers": {
"jira-mcp": {
"command": "python",
"args": ["-m", "mcp_jira_tools.server"],
"env": {
"JIRA_SERVER_URL": "https://your-jira-instance.com",
"JIRA_TOKEN": "your_jira_token",
"JIRA_PROJECT_KEY": "your-project"
}
}
}
}
This configuration:
- Defines a server named "jira-mcp"
- Runs the server using Python
- Sets Jira configuration via environment variables
- Cursor will automatically start the server when needed
B. Environment Variables
export JIRA_SERVER_URL="https://your-jira-instance.com"
export JIRA_TOKEN="your-token"
export JIRA_PROJECT_KEY="your-project" # optional
C. Runtime Configuration
Use the configure_jira tool to set configuration at runtime:
from fastmcp import FastMCP
mcp = FastMCP()
result = await mcp.invoke(
"configure_jira",
{
"server_url": "https://your-jira-instance.com",
"token": "your-token",
"project_key": "your-project"
}
)
3. Using the Tools
Example: Create a Ticket
from fastmcp import FastMCP
mcp = FastMCP()
result = await mcp.invoke(
"create_ticket",
{
"project": "PROJ",
"summary": "Test issue",
"description": "Created by test",
"issuetype": "Task"
}
)
Example: Search Tickets
from fastmcp import FastMCP
mcp = FastMCP()
result = await mcp.invoke(
"search_tickets",
{
"project": "PROJ",
"status": "Open",
"assignee": "currentUser()",
"summary": "Test"
}
)
4. Available Tools
Resource Endpoints
resource://jira/metadata- Server metadata and supported operationsresource://jira/config- Server configuration
Tool Endpoints
create_ticket- Create a new Jira ticketupdate_ticket- Update an existing tickettransition_ticket- Change ticket statussearch_tickets- Search for ticketsget_ticket- Get ticket detailsconfigure_jira- Configure Jira settings
5. Development
Project Structure
mcp-jira-tools/
├── mcp_jira_tools/
│ ├── __init__.py
│ ├── server.py # FastMCP server and tool definitions
│ ├── jira_client.py # Jira client abstraction
│ └── config.py # Configuration management
├── tests/
│ ├── __init__.py
│ ├── test_mcp_jira_tools.py
│ └── mock_jira_server.py
├── requirements.txt
└── README.md
Running Tests
pytest tests/
Running the Server
python -m mcp_jira_tools.server
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_jira_tools-0.1.1.tar.gz.
File metadata
- Download URL: mcp_jira_tools-0.1.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7daaf2031f974ced3cf460a593389d3ff6036be41b9b9f5bd552024a74d06e47
|
|
| MD5 |
e89c2392591ac6f7fd811e4b95aec4f9
|
|
| BLAKE2b-256 |
6ba6bec49db39cffd80b39210d733ce1cd6c24b3cf30f834784abeb8732e2743
|
File details
Details for the file mcp_jira_tools-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mcp_jira_tools-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
182f55281d7e287d0b32939abc47ec431906903e09a8b7161e0f630ea350d37b
|
|
| MD5 |
7aad6d9ab0ac33bdd64f76dc6312422a
|
|
| BLAKE2b-256 |
282c53826ca1d98e75fd77f4654d6bff64c1d6cc19ef2b3165a5820bf7f2212a
|