jira-ticket-mcp
Minimal MCP server for managing Jira Cloud tickets.
The official Jira MCP server exposes a tool surface large enough to crowd out an LLM's context. This one exposes a deliberately small, curated set of tools covering the actions that actually get used.
Configuration
The server reads three settings, from environment variables or from the equivalent CLI arguments (CLI wins):
| Environment variable | CLI argument | Description |
|---|---|---|
JIRA_BASE_URL |
--jira-base-url |
Your Jira site, e.g. https://example.atlassian.net or https://jira.example.com |
JIRA_EMAIL |
--jira-email |
The account email the API token belongs to (Cloud only) |
JIRA_API_TOKEN |
--jira-api-token |
A Cloud API token, or a Data Center/Server personal access token |
JIRA_API_VERSION |
--jira-api-version |
Force REST API 2 or 3; autodetected from the host if unset |
Running
uvx jira-ticket-mcp --jira-base-url https://example.atlassian.net \
--jira-email you@example.com \
--jira-api-token "$JIRA_API_TOKEN"
As an MCP server entry, e.g. for Claude Code:
{
"mcpServers": {
"jira": {
"command": "uvx",
"args": ["jira-ticket-mcp"],
"env": {
"JIRA_BASE_URL": "https://example.atlassian.net",
"JIRA_EMAIL": "you@example.com",
"JIRA_API_TOKEN": "..."
}
}
}
}
Tools
| Tool | What it does |
|---|---|
whoami |
Return the authenticated account, including its accountId |
search_issues |
Search by JQL, returning a trimmed projection rather than full issues |
get_issue |
Fetch one issue in full detail |
list_transitions |
List the status transitions currently valid for an issue |
create_issue |
Create an issue; parent_key makes it a subtask or attaches it to an epic |
batch_create_issues |
Create many issues, returning a per-item result |
edit_issue |
Change any subset of summary, description, assignee, priority, type, parent, labels |
remove_issue |
Delete an issue |
transition_issue |
Move an issue to a new status |
link_issues |
Link two issues with a named link type |
add_comment / list_comments / remove_comment |
Manage comments |
Descriptions and comments are markdown in both directions; the server converts to and from Atlassian Document Format at the boundary.
Shrinking the surface further
Register only the tools you need with --tools:
uvx jira-ticket-mcp --tools search_issues,get_issue,edit_issue
Unlisted tools are never registered, so they cost the caller no context.
Notes
- Jira Cloud (REST API v3, email + API token) and Data Center/Server (REST API v2,
personal access token) are both supported. The API version is autodetected from
the host (
*.atlassian.net→ v3, anything else → v2); override withJIRA_API_VERSION/--jira-api-versionif autodetection picks the wrong one. - Epics are linked through the
parentfield, which works on team-managed projects. Company-managed projects use an instance-specific Epic Link custom field; on those, setting a parent fails with an error saying so. batch_create_issuesnever raises on partial failure — Jira does not roll back, so it reports which items landed and which did not.
Development
pip install -e ".[test,dev]"
pytest
pre-commit run --all-files
License
MIT
Metadata
Release files for jira-ticket-mcp 0.2.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 |
|---|---|---|---|---|
| jira_ticket_mcp-0.2.1.tar.gz | 42.2 kB | With provenance | Details for jira_ticket_mcp-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jira_ticket_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for jira_ticket_mcp-0.2.1-py3-none-any.whl |
Total release size: 60.5 kB
Release files / jira_ticket_mcp-0.2.1.tar.gz
| Download URL | jira_ticket_mcp-0.2.1.tar.gz |
|---|---|
| Size | 42.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94c0b23a2c948b1f85c22d51e1b49203b903c8b7a39d561f1e86fe36a1f5ea4f
|
|
BLAKE2b-256 checksum How to use checksums |
12ce7fb13b0e23563bc1827d901e2796a9b72000d9df2c469a13d663d729717a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.
Transparency logRelease files / jira_ticket_mcp-0.2.1-py3-none-any.whl
| Download URL | jira_ticket_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 18.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bf0d2caad47acb1ec5c6d94063571a12b7ab751055dac658fc0092ea6ec1551e
|
|
BLAKE2b-256 checksum How to use checksums |
53c06468e502a36bb9c37eeb9ec1e0078f11d93ba5d3b33473fc63aced0f6a8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.
Transparency logSecurity for jira-ticket-mcp 0.2.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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for jira_ticket_mcp-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.
Transparency logA 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.