How to upgrade from Atlassian Rovo MCP v1 to Atlassian Rovo MCP v2

Atlassian recently released v2 of Atlassian Rovo MCP, introducing more tools and products which you can now interact with from your agents. On 1 Mar 2027 any existing utilisation of v1 will automatically start to expose and utilise v2 tools. Any incompatible clients will need to clear cached clientIds or .well-known credentials to support continued utilising Atlassian Rovo MCP.

Claude (via desktop app or web)

Existing installations of v1 will become “Custom Web” connectors.

  1. Remove or disable any existing v1 connections

  2. Reinstall the new v2 Connector or Plugin from the Atlassian Claude connector listing

Codex / OpenAI (via desktop app or web)

Atlassian Rovo MCP v2 is available via a new Plugin.

  1. Remove or disable any existing v1 plugins

  2. Install the new v2 Plugin from the Open AI Plugin marketplace.

MCP Gateways or Custom MCP

When utilising an MCP Gateway, you may require all tools to be exposed in a flat tools/list response. To access this, update your existing MCP connection to https://mcp.atlassian.com/v2/mcp?tools=all to expose all tools without discover and execute tooling.

Claude Code (via terminal)

The following command can be run in your local CLI will identify any local or global OAuth configurations for Atlassian Rovo MCP v1 and replace these with v2. Please note: you will need to re-authenticate once this update is complete.

cfg="${CLAUDE_CONFIG_DIR:-$HOME}/.claude.json"; new=https://mcp.atlassian.com/v2/mcp; re='^https://mcp[.]atlassian[.]com/v1/mcp(/authv2)?/?$'; m='to_entries[]|select((.value.url // "")|test($re))|[(if ((.value.headers // {})!={}) then "SKIP" else "GO" end),$s,$d,.key,(.value|.type=(.type//"http")|.url=$new|tojson)]|@tsv'; cp "$cfg" "$cfg.bak-$(date +%s)"; { jq -r --arg re "$re" --arg new "$new" --arg d "$HOME" --arg s user "(.mcpServers//{})|$m" "$cfg"; jq -r --arg re "$re" --arg new "$new" --arg s local '(.projects//{})|to_entries[]|select(.key|test("/[.]claude/plugins/")|not)|.key as $d|(.value.mcpServers//{})|'"$m" "$cfg"; jq -r '(.projects//{})|keys[]|select(test("/[.]claude/plugins/")|not)' "$cfg" | while read -r d; do [ -f "$d/.mcp.json" ] && jq -r --arg re "$re" --arg new "$new" --arg d "$d" --arg s project "(.mcpServers//{})|$m" "$d/.mcp.json"; done; } | { auth=""; skipped=""; while IFS=$'\t' read -r g s d n e; do if [ "$g" = SKIP ]; then skipped="$skipped $n ($s scope, $d)"$'\n'; continue; fi; echo "==> $n ($s scope, $d)"; (cd "$d" && claude mcp remove "$n" -s "$s" && claude mcp add-json "$n" "$e" -s "$s") || continue; if [ "$s" = user ]; then auth="$auth claude mcp login $n"$'\n'; else auth="$auth (cd $d && claude mcp login $n)"$'\n'; fi; done; if [ -n "$auth" ]; then echo; echo "Migrated to $new. v2 is a separate OAuth resource, so v1 credentials do NOT carry over — authenticate each one (the cd is required: local/project scoped servers only resolve from their own directory):"; echo; printf '%s' "$auth"; echo; echo "Or run /mcp inside Claude Code and pick the server by name. Verify with 'claude mcp get <name>'; on rejection run 'claude mcp logout <name>' first."; else echo "No custom Claude Code MCP server on the v1 endpoints. Nothing to migrate."; fi; [ -n "$skipped" ] && { echo; echo "Left on v1 — bearer/basic token auth, documented only for v1/mcp:"; echo; printf '%s' "$skipped"; }; }

Codex CLI (via terminal)

The following command can be run in your local CLI will identify any local or global OAuth configurations for Atlassian Rovo MCP v1 and replace these with v2. . Please note: each modified configuration will open a browser window to authenticate.

new=https://mcp.atlassian.com/v2/mcp; re='^https://mcp[.]atlassian[.]com/v1/mcp(/authv2)?/?$'; cfg="${CODEX_HOME:-$HOME/.codex}/config.toml"; cp "$cfg" "$cfg.bak-$(date +%s)" && echo "Backed up $cfg" && codex mcp list --json | jq -r --arg re "$re" '.[]|select(.transport.type=="streamable_http")|select((.transport.url // "")|test($re))|[(if ((.transport.bearer_token_env_var // null)!=null) or ((((.transport.http_headers // {})+(.transport.env_http_headers // {})))!={}) then "SKIP" else "GO" end),.name,.transport.url,((.startup_timeout_sec // "-")|tostring),((.tool_timeout_sec // "-")|tostring)]|@tsv' | { auth=""; skipped=""; warn=""; while IFS=$'\t' read -r g n u st tt; do if [ "$g" = SKIP ]; then skipped="$skipped $n ($u)"$'\n'; continue; fi; echo "==> $n"; echo " $u -> $new"; codex mcp remove "$n" || continue; codex mcp add "$n" --url "$new" || continue; auth="$auth codex mcp login $n"$'\n'; [ "$st" != "-" ] && warn="$warn [$n] startup_timeout_sec=$st not restored by 'codex mcp add'"$'\n'; [ "$tt" != "-" ] && warn="$warn [$n] tool_timeout_sec=$tt not restored by 'codex mcp add'"$'\n'; done; if [ -n "$auth" ]; then echo; echo "Migrated to $new. Each 'codex mcp add' starts its own OAuth flow — complete the browser sign-in when prompted. To run any login again manually:"; echo; printf '%s' "$auth"; echo; echo "Verify with 'codex mcp list' (auth_status should leave not_logged_in); on rejection run 'codex mcp logout <name>' first."; else echo "No custom Codex MCP server on the v1 endpoints. Nothing to migrate."; fi; [ -n "$skipped" ] && { echo; echo "Left on v1 — bearer/basic token auth, documented only for v1/mcp:"; echo; printf '%s' "$skipped"; }; [ -n "$warn" ] && { echo; echo "Manual follow-up in $cfg:"; echo; printf '%s' "$warn"; }; }

Other Clients

  1. Identify any existing MCP configurations which expose https://mcp.atlassian.com/v1/mcp or https://mcp.atlassian.com/v1/mcp/authv2. These may look like:

    { "mcpServers": { "atlassian": { "url": "https://mcp.atlassian.com/v1/mcp/authv2" } } }
  2. Replace the existing url or serverUrl reference to target https://mcp.atlassian.com/v2/mcp

  3. Run /mcp or any similar commands in your client to reauthenticate with Atlassian Rovo MCP.

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。