Skip to main content
Glama

How it works

1 · Start a ticket

"I'm starting ABC-1, get me ready."

Readiness, blockers, acceptance criteria, next steps and a branch name — before you write a line.

2 · Verify before the PR

"Check my branch against ABC-1 before I open the PR."

Your local diff against the acceptance criteria and Definition of Done, with one verdict — ready_for_pr, needs_work or insufficient_evidence — and the files behind each criterion.

3 · Hand off

"Post the QA handoff to ABC-1."

QA handoffs, release notes, test plans and reviews. With write-back on, the agent shows you a preview and waits for your approval.

Related MCP server: jira-mcp

Install

You need Node.js 22+, your Jira Cloud URL, your Atlassian email and an API token.

/plugin marketplace add teransarathchandra/jira-mcp-server
/plugin install jira-delivery@jira-delivery

It asks for your site, email and token (the token goes to secure storage). Without the plugin:

claude mcp add jira-delivery \
  -e JIRA_BASE_URL=https://your-domain.atlassian.net \
  -e JIRA_EMAIL=you@example.com \
  -e JIRA_API_TOKEN=your-api-token \
  -- npx -y jira-delivery-mcp

Click Add to Cursor and replace the three placeholder values, or add the JSON below to ~/.cursor/mcp.json.

Click Install in VS Code (or Insiders). VS Code asks for your site, email and token and stores the token as a secret.

Manually: add to .vscode/mcp.json — VS Code uses servers, not mcpServers:

{
  "servers": {
    "jira-delivery": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "jira-delivery-mcp"],
      "env": { "JIRA_BASE_URL": "https://your-domain.atlassian.net", "JIRA_EMAIL": "you@example.com", "JIRA_API_TOKEN": "your-api-token" }
    }
  }
}

Add to the client's MCP config — Windsurf: Settings → MCP Servers; Claude Desktop: claude_desktop_config.json:

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

In ~/.codex/config.toml:

[mcp_servers.jira-delivery]
command = "npx"
args = ["-y", "jira-delivery-mcp"]
env = { JIRA_BASE_URL = "https://your-domain.atlassian.net", JIRA_EMAIL = "you@example.com", JIRA_API_TOKEN = "your-api-token" }

Check your setup: with the three variables exported, npx jira-delivery-mcp doctor verifies the login and prints the custom-field ids your site needs (acceptance criteria, story points, epic). Other agents can add the jira-delivery skill, also attached to each release.

Tools

Step

Tools

Start

jira_search_issues · jira_get_issue · jira_prepare_work_brief

Verify

delivery_check_changes · delivery_traceability_matrix

Hand off

delivery_generate · jira_add_comment* · jira_update_issue*

Context

confluence_search · confluence_get_page · delivery_project_patterns · delivery_generate_agent_pack

* Opt-in with JIRA_ENABLE_WRITES=true. Every tool returns typed structuredContent; see the tool reference.

Safe by default

  • 🔒 Local and private — runs on your machine over stdio; talks only to your Atlassian site; no telemetry.

  • ✋ Read-only unless you opt in — and then every write is previewed, waits for your approval, is sent once and audited.

  • 🧱 Ticket text is untrusted — fenced as data, scanned for prompt injection, never turned into instructions.

  • 🗝️ Credentials stay in your environment — never logged; redacted from all output.

Documentation

Usage · Tools · Configuration · Security · Troubleshooting · Migrating from 1.x · Changelog

Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md. Security reports: SECURITY.md.

MIT © Teran Sarathchandra

Available Tools

10 tools
confluence_get_pageGet a Confluence pageA
Read-only

Read a Confluence page by ID and return a cleaned, size-bounded summary of its content.

Inputs: pageId (required), maxChars. Returns: tool, issueKey, markdown, warnings, +1 more

delivery_check_changesCheck local changes against a Jira issueA
Read-only

Check work on a Jira issue: does the branch cover the acceptance criteria and meet the Definition of Done? alignment and dod compare the local diff with them — run them before opening a PR. impact predicts the affected areas and works before any code is written, so use checks ["impact"] when planning. Each check runs independently. Returns a verdict (ready_for_pr, needs_work, insufficient_evidence; not_applicable when only impact ran) and per-criterion coverage. Fetches the issue itself.

Inputs: issueKey (required), checks, repoPath, baseBranch, +3 more. Returns: data, tool, issueKey, markdown, +2 more

delivery_generateGenerate a delivery document for a Jira issueA
Read-only

Generate a delivery artifact from a Jira issue and the local diff: test_strategy, reviewer_report (needs persona), qa_handoff, release_notes (audience) or task_report (combined sections). Use test_strategy to plan tests and reviewer_report to review a ticket from a persona's point of view. Fetches the issue itself. Returns Markdown; writes no files.

Inputs: type (required), issueKey (required), persona, audience, +6 more. Returns: tool, issueKey, markdown, warnings, +1 more

delivery_generate_agent_packWrite an agent workflow pack into the repoA
DestructiveIdempotent

Write reusable Jira delivery prompts/commands for a coding agent into the repository (claude: .claude/commands and .claude/skills, codex: .codex-prompts/, generic: .mcp-prompts/).

Inputs: client (required), repoPath, overwrite. Returns: tool, issueKey, markdown, warnings, +1 more

delivery_project_patternsScan, read or clear stored project patternsA
DestructiveIdempotent

Detect the repository’s conventions (framework, test layout, tooling) and store them so other delivery tools can tailor their output. scan = detect and store, get = read stored patterns, clear = delete them. Storing requires DELIVERY_PATTERN_MEMORY_ENABLED=true in the server environment.

Inputs: action (required), repoPath. Returns: tool, issueKey, markdown, warnings, +1 more

delivery_traceability_matrixBuild a requirement traceability matrixA
Read-only

Build a requirements traceability matrix: map each requirement and acceptance criterion of a Jira issue to the changed files that implement it, and flag gaps. Fetches the issue itself. For a ready-for-PR verdict use delivery_check_changes.

Inputs: issueKey (required), repoPath, baseBranch, compareRef, +2 more. Returns: tool, issueKey, markdown, warnings, +1 more

jira_get_issueGet a Jira issueA
Read-only

Fetch a Jira issue as a developer brief: description, acceptance criteria, comments and attachments. Use depth "full" for parent/epic/linked-issue context and includeConfluence for related documentation. Use this to read a ticket. To start work, check readiness, verify changes or write a report, call jira_prepare_work_brief or the delivery_* tool directly: they fetch the issue themselves.

Inputs: issueKey (required), depth, includeConfluence. Returns: tool, issueKey, markdown, warnings, +1 more

jira_prepare_work_briefPrepare a work brief for a Jira issueA
Read-only

Turn a Jira issue into a ready-to-implement brief for a coding agent: goal, acceptance criteria, constraints and an implementation prompt. Use this when starting work on a ticket, or to check whether it is ready to start (readiness, blockers, missing acceptance criteria). Fetches the issue itself.

Inputs: issueKey (required), depth, allowElicitation, includeConfluence. Returns: data, tool, issueKey, markdown, +2 more

jira_search_issuesSearch Jira issuesA
Read-only

List open Jira issues assigned to the authenticated user, optionally limited to one project. Use this to find what to work on next. Pass jql to search with your own filter instead (e.g. "type = Bug AND sprint in openSprints() ORDER BY priority DESC"); it is limited to projectKey when given, and to the allowed projects when the strict allowlist is on. When more results exist, data.nextPageToken is set: pass it back as pageToken for the next page.

Inputs: jql, pageToken, maxResults, projectKey. Returns: data, tool, issueKey, markdown, +2 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools target clearly different stages: read (jira_get_issue), brief (jira_prepare_work_brief), verify (delivery_check_changes, delivery_traceability_matrix), and generate artifacts. The main risk is overlap between check_changes and traceability_matrix and between get_issue and prepare_work_brief, but descriptions explicitly steer callers between them.

    Naming Consistency4/5

    Consistent snake_case with meaningful domain prefixes (jira_, confluence_, delivery_), and most names are verb_noun. Minor deviations: delivery_project_patterns is a noun-only, multi-action tool (scan/get/clear) that breaks the pattern, and jira_prepare_work_brief sits under jira_ but is a workflow tool rather than a raw Jira verb.

    Tool Count5/5

    10 tools is squarely in the well-scoped range, with each covering a distinct delivery workflow step (read, search, brief, verify, generate). Nothing appears redundant or padding.

    Completeness3/5

    The read/verify/generate side of the lifecycle is well covered, but there are no write-back operations to Jira: no commenting, status transitions, or issue updates, which limits closing the loop after work is verified. Confluence is read-only, which is reasonable, but the missing Jira mutations are a notable gap for a delivery workflow.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to automate Jira and GitHub/GitLab workflows. It handles issues, branches, pull requests, and deployments with project-aware context and safety checks.
      32
      78 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables an AI coding agent to scan a day's git commits across work repositories and group them into Jira tickets, creating or updating them with estimates and logged time. It also surfaces actionable, categorized errors so an agent knows what failed and whether to retry.
      MIT