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
Metadata
Release files for mcp-jira-tools 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_jira_tools-0.1.1.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_jira_tools-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / mcp_jira_tools-0.1.1.tar.gz
| Download URL | mcp_jira_tools-0.1.1.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7daaf2031f974ced3cf460a593389d3ff6036be41b9b9f5bd552024a74d06e47
|
|
BLAKE2b-256 checksum How to use checksums |
6ba6bec49db39cffd80b39210d733ce1cd6c24b3cf30f834784abeb8732e2743
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / mcp_jira_tools-0.1.1-py3-none-any.whl
| Download URL | mcp_jira_tools-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
182f55281d7e287d0b32939abc47ec431906903e09a8b7161e0f630ea350d37b
|
|
BLAKE2b-256 checksum How to use checksums |
282c53826ca1d98e75fd77f4654d6bff64c1d6cc19ef2b3165a5820bf7f2212a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|