Skip to content

Swap the Atlassian MCP for the working jira MCP (sooperset/mcp-atlassian) across setup.sh, skills, and app #528

@dhilgaertner

Description

@dhilgaertner

Summary

Replace the Atlassian remote MCP (mcp.atlassian.com/v1/mcp, server name atlassian) — added in #522/#524 but not working — with the jira MCP that is confirmed working (ghcr.io/sooperset/mcp-atlassian, stdio via Docker). Everything that currently uses the Atlassian MCP for Jira fetch / create / assign / transition should switch to the jira MCP.

Why

The Atlassian remote MCP server doesn't work in our setup. A self-hosted jira MCP (sooperset/mcp-atlassian) is already configured globally and works. Migrate all Crow Jira tooling to it and remove the Atlassian one.

The two servers

Old — remove (atlassian):

{ "atlassian": {
    "type": "http",
    "url": "https://mcp.atlassian.com/v1/mcp",
    "headers": { "Authorization": "${ATLASSIAN_MCP_AUTHORIZATION}" } } }
  • Cloud-hosted; requires a cloudId resolution step (getAccessibleAtlassianResources).
  • Tools: getJiraIssue, createJiraIssue, editJiraIssue, transitionJiraIssue, getTransitionsForJiraIssue, lookupJiraAccountId, atlassianUserInfo.

New — adopt (jira, already in ~/.claude.json):

{ "jira": {
    "type": "stdio",
    "command": "docker",
    "args": ["run","-i","--rm","-e","JIRA_URL","-e","JIRA_USERNAME","-e","JIRA_API_TOKEN",
             "ghcr.io/sooperset/mcp-atlassian:latest","--transport","stdio"] } }
  • Self-hosted bridge; no cloudId concept.
  • Auth via env: JIRA_URL, JIRA_USERNAME, JIRA_API_TOKEN (Docker -e).
  • Tools (different names — note the jira_ prefix): jira_get_issue, jira_create_issue, jira_update_issue, jira_transition_issue, jira_get_transitions, jira_search, jira_add_comment, jira_get_user_profile / current-user lookup. (Confirm exact tool names against the running server.)

What uses the Atlassian MCP today (all must switch)

  1. Skill setup.sh (.claude/skills/crow-workspace/setup.sh) — resolve_atlassian_mcp_env() reads atlassianMCP from config.json (.endpoint, email, op:// token ref), and the .mcp.json writer injects the atlassian HTTP server + ATLASSIAN_MCP_AUTHORIZATION into the worktree settings.local.json env + enabledMcpjsonServers. Switch to provisioning/trusting the jira stdio server instead.
  2. Skill docs — the ### Jira (Atlassian MCP) sections + tool references in crow-workspace/SKILL.md, crow-batch-workspace/SKILL.md, and crow-create-ticket/SKILL.md. Rewrite to the jira_* tool names and drop the cloudId / getAccessibleAtlassianResources step.
  3. Crow app (Replace acli with the official Atlassian Remote MCP Server for Jira (fixes assignment + headless automation) #522/Replace acli with the official Atlassian Remote MCP Server for Jira (#522) #524) — any Settings → Automation surface for the Atlassian MCP token / endpoint, and any app-side .mcp.json / session injection. Repoint at the jira server (Docker stdio + JIRA_URL/JIRA_USERNAME/JIRA_API_TOKEN), or rely on the user's global jira server and just auto-trust it.
  4. devRoot .mcp.json — currently pins the atlassian server; replace with jira (or stop managing it if the global config is authoritative).

Decision to make (call out in the PR)

  • Injection vs. global: the jira server already lives in the user's global ~/.claude.json. Either (a) have setup.sh inject the jira stdio config into each worktree .mcp.json (self-contained), or (b) stop injecting and just auto-trust the pre-existing global jira server (enabledMcpjsonServers). Pick one; (b) is simpler if the global server is reliably present.
  • Secret handling: JIRA_URL/JIRA_USERNAME/JIRA_API_TOKEN (Docker -e) replace the single ATLASSIAN_MCP_AUTHORIZATION header. If Crow injects, route these through the existing op:// secret mechanism (don't commit the API token).

Acceptance criteria

  • No remaining references to mcp.atlassian.com / the atlassian MCP server / ATLASSIAN_MCP_AUTHORIZATION in setup.sh, the skills, the app, or .mcp.json.
  • A Crow-launched Jira-workspace session can fetch, create, assign, and transition a MAXX work item via the jira MCP (jira_* tools) — including the create-with-assignee flow that motivated Replace acli with the official Atlassian Remote MCP Server for Jira (fixes assignment + headless automation) #522.
  • The skills' Jira sections document the jira_* tool names (no cloudId step).
  • Manager + cron headless paths still work with the jira server.

Notes

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions