Jira MCP Server
A production-ready Model Context Protocol (MCP) server for Jira project management. Connect any AI agent to Jira — create issues, search with JQL, manage workflows, track sprints, and more.
This is an independent, generalized MCP server. It is not tied to any specific project and can be connected to any AI agent that supports MCP (Claude Desktop, Cursor, WorkOS, or custom agents).
Features
- 🎫 Issues: Create, read, update, search, and transition issues
- 🔍 JQL Search: Full Jira Query Language support
- 🔄 Workflows: Transition issues through statuses (To Do → In Progress → Done)
- 💬 Comments: Add comments to issues
- 📋 Projects: List accessible projects
- 🏃 Sprints: List sprints and get board details
Installation
Recommended — no pre-install required (uses uv):
# uv manages a temporary isolated environment automatically
uvx --from workos-jira-mcp-server jira-mcp-server
Or install permanently with pip:
pip install workos-jira-mcp-server
Or install from source:
git clone https://github.com/workos/workos-jira-mcp-server
cd workos-jira-mcp-server
pip install -e .
Quick Start
export JIRA_BASE_URL="https://your-org.atlassian.net"
export JIRA_EMAIL="you@company.com"
export JIRA_API_TOKEN="your-api-token"
# Recommended: run via uvx (no install needed)
uvx --from workos-jira-mcp-server jira-mcp-server
# Or if installed via pip
jira-mcp-server
# Or run as a Python module
python -m jira_mcp_server
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
JIRA_BASE_URL |
✅ Yes | Jira instance URL (e.g., https://your-org.atlassian.net) |
JIRA_EMAIL |
✅ Yes | Email for Jira authentication |
JIRA_API_TOKEN |
✅ Yes | API token (generate here) |
Getting a Jira API Token
- Go to Atlassian API Tokens
- Click Create API token
- Give it a label and click Create
- Copy the token
Connecting to AI Agents
Note: Use
uvx --from workos-jira-mcp-server jira-mcp-serverin all configs below. The--fromflag is needed because the PyPI package name (workos-jira-mcp-server) differs from the CLI entry point (jira-mcp-server). You must have uv installed (brew install uvon macOS).
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "uvx",
"args": ["--from", "workos-jira-mcp-server", "jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "https://your-org.atlassian.net",
"JIRA_EMAIL": "you@company.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Alternative — if you have installed via
pip install workos-jira-mcp-serverand prefer not to use uvx, use the full absolute path to the binary instead:{ "command": "/path/to/your/bin/jira-mcp-server" }Find the path with:
which jira-mcp-server
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"jira": {
"command": "uvx",
"args": ["--from", "workos-jira-mcp-server", "jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "https://your-org.atlassian.net",
"JIRA_EMAIL": "you@company.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
VS Code (GitHub Copilot / MCP extension)
Edit .vscode/mcp.json in your project:
{
"servers": {
"jira": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "workos-jira-mcp-server", "jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "${input:jiraBaseUrl}",
"JIRA_EMAIL": "${input:jiraEmail}",
"JIRA_API_TOKEN": "${input:jiraToken}"
}
}
},
"inputs": [
{
"id": "jiraBaseUrl",
"type": "promptString",
"description": "Jira Site URL (e.g., https://your-org.atlassian.net)"
},
{
"id": "jiraEmail",
"type": "promptString",
"description": "Jira account email"
},
{
"id": "jiraToken",
"type": "promptString",
"description": "Jira API Token",
"password": true
}
]
}
WorkOS / Custom Agents
Add to .mcp.json in your project root:
{
"mcpServers": {
"jira": {
"transport": "stdio",
"command": "uvx",
"args": ["--from", "workos-jira-mcp-server", "jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "${JIRA_BASE_URL}",
"JIRA_EMAIL": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}
Available Tools (9)
| Tool | Description |
|---|---|
jira_get_issue |
Get a Jira issue by key |
jira_create_issue |
Create a new issue |
jira_update_issue |
Update fields on an existing issue |
jira_search_issues |
Search issues using JQL |
jira_transition_issue |
Transition an issue to a new status |
jira_add_comment |
Add a comment to an issue |
jira_list_projects |
List all accessible projects |
jira_list_sprints |
List sprints for a board |
jira_get_board |
Get board details |
Development
git clone https://github.com/workos/workos-jira-mcp-server
cd workos-jira-mcp-server
pip install -e .
# Run tests
pytest
# Run the server locally
JIRA_BASE_URL=https://test.atlassian.net JIRA_EMAIL=test@co.com JIRA_API_TOKEN=test python -m jira_mcp_server
Publishing
To PyPI
pip install build twine
rm -rf dist/ build/ src/*.egg-info
python -m build
pip install "packaging>=24.2" # required for Metadata 2.4 support in twine
twine check dist/* # validate before uploading
twine upload dist/*
To MCP Registry
mcp-publisher login github
mcp-publisher publish
License
MIT — see LICENSE for details.
Metadata
Release files for workos-jira-mcp-server 1.0.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 | Provenance | Actions |
|---|---|---|---|---|
| workos_jira_mcp_server-1.0.1.tar.gz | 16.7 kB | Without provenance | Details for workos_jira_mcp_server-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| workos_jira_mcp_server-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for workos_jira_mcp_server-1.0.1-py3-none-any.whl |
Total release size: 32.5 kB
Release files / workos_jira_mcp_server-1.0.1.tar.gz
| Download URL | workos_jira_mcp_server-1.0.1.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8a54c0d1deea5125e0c71ea88839c299cb522b726cccfc6378c6b66c68f258c
|
|
BLAKE2b-256 checksum How to use checksums |
c8be18caa96b7c3db23426f84092289b826bf6747c414bd46df83bfe83bdf40f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / workos_jira_mcp_server-1.0.1-py3-none-any.whl
| Download URL | workos_jira_mcp_server-1.0.1-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee31af363fe440ed154910bdd571f8d1f1c10050976ba7d355045ec24b80a61c
|
|
BLAKE2b-256 checksum How to use checksums |
e29ac0cc17d61a306141c63f05564dfb427e9bfa52651c2c13fbffc96f8d48f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Security for workos-jira-mcp-server 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.