loading…
Search for a command to run...
loading…
Browser-backed MCP wrapper for mcp-atlassian with Playwright SSO auth. Enables AI tools to access Atlassian Server/Data Center instances behind corporate SSO (O
Browser-backed MCP wrapper for mcp-atlassian with Playwright SSO auth. Enables AI tools to access Atlassian Server/Data Center instances behind corporate SSO (Okta, SAML, ADFS) where API tokens are not available.
License: GPL-3.0 Python 3.11+ GitHub stars mcp-atlassian GeiserX/atlassian-browser-mcp MCP server
MCP server that wraps the upstream mcp-atlassian toolset with browser-cookie authentication via Playwright. Designed for Atlassian Server/Data Center instances behind corporate SSO (Okta, SAML, etc.) where API tokens are not available.
requests.Session subclassThe server monkey-patches JiraClient and ConfluenceClient constructors in mcp-atlassian to inject the browser-backed session, giving full parity with the upstream tool surface (72 tools + 1 atlassian_login helper = 73 total).
| File | Purpose |
|---|---|
atlassian_browser_mcp_full.py |
Entrypoint. Patches upstream clients, registers atlassian_login tool, runs the MCP server |
atlassian_browser_auth.py |
Shared auth: BrowserCookieSession, interactive_login(), SSO detection |
run-atlassian-browser-mcp.sh |
Launcher: creates venv, installs deps via uv, runs compatibility check, starts server |
pyproject.toml |
Dependency pins |
./run-atlassian-browser-mcp.sh
Add to your Claude Code, Cursor, or other MCP client configuration:
{
"mcpServers": {
"atlassian": {
"command": "/path/to/atlassian-browser-mcp/run-atlassian-browser-mcp.sh",
"env": {
"JIRA_URL": "https://jira.example.com",
"CONFLUENCE_URL": "https://confluence.example.com",
"ATLASSIAN_USERNAME": "[email protected]"
}
}
}
}
On first use (or when cookies expire), a Chromium window opens for SSO login. After login completes, the browser closes automatically and all MCP tool calls proceed using the saved session.
| Variable | Default | Description |
|---|---|---|
JIRA_URL |
(required) | Jira base URL (e.g. https://jira.example.com) |
CONFLUENCE_URL |
(required) | Confluence base URL (e.g. https://confluence.example.com) |
ATLASSIAN_BROWSER_AUTH_ENABLED |
true |
Enable browser auth (set false to fall back to token auth) |
ATLASSIAN_BROWSER_PROFILE_DIR |
./.atlassian-browser-profile |
Persistent Chromium profile directory |
ATLASSIAN_STORAGE_STATE |
./.atlassian-browser-state.json |
Playwright storage-state file |
ATLASSIAN_LOGIN_TIMEOUT_SECONDS |
300 |
Seconds to wait for manual login |
ATLASSIAN_USERNAME |
(none) | Optional: prefill username on SSO page |
ATLASSIAN_SSO_MARKERS |
(auto) | Comma-separated URL/text markers for SSO redirect detection. Defaults cover Okta, ADFS, Azure AD, PingOne, Google SAML |
ATLASSIAN_BROWSER_CHANNEL |
chromium |
Browser channel (chromium, chrome, msedge) |
ATLASSIAN_JIRA_LOGIN_URL |
{JIRA_URL}/secure/Dashboard.jspa |
Override the Jira login entry point URL |
ATLASSIAN_CONFLUENCE_LOGIN_URL |
{CONFLUENCE_URL} |
Override the Confluence login entry point URL |
ATLASSIAN_BROWSER_USER_AGENT |
(Chrome 136) | Custom User-Agent string for API requests |
TOOLSETS |
all |
Which upstream toolsets to enable |
| Symptom | Cause | Fix |
|---|---|---|
| Browser doesn't open | Headless environment (SSH, Docker) | Forward X11 or run initial login on a machine with a display |
| Login timed out | Didn't land on Jira/Confluence URL within 300s | Check JIRA_URL/CONFLUENCE_URL match exactly where your IdP redirects after login. Increase ATLASSIAN_LOGIN_TIMEOUT_SECONDS if needed |
| Tools return HTML instead of JSON | Session expired, SSO markers not matching your IdP | Set ATLASSIAN_SSO_MARKERS with your IdP's URL pattern |
| "Upstream compatibility check failed" | mcp-atlassian version changed its internal API |
Pin to a compatible version or update the wrapper |
| "Executable doesn't exist" | Playwright Chromium not installed | Run python -m playwright install chromium |
Run in your terminal:
claude mcp add geiserx-atlassian-browser-mcp -- npx pro tip
Just installed GeiserX/atlassian-browser-mcp? Say to Claude: "remember why I installed GeiserX/atlassian-browser-mcpand what I want to try" — it'll save into your Vault.
how this works →Security
Low riskAutomated heuristic from public metadata — not a security guarantee.