sha256:4c98d501136ac8f86bc778391d0e83a6f1d03390b443d735f138554e71c78df4
Last pushed
26 days by jfeeneydemo3
Type
Sandbox Kit
Manifest digest
sha256:4c98d501136ac8f86bc778391d0e83a6f1d03390b443d735f138554e71c78df4
schemaVersion: "2"
kind: mixin
name: atlassian-mcp
version: 1.0.1
displayName: Atlassian Cloud MCP server
description: Registers the hosted Atlassian Rovo MCP server (OAuth) with the agent and requires Jira tickets to exist in the "Ecommerce Monorepo" project.
sourceURL: https://gitlab.com/dubjug/sandbox-mixin-kits
licenses:
- Apache-2.0
agentInstructions:
content: |
## Atlassian Cloud and Jira
The hosted Atlassian MCP server is registered with the agent as `atlassian`
(`https://mcp.atlassian.com/v2/mcp`). It authenticates with OAuth: the first
time you use it, the user must complete the sign-in (in Claude Code, run
`/mcp` and authenticate `atlassian`). No token or API key is stored in the
sandbox. If the server reports it is not authenticated, ask the user to
sign in; do not look for or invent credentials.
### Jira tickets for the "Ecommerce Monorepo"
Work must be tracked in the Jira project (space) named **Ecommerce
Monorepo**, which has a Kanban board. Before you start changing code:
1. Look up the project by its name through the Atlassian MCP server (for
example by listing visible Jira projects) and use the project key it
returns. Do not guess the key.
2. Search that project for an existing ticket that covers the requested
work. If one exists, use it and do not create a duplicate.
3. If no ticket exists, create one in the Ecommerce Monorepo project with a
clear summary and a description of the work and its acceptance criteria.
New tickets appear on the project's Kanban board.
4. Mention the ticket key in your summary of the work.
Only create tickets in the Ecommerce Monorepo project. If you cannot find
that project, or the Atlassian server is unavailable or unauthenticated,
stop and report the exact problem instead of using another project or
skipping the ticket.
permissions:
network:
allow:
- mcp.atlassian.com:443
- '*.mcp.atlassian.com'
setup:
install:
- command: |
export PATH="$HOME/.local/bin:$HOME/.claude/local:/usr/local/share/npm-global/bin:$PATH"
if command -v claude >/dev/null 2>&1; then
claude mcp add atlassian https://mcp.atlassian.com/v2/mcp --transport http --scope user || true
fi
if command -v codex >/dev/null 2>&1; then
codex mcp add atlassian --url https://mcp.atlassian.com/v2/mcp || true
fi
user: agent
description: Register the Atlassian MCP server with the Claude or Codex agent (install-time, race-free)
- command: |
(
dir="${WORKSPACE_DIR:-}"
if [ -z "$dir" ] || [ ! -d "$dir" ] || [ -z "$(ls -A "$dir" 2>/dev/null)" ]; then
exit 0
fi
if [ -e "$dir/.mcp.json" ]; then
echo "atlassian-mcp: $dir/.mcp.json already exists; leaving it untouched"
exit 0
fi
printf '%s\n' \
'{' \
' "mcpServers": {' \
' "atlassian": {' \
' "type": "http",' \
' "url": "https://mcp.atlassian.com/v2/mcp"' \
' }' \
' }' \
'}' > "$dir/.mcp.json"
) || echo "atlassian-mcp: could not write .mcp.json to the workspace; skipping" >&2
exit 0
user: agent
description: Add a project-level .mcp.json to the workspace root if one is not already there
startup:
- command:
- sh
- -c
- |
export PATH="$HOME/.local/bin:$HOME/.claude/local:/usr/local/share/npm-global/bin:$PATH"
if command -v claude >/dev/null 2>&1; then
claude mcp add atlassian https://mcp.atlassian.com/v2/mcp --transport http --scope user || true
fi
if command -v codex >/dev/null 2>&1; then
codex mcp add atlassian --url https://mcp.atlassian.com/v2/mcp || true
fi
user: agent
description: Register the Atlassian MCP server with the Claude or Codex agent (startup fallback)
files:
- path: /home/agent/.atlassian/mcp.json
content: |
{
"mcpServers": {
"atlassian": {
"type": "http",
"url": "https://mcp.atlassian.com/v2/mcp"
}
}
}
mode: "0644"
onlyIfMissing: true
description: Portable MCP server definition for any agent that reads an mcpServers block