본문으로 건너뛰기

Atlassian Rovo MCP Server Setup

Endpoint

Use the streamable HTTP endpoint:

https://mcp.atlassian.com/v1/mcp

Do not use the older SSE endpoint for new client configuration.

Shared token authentication

Atlassian API-token authentication must be enabled by the Atlassian organization admin. If it is disabled, token-based MCP startup fails and the client must use OAuth instead.

For a personal Atlassian API token, open Atlassian Account / API tokens and prefer Create API token with scopes. Grant only the scopes needed by the MCP tools that the client should use. Page reads from Confluence need Confluence read access and page permission for the Atlassian user represented by the token.

Personal API tokens use a full Basic authorization header. Build the final header once and reference it from each MCP client:

export ATLASSIAN_EMAIL="[email protected]"
export ATLASSIAN_API_TOKEN="your_api_token"
export ATLASSIAN_MCP_AUTH="Basic $(printf '%s' "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" | base64 -w0)"

Keep ATLASSIAN_MCP_AUTH out of committed files. Base64 is an encoding, not encryption.

Codex

Configure Codex with an environment-backed HTTP header:

~/.codex/config.toml
[mcp_servers.atlassian]
url = "https://mcp.atlassian.com/v1/mcp"
env_http_headers = { Authorization = "ATLASSIAN_MCP_AUTH" }

env_http_headers maps the HTTP header name to the environment variable that contains the final header value. The variable must include the authorization scheme prefix, such as Basic or Bearer .

Start Codex

Start Codex from a shell where the MCP environment variable is already exported:

env | rg '^ATLASSIAN_MCP_AUTH='
codex mcp get atlassian
codex

codex mcp get atlassian should show:

env_http_headers: Authorization=ATLASSIAN_MCP_AUTH

Restart Codex after changing ~/.codex/config.toml or environment variables. New MCP tools are loaded when Codex starts.

Gemini CLI

Gemini CLI uses httpUrl for streamable HTTP MCP servers. Configure the Atlassian server in ~/.gemini/settings.json or the project-level .gemini/settings.json:

~/.gemini/settings.json
{
"mcpServers": {
"atlassian": {
"httpUrl": "https://mcp.atlassian.com/v1/mcp",
"headers": {
"Authorization": "${ATLASSIAN_MCP_AUTH}"
},
"timeout": 30000,
"trust": false
}
}
}

Alternatively, add it with the CLI:

gemini mcp add --transport http \
-H "Authorization: $ATLASSIAN_MCP_AUTH" \
atlassian https://mcp.atlassian.com/v1/mcp

If the CLI stores the expanded header literally, prefer editing settings.json with the environment reference so the token is not written to disk.

Claude Code

Claude Code supports remote HTTP MCP servers and header expansion in .mcp.json. For a project-scoped config, add:

.mcp.json
{
"mcpServers": {
"atlassian": {
"type": "http",
"url": "https://mcp.atlassian.com/v1/mcp",
"headers": {
"Authorization": "${ATLASSIAN_MCP_AUTH}"
}
}
}
}

For a user-scoped setup, add the server with JSON:

claude mcp add-json atlassian \
'{"type":"http","url":"https://mcp.atlassian.com/v1/mcp","headers":{"Authorization":"${ATLASSIAN_MCP_AUTH}"}}'

Claude Code may ask for trust approval when it sees a project .mcp.json. Use /mcp inside Claude Code to inspect server status or complete OAuth only when intentionally using OAuth instead of token auth.