一键导入
05-atlassian-mcp
Connect Claude Code to Jira via the Atlassian Rovo MCP server.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Connect Claude Code to Jira via the Atlassian Rovo MCP server.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Install Claude Code and configure Google Cloud Vertex AI as the backend provider.
Learn how to write a CLAUDE.md file that shapes Claude Code's behavior in any project.
Teach Claude Code to remember across sessions using the Memory MCP knowledge graph.
Use Git operations from inside Claude Code via the Git MCP server.
Use browser automation from inside Claude Code via the Playwright MCP server.
Connect Claude Code to Notion so you can search, read, create, and update pages and databases directly from the CLI.
| name | 05-atlassian-mcp |
| description | Connect Claude Code to Jira via the Atlassian Rovo MCP server. |
Estimated time: 5 minutes Prerequisites: Module 01 (Claude Code installed and working)
Connect Claude Code to Jira via the Atlassian Rovo MCP server. When complete, you can search issues, create tickets, add comments, and transition workflows — all from inside Claude Code. No containers or local server required.
After printing the Orientation, check if Atlassian MCP is already installed:
python3 -c "
import json, os
path = os.path.expanduser('~/.claude/settings.json')
if os.path.exists(path):
s = json.load(open(path))
if 'mcp-atlassian-prod' in s.get('mcpServers', {}):
print('INSTALLED')
else:
print('NOT_INSTALLED')
else:
print('NOT_INSTALLED')
"
If INSTALLED: print "Atlassian MCP is already installed and configured. Proceeding with the full walkthrough." Then continue to Progress Tracking.
If NOT_INSTALLED, ask the user:
Two paths available:
INSTALL ONLY (~2 min)
Configure Atlassian MCP, authenticate, done.
FULL WALKTHROUGH (~5 min)
Step-by-step tutorial covering Jira search, issue creation,
comments, and workflow transitions.
Which do you prefer? (install-only / full)
If the user chooses "install only":
date -u +%Y-%m-%dT%H:%M:%SZ > ~/.claude/courseware-progress/05.done
Module 05 complete (install-only path).
Atlassian MCP is installed and configured.
Run /learn-05-atlassian-mcp again any time for the full walkthrough.
Next module: /learn-06-playwright-mcp
If the user chooses "full" or gives no clear answer: continue with the existing module content from Progress Tracking onward.
This module depends on services outside your local environment:
mcp.atlassian.com. If Atlassian changes the URL, renames the service, or deprecates the Rovo MCP protocol, the config will need updating.redhat.atlassian.net.Print this once at the start:
You're connecting Claude Code to Jira using the Atlassian Rovo MCP server.
This takes about 5 minutes.
MCP (Model Context Protocol) lets Claude Code talk to external tools.
The Atlassian Rovo MCP server is cloud-hosted by Atlassian — no Podman,
Docker, or local server needed.
We'll set up:
1. MCP server configuration
2. OAuth authentication with your Red Hat Atlassian account
3. Connection test
You'll need your Red Hat Atlassian credentials (your @redhat.com identity
on redhat.atlassian.net).
On module start, write a progress marker:
mkdir -p ~/.claude/courseware-progress && date -u +%Y-%m-%dT%H:%M:%SZ > ~/.claude/courseware-progress/05.started
Check prerequisites and current state:
# Claude Code installed?
command -v claude &>/dev/null && echo "EXISTS: Claude Code" || echo "MISSING: Claude Code — run /learn-01-vertex-setup first"
# Check for existing Atlassian MCP config in user-level settings
if [ -f "$HOME/.claude/settings.json" ]; then
python3 -c "
import json
try:
d = json.load(open('$HOME/.claude/settings.json'))
servers = d.get('mcpServers', {})
if 'mcp-atlassian-prod' in servers:
print('EXISTS: mcp-atlassian-prod in ~/.claude/settings.json')
else:
print('MISSING: mcp-atlassian-prod not in ~/.claude/settings.json')
except:
print('MISSING: could not parse ~/.claude/settings.json')
" 2>/dev/null
else
echo "MISSING: ~/.claude/settings.json does not exist"
fi
# Check for project-level .mcp.json
[ -f ".mcp.json" ] && python3 -c "
import json
d = json.load(open('.mcp.json'))
servers = d.get('mcpServers', {})
if 'mcp-atlassian-prod' in servers:
print('EXISTS: mcp-atlassian-prod in project .mcp.json')
" 2>/dev/null || true
If Claude Code is MISSING, stop and tell the user:
Claude Code is not installed. Complete Module 01 first:
/learn-01-vertex-setup
Print a summary of what was found. Skip steps where the config already exists.
Skip if mcp-atlassian-prod already exists in either user-level or project-level config.
Explain:
The Atlassian Rovo MCP server is cloud-hosted. We just need to tell Claude Code
where to find it. We'll add it to your user-level settings so it's available in
every project, not just this one.
Check if ~/.claude/settings.json exists and has content:
if [ -f "$HOME/.claude/settings.json" ]; then
echo "File exists — will merge the MCP server entry"
cat "$HOME/.claude/settings.json"
else
echo "File does not exist — will create it"
fi
If the file exists, read it and merge the mcpServers entry using Python:
python3 << 'PYEOF'
import json, os
path = os.path.expanduser("~/.claude/settings.json")
try:
with open(path) as f:
settings = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
settings = {}
if "mcpServers" not in settings:
settings["mcpServers"] = {}
settings["mcpServers"]["mcp-atlassian-prod"] = {
"type": "http",
"url": "https://mcp.atlassian.com/v1/mcp"
}
with open(path, "w") as f:
json.dump(settings, f, indent=2)
print("mcp-atlassian-prod added to ~/.claude/settings.json")
PYEOF
Verify:
python3 -c "
import json
d = json.load(open('$HOME/.claude/settings.json'))
if 'mcp-atlassian-prod' in d.get('mcpServers', {}):
print('PASS: mcp-atlassian-prod configured')
url = d['mcpServers']['mcp-atlassian-prod']['url']
print(f' URL: {url}')
else:
print('FAIL: mcp-atlassian-prod not found')
"
Tell the user:
Now authenticate with your Red Hat Atlassian account.
IMPORTANT: Claude Code needs to be restarted to pick up the new MCP server.
1. Exit this Claude Code session (Ctrl+C or type /exit)
2. Relaunch Claude Code: claude .
3. Type: /mcp
4. Select mcp-atlassian-prod and click Authenticate
5. Sign in with your @redhat.com account in the browser
6. Grant access when prompted
7. Return to Claude Code — the MCP tools are now available
8. Re-run this module: /learn-05-atlassian-mcp
The preflight will show your auth status when you return.
Note: This step requires the user to restart Claude Code. The module is designed to handle this — when re-run, the preflight will detect the existing config and skip Step 1.
After authentication, test the MCP connection:
Let's verify the connection works. I'll call the Atlassian MCP to check your identity.
Use the atlassianUserInfo MCP tool to get the user's account info. If the tool is available, call it directly. If it returns a valid account ID and email, the connection is working.
If the tool is not available or returns an error:
The MCP tools aren't available yet. This usually means:
- You haven't authenticated yet (see Step 2)
- The OAuth token has expired — run /mcp and re-authenticate
- Claude Code needs a restart to pick up the MCP config
Report the result:
Connection verified:
Account: <display name>
Email: <email>
Account ID: <account_id>
Tell the user:
OAuth tokens expire after a few hours. For long-running sessions or automation,
you can set up an API token instead. This is optional — OAuth works fine for
most use cases.
Skip this step if OAuth is sufficient for you.
If the user wants to proceed:
Create a Rovo MCP-scoped API token:
https://id.atlassian.com/manage-profile/security/api-tokens?autofillToken&expiryDays=max&appId=mcp&selectedScopes=all
Base64 encode your credentials:
! echo -n "your.email@redhat.com:YOUR_API_TOKEN" | base64 | tr -d '\n'
Copy the output, then add it to your shell config:
! echo 'export ATLASSIAN_MCP_TOKEN="<base64 output>"' >> ~/.zshrc
! source ~/.zshrc
python3 << 'PYEOF'
import json, os
path = os.path.expanduser("~/.claude/settings.json")
with open(path) as f:
settings = json.load(f)
settings["mcpServers"]["mcp-atlassian-prod"] = {
"type": "http",
"url": "https://mcp.atlassian.com/v1/mcp",
"headers": {
"Authorization": "Basic ${ATLASSIAN_MCP_TOKEN}"
}
}
with open(path, "w") as f:
json.dump(settings, f, indent=2)
print("Auth header added to mcp-atlassian-prod config")
PYEOF
Run the connection check:
I'll verify the Atlassian MCP connection by calling atlassianUserInfo.
Call the atlassianUserInfo MCP tool. If it returns a valid response with an account ID and email at @redhat.com, the module is complete.
If it fails:
Troubleshooting:
401 Unauthorized:
OAuth: Token expired — run /mcp and re-authenticate
API token: Check ATLASSIAN_MCP_TOKEN is set: echo $ATLASSIAN_MCP_TOKEN
403 Forbidden:
Your account doesn't have permission for the requested project.
Contact the project admin.
MCP tools not available:
1. Check ~/.claude/settings.json has mcp-atlassian-prod entry
2. Restart Claude Code to reload MCP config
3. Run /mcp to check server status
Let's use the Atlassian MCP to do something real.
Find all open Jira issues assigned to you in the RHDPOPS project.
Tell me:
1. How many open issues are assigned to you?
2. What is the key of the most recently created one?
Hint: you can ask me to search using JQL, or try asking in natural language.
The user should provide:
RHDPOPS-1234)To verify, use the searchJiraIssuesUsingJql MCP tool with:
project = RHDPOPS AND assignee = currentUser() AND status != Done ORDER BY created DESCIf the user has zero assigned issues, that's a valid result — acknowledge it and suggest an alternative challenge:
You don't have any issues assigned in RHDPOPS right now. That's fine.
Alternative challenge: Find the 5 most recently created issues in RHDPOPS
(assigned to anyone) and tell me the keys and summaries.
Write the completion marker:
date -u +%Y-%m-%dT%H:%M:%SZ > ~/.claude/courseware-progress/05.done
If successful, print:
Module 05 complete.
Claude Code is connected to Jira via the Atlassian Rovo MCP server.
You can now:
- Search issues with JQL
- Create and update issues
- Add comments
- Transition workflows
- Look up users and projects
All from inside Claude Code, across any project.
Next module: /learn-06-playwright-mcp
Questions or feedback? https://github.com/rhpds/claude-code-courseware/issues