Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

jira-mini-mcp

by proprockversion 1.3.0i★ –iRuns on your computer
Registry nameio.github.proprock/jira-mini-mcp

Install

Overview

Description from the maker (original English)

Minimal Jira Cloud MCP server: broad reads, a narrow 3-tool write surface, optional read-only mode.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Developer tools
  • You need to fill in: JIRA_BASE_URL, JIRA_API_TOKEN, JIRA_OAUTH_CLIENT_SECRET

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: JIRA_BASE_URL, JIRA_AUTH_METHOD, JIRA_EMAIL, JIRA_API_TOKEN, JIRA_OAUTH_CLIENT_ID, JIRA_OAUTH_CLIENT_SECRET, READ_ONLY_MODE, STRUCTURED_OUTPUT, DISABLE_STRUCTURED_OUTPUT

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "jira-mini": {
      "command": "uvx",
      "args": [
        "jira-mini-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_AUTH_METHOD": "your-value",
        "JIRA_EMAIL": "your-value",
        "JIRA_API_TOKEN": "your-value",
        "JIRA_OAUTH_CLIENT_ID": "your-value",
        "JIRA_OAUTH_CLIENT_SECRET": "your-value",
        "READ_ONLY_MODE": "your-value",
        "STRUCTURED_OUTPUT": "your-value",
        "DISABLE_STRUCTURED_OUTPUT": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add jira-mini --env JIRA_BASE_URL=your-value --env JIRA_AUTH_METHOD=your-value --env JIRA_EMAIL=your-value --env JIRA_API_TOKEN=your-value --env JIRA_OAUTH_CLIENT_ID=your-value --env JIRA_OAUTH_CLIENT_SECRET=your-value --env READ_ONLY_MODE=your-value --env STRUCTURED_OUTPUT=your-value --env DISABLE_STRUCTURED_OUTPUT=your-value -- uvx jira-mini-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "jira-mini": {
      "command": "uvx",
      "args": [
        "jira-mini-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_AUTH_METHOD": "your-value",
        "JIRA_EMAIL": "your-value",
        "JIRA_API_TOKEN": "your-value",
        "JIRA_OAUTH_CLIENT_ID": "your-value",
        "JIRA_OAUTH_CLIENT_SECRET": "your-value",
        "READ_ONLY_MODE": "your-value",
        "STRUCTURED_OUTPUT": "your-value",
        "DISABLE_STRUCTURED_OUTPUT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "jira-mini": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "jira-mini-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_AUTH_METHOD": "your-value",
        "JIRA_EMAIL": "your-value",
        "JIRA_API_TOKEN": "your-value",
        "JIRA_OAUTH_CLIENT_ID": "your-value",
        "JIRA_OAUTH_CLIENT_SECRET": "your-value",
        "READ_ONLY_MODE": "your-value",
        "STRUCTURED_OUTPUT": "your-value",
        "DISABLE_STRUCTURED_OUTPUT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • JIRA_BASE_URL required env
    Your Jira Cloud site, e.g. https://example.atlassian.net
  • JIRA_AUTH_METHOD env
    api_token (default) or oauth; oauth needs an OAuth 2.0 (3LO) app and a one-time `jira-mini-mcp login`
  • JIRA_EMAIL env
    The email your Jira API token belongs to (JIRA_AUTH_METHOD=api_token)
  • JIRA_API_TOKEN secret env
    A Jira Cloud API token (JIRA_AUTH_METHOD=api_token)
  • JIRA_OAUTH_CLIENT_ID env
    Client ID of your OAuth 2.0 (3LO) app (JIRA_AUTH_METHOD=oauth)
  • JIRA_OAUTH_CLIENT_SECRET secret env
    Secret of your OAuth 2.0 (3LO) app (JIRA_AUTH_METHOD=oauth)
  • READ_ONLY_MODE env
    Set to true, 1, or on to register only the six read tools and withhold the three write tools
  • STRUCTURED_OUTPUT env
    Set to true, 1, or on to also send structuredContent and an outputSchema; by default each result is sent once, in content
  • DISABLE_STRUCTURED_OUTPUT env
    With STRUCTURED_OUTPUT=true, comma-separated tool names that still return content only, without structuredContent

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account proprock, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Developer toolsi

  • More stars than 0% of the other 4906 servers in this category
  • Published to the registry more recently than 48% of the other 4906 servers in this category
  • Basic checks equal to or better than 100% of the other 4906 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is jira-mini-mcp safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: JIRA_BASE_URL, JIRA_API_TOKEN, JIRA_OAUTH_CLIENT_SECRET

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.3.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: GitHub, Desktop Commander, Cloudflare MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

GitHub

by github

GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.

Computer or cloud★ 34,245MITUpdated 4 days ago
Install

Desktop Commander

by wonderwhy-er

MCP server for terminal commands, file operations, and process management

Runs on your computer★ 10,225MITUpdated 16 days ago
Install

Cloudflare MCP

by cloudflare

Cloudflare MCP servers

Runs in the cloud★ 4,446Apache-2.0Updated 14 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

jira-mini-mcp

A Jira Cloud MCP server for coding agents: 6 read tools, 9 with writes enabled.

One job. One tool. Done right.

General-purpose Atlassian MCP servers expose dozens to hundreds of tools. Every one costs context before the agent does any useful work, and every near-duplicate makes the agent's choice less certain. This server gives a coding agent the Jira context it needs for a ticket, the three ways to answer back, and nothing else.

  • 6-9 tools, not 98 - every one earns its place in context, and the descriptions are tested so an agent picks the right one; see why so few and how it's compared with the alternatives.
  • A write surface of exactly three tools - comment, transition, update. Set READ_ONLY_MODE=true and they never register, not even as a disabled entry the agent can see.
  • Compact, predictable output - stable JSON schemas, Markdown for rich text, no null spam, no self URLs, emails, or avatars; see what the tools return.
  • Roughly 40% less output on the wire - each result is sent once, as JSON in content, rather than again as structuredContent; set STRUCTURED_OUTPUT=true if your host needs the typed copy. See Cheaper output.
  • Nothing is silently cut short - exact totals on comments and changelog, cursor paging on search, and limit=0 to fetch the rest. A failed request is an error, never an empty list.
  • Errors an agent can act on - a wrong transition name lists every valid transition and where it leads, so there is no separate discovery tool. Errors never contain your Jira URL, credentials, or raw response bodies.
  • API token or OAuth - one minute with an API token, or a browser login through your own OAuth 2.0 app with automatic refresh; see Configure.
  • On PyPI - uvx jira-mini-mcp or pip install jira-mini-mcp, no repo clone or git URL required.
ToolAccessPurpose
search_issues🟢 readFind issues with JQL
get_issue🟢 readOne issue's core state and fields
get_comments🟢 readRecent or historical discussion, paginated
get_attachments🟢 readAttachment metadata
download_attachment🟢 readFetch one attachment
get_changelog🟢 readField-change history, paginated
add_comment🔴 writePost one Markdown comment
transition_issue🔴 writeMove an issue through its workflow
update_issue🔴 writeSet issue fields

[!TIP]

Set READ_ONLY_MODE=true and only the six 🟢 read tools register - the

three 🔴 write tools are withheld entirely, see Configure.

  • Install
  • Configure
  • Writing to Jira
  • Why so few tools
  • Compared with the alternatives
  • Contributing and security

More detail lives in docs/: configuration, OAuth setup, and what the tools return, with examples.

Install

uvx jira-mini-mcp

or

pip install jira-mini-mcp

Pin a version when you want a fixed surface: uvx jira-mini-mcp==1.1.0.

Running an unreleased commit straight from GitHub also works:

uvx --from git+https://github.com/proprock/jira-mini-mcp jira-mini-mcp

Requires Python 3.12+ and uv (or pip).

Configure

With an API token, three values:

VariableMeaning
JIRA_BASE_URLYour site, e.g. https://example.atlassian.net
JIRA_EMAILThe email your API token belongs to
JIRA_API_TOKENA Jira Cloud API token

Add READ_ONLY_MODE=true to withhold the write tools. Every setting, including STRUCTURED_OUTPUT, is in configuration.md.

[!NOTE]

Prefer OAuth to a stored token? Set JIRA_AUTH_METHOD=oauth, register a

free OAuth 2.0 (3LO) app, and run jira-mini-mcp login once to authorize in

your browser. The server then refreshes its token by itself. Step by step:

oauth.md.

Configuration is validated at startup, and an error names the missing setting without printing its value or your Jira URL. Keep the token in the host's own configuration and never commit it. The server acts with your account's permissions: an account that cannot transition an issue still cannot, whatever this server exposes.

Claude Code

claude mcp add --env JIRA_BASE_URL=https://example.atlassian.net --env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=your-token --transport stdio jira-mini -- uvx jira-mini-mcp

Put at least one other option between the last --env and the server name, as above - the CLI otherwise reads the name as another KEY=value pair.

Claude Desktop

In claude_desktop_config.json:

{

"mcpServers": { "jira-mini": { "command": "uvx", "args": ["jira-mini-mcp"], "env": { "JIRA_BASE_URL": "https://example.atlassian.net", "JIRA_EMAIL": "you@example.com", "JIRA_API_TOKEN": "your-token" } } } }

Codex CLI

codex mcp add jira-mini --env JIRA_BASE_URL=https://example.atlassian.net --env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=your-token -- uvx jira-mini-mcp

Any other stdio host

Command uvx, argument jira-mini-mcp, and the three environment variables. Add READ_ONLY_MODE=true to withhold the write tools. OAuth host examples are in oauth.md.

Writing to Jira

Three tools, chosen so an agent can close the loop on a ticket it worked:

add_comment(issue_key, body)

transition_issue(issue_key, to, comment=None) update_issue(issue_key, fields)

Issue creation, links, attachment upload, worklogs, and deletion are out of scope. Creation needs per-project, per-type required-field discovery and is a feature in its own right; a link, or a request for one, fits in a comment.

Three things are worth knowing before an agent writes:

  • `transition_issue` takes a name, not an id. A transition name or the name of the status to reach, matched ignoring case. They differ in real workflows - a transition called In Progress can produce a status called In Development, and two differently named transitions can reach one status - so prefer the transition name. When nothing matches, the error lists every available transition and where it leads. To see the options first, ask get_issue(fields=["transitions"]). That is why there is no separate get_transitions tool.
  • `update_issue` replaces `labels` and `components` wholesale. There is no add or remove verb, so read the issue first if you mean to add one value. It takes the same values get_issue returns: assignee as an account id, an email, a display name, or the literal "me", description as Markdown, customfield_* as raw Jira JSON. It refuses status and comment, naming the tool that does each.
  • Markdown is converted, not guessed at. Headings, lists, fenced code, inline marks, and links become Jira rich text; anything outside that set stays literal rather than being reinterpreted.

Each write tool is annotated readOnlyHint=false with honest destructiveHint and idempotentHint values, which is what READ_ONLY_MODE filters on.

Why so few tools

A tool definition is a name, a description, an input schema, and often an output contract. Depending on the client, all of it enters the model's context before any work happens. A large toolset therefore spends context on capabilities the current task will never use, and raises the chance of picking the wrong tool, confusing similar ones, or passing bad parameters.

Six to nine compact schemas stay affordable for a whole session, leaving the context budget for source code, issue descriptions, stack traces, and reasoning. The design follows Anthropic's guidance for agent systems: keep toolsets small, role-scoped, and clearly differentiated.

This is a claim, so the repository tests it. The offline half runs with the suite and checks that every tool is described substantially, that no two descriptions are near-duplicates, and that every parameter whose behavior cannot be guessed from its name is explained in prose. The other half puts the real tool definitions in front of a real model and scores which one it picks - see evals/README.md.

The same principle shapes the responses. get_issue does not dump hundreds of comments, the full changelog, attachment contents, or every custom field; large resources are fetched only when asked for.

Compared with the alternatives

jira-mini-mcpOfficial Atlassian MCPsooperset/mcp-atlassian
ScopeJira onlyJira, Confluence, JSM, Bitbucket, Compass, Loom, and moreJira and Confluence
DeploymentsCloudCloudCloud, Server/Data Center
HostingLocal, stdioRemote, Atlassian-hostedLocal (stdio, Docker) or HTTP
AuthAPI token or OAuth 2.0 (own app)OAuth 2.1 or API tokenAPI token, PAT, or OAuth 2.0 (own app)
Tools6-9, always visibleA small default set with on-demand discovery98
Writes3 toolsYes, admin-gated by categoryYes
LicenseMITApache 2.0MIT

The official server is the better choice when you need breadth across Atlassian products, OAuth without registering an app of your own, Jira Service Management, or organization-level controls such as permission groups, IP allowlisting, and audit logs. It is Atlassian's own product, it tracks their APIs, and nothing here competes with that.

`mcp-atlassian` is the better choice when you need Confl

Only the beginning is shown; read the rest in the repo

Ask PopNx