Atlassian MCP server¶
Jira and Confluence MCP server (sooperset/mcp-atlassian) for a tenant or one of its teams, with each caller's own Atlassian account or a shared one
| Chart | atlassian-mcp |
| Version | 0.1.0 |
| Application version | 0.23.1 |
| Kind | MCP server |
| Source | charts/atlassian-mcp |
The values are listed under Values, the changes per version under Changelog.
Jira and Confluence of an Atlassian Cloud site as an MCP server
(sooperset/mcp-atlassian), streamable HTTP on
port 8000, path /mcp, for a tenant or one of its teams.
Purpose¶
credentials.mode: perCaller(default): the server holds no Atlassian account. Every request carries its caller's own account,Authorization: Basic base64(email:api_token)or a Bearer token; a request without one is refused. Each agent or person therefore needs its own Atlassian account or API token: a person decides who gets one.credentials.mode: shared: one account for every caller, fromcredentials.existingSecret(JIRA_USERNAME,JIRA_API_TOKEN, optionallyCONFLUENCE_*).- Behind an MCP gateway the caller's
Authorizationheader authenticates it to the gateway. The Service annotationagentgateway.dev/mcp-credential-header(fromcredentials.gatewayHeader, defaultX-Atlassian-Authorization) names the request header the gateway copies into the backend'sAuthorization. - The Service follows the gateway's MCP discovery conventions: port
appProtocolagentgateway.dev/mcpand the annotationsagentgateway.dev/mcp-pathandagentgateway.dev/mcp-target-name(tools<targetName>_<tool>). - With
team, every object goes into<tenant>-<team>, a namespace the team already has; without it, into the release namespace (for example the tenant's home namespace). - Egress reaches the public internet only, plus DNS. No cluster-scoped objects, no Kubernetes API access.
Install¶
helm repo add apps https://apps.openshift.eu
helm install atlassian apps/atlassian-mcp \
--set jira.url=https://example.atlassian.net \
--set confluence.url=https://example.atlassian.net/wiki
For a team of a tenant, add --set team=<team> --set tenant=<tenant>.
Delivery instructions¶
- Ready when the Deployment
<release>is Available and the Service<release>answers on port 8000, path/mcp. - Callers send their own Atlassian credential:
Authorization: Basic base64(email:api_token)directly, or through an MCP gateway in the header named byagentgateway.dev/mcp-credential-header. - A call without a credential answers 401 in perCaller mode; that is the expected result for a caller that has no Atlassian account yet.
Values¶
team(default: empty),tenant(default: empty): team namespace<tenant>-<team>.image.repository,image.tag(default:ghcr.io/sooperset/mcp-atlassian,0.23.1).jira.url,confluence.url(default: empty): at least one is required.credentials.mode(default:perCaller):perCallerorshared.credentials.gatewayHeader(default:X-Atlassian-Authorization): header an MCP gateway copies into the backendAuthorization; empty: no annotation.credentials.existingSecret(default: empty): the shared account; required in shared mode.env(default:{}): extra environment variables of the server.port,path(default:8000,/mcp).mcp.appProtocol(default:agentgateway.dev/mcp),mcp.targetName(default:atlassian).service.labels,service.annotations(default:{}): for example a platform's exposure label.podLabels,podAnnotations(default:{}).resources(default: 20m/128Mi request, 1 CPU/512Mi limit).networkPolicy.enabled(default: true),networkPolicy.ingressNamespaces(default:[]): namespaces that may call the server besides its own, for example the gateway's.networkPolicy.egress.*: internet egress except private ranges, plus DNS.