jira-minimal-mcp
Provides tools for interacting with Jira issues, including reading, searching via JQL, creating, updating, assigning, and managing comments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-minimal-mcpshow me issue PROJ-123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jira-minimal-mcp
Minimal MCP server for Jira. Only ~150-1500 tokens vs ~25,000 for official Atlassian MCP.
Installation
Docker (recommended)
docker pull vertliba/jira-minimal-mcpuv (local)
uv tool install git+https://github.com/vertliba/jira-minimal-mcpRelated MCP server: jira-mcp
Usage
Basic (only get_issue, ~150 tokens)
docker run -i --rm \
-e JIRA_URL=https://xxx.atlassian.net \
-e JIRA_USERNAME=user@example.com \
-e JIRA_API_TOKEN=xxx \
vertliba/jira-minimal-mcpWith additional features
docker run -i --rm \
-e JIRA_URL=https://xxx.atlassian.net \
-e JIRA_USERNAME=user@example.com \
-e JIRA_API_TOKEN=xxx \
vertliba/jira-minimal-mcp \
--enable-search --enable-commentsAll features (~1500 tokens)
docker run -i --rm \
-e JIRA_URL=https://xxx.atlassian.net \
-e JIRA_USERNAME=user@example.com \
-e JIRA_API_TOKEN=xxx \
vertliba/jira-minimal-mcp \
--enable-allCLI Arguments
Argument | Description | Tools |
(none) | Base functionality |
|
| JQL queries |
|
| Create issues |
|
| Update issues |
|
| Comments |
|
| All tools | All of the above |
Environment Variables
Variable | Required | Description |
| Yes | Jira instance URL (e.g., |
| Yes | Jira username/email |
| Yes | Jira API token (create here) |
MCP Client Configuration
Claude Code (.mcp.json)
{
"mcpServers": {
"jira": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network", "host",
"-e", "JIRA_URL", "-e", "JIRA_USERNAME", "-e", "JIRA_API_TOKEN",
"vertliba/jira-minimal-mcp", "--enable-search"],
"env": {
"JIRA_URL": "https://xxx.atlassian.net",
"JIRA_USERNAME": "user@example.com",
"JIRA_API_TOKEN": "YOUR_TOKEN"
}
}
}
}Codex (config.toml)
[mcp_servers.jira]
command = "docker"
args = ["run", "-i", "--rm", "--network", "host",
"-e", "JIRA_URL", "-e", "JIRA_USERNAME", "-e", "JIRA_API_TOKEN",
"vertliba/jira-minimal-mcp", "--enable-search"]
env = { JIRA_URL = "https://xxx.atlassian.net", JIRA_USERNAME = "user@example.com", JIRA_API_TOKEN = "YOUR_TOKEN" }Local (uv)
{
"mcpServers": {
"jira": {
"command": "uv",
"args": ["run", "jira-minimal-mcp", "--enable-search"],
"env": {
"JIRA_URL": "https://xxx.atlassian.net",
"JIRA_USERNAME": "user@example.com",
"JIRA_API_TOKEN": "YOUR_TOKEN"
}
}
}
}Why?
The official Atlassian MCP server includes 28 tools and consumes ~25,000 tokens of context on every request. This is wasteful if you only need to read issues.
jira-minimal-mcp starts with just 1 tool (~150 tokens) and lets you add only what you need.
License
MIT
Available Tools
1 tooljira_get_issueA
Get Jira issue by key (e.g., PROJ-123). Returns summary, status, type, assignee, and description.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the tool returns specific fields (summary, status, type, assignee, description) but does not mention permissions, side effects, rate limits, or other behavioral traits. For a simple read operation, this is acceptable but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is one sentence, front-loaded with action and resource. Every word adds value: verb, resource, key format, returned fields. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no annotations, output schema exists but not shown), the description is largely complete. It lists returned fields. However, it omits details like whether the issue key is case-sensitive or if authentication is required, but for a basic get tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'issue_key' is explained with an example (e.g., PROJ-123), clarifying the expected format. Schema had 0% description coverage, so the description fully compensates by adding meaningful context beyond the parameter name and type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get', resource 'Jira issue', and specifies the expected key format (e.g., PROJ-123). It also lists the returned fields: summary, status, type, assignee, description. No siblings exist to differentiate, so purpose is crystal clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, with no siblings listed and the tool being a straightforward retrieval, the description adequately implies its use. Lacks prerequisites or context about when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
jira_get_issue
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or ambiguity between tools.
The single tool follows a consistent verb_noun pattern (jira_get_issue), so naming is perfectly consistent.
A single tool for a Jira server is too few; typical usage requires multiple operations like create, update, or search, making this feel incomplete despite the 'minimal' label.
Only a read operation is provided; missing essential operations like create, update, delete, and search, leaving the surface severely incomplete for any meaningful workflow.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server that exposes Jira issue operations (get, search, create) as tools for AI clients like Claude.60 npmISC
- AlicenseNot gradedqualityCmaintenanceA token-lean MCP server for Jira Cloud that enables natural language interaction with issues, comments, transitions, and more through a set of seven normalized tools, reducing token usage via field allowlists and ADF-to-Markdown conversion.2MIT
- AlicenseAqualityBmaintenanceMCP server for Jira Cloud that lets AI agents search, read, and write Jira issues using your own Atlassian account and API token, with write operations gated behind explicit opt-in.525 npmMIT
- AlicenseAqualityBmaintenanceMCP server enabling AI assistants to interact with Jira, scoped to a single project. Supports stdio and HTTP transports for issue management operations.125 npmISC