Python-native OAuth token management for Atlassian Rovo MCP server.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"atlassian-mcp-auth","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# atlassian-mcp-auth Python-native OAuth token management for the Atlassian Rovo MCP server. Use this package when your Python app, agent, or backend needs to connect to Atlassian Rovo MCP for Jira and Confluence without using Node.js or `mcp-remote`. It handles the hard OAuth parts for you: - Opens Atlassian browser consent - Registers an OAuth client dynamically - Uses PKCE for login - Stores access and refresh tokens - Refreshes tokens automatically - Returns the MCP URL and `Authorization` header your framework needs This package is an auth and token provider. Your MCP client, ADK app, LangChain/LangGraph app, CrewAI tool, or HTTP transport still owns the actual MCP tool calls. ## Quick Start Install the package: ```bash pip install atlassian-mcp-auth ``` Run one-time browser login: ```bash atlassian-mcp-auth login ``` The CLI opens Atlassian consent in your browser, waits for the callback at `http://localhost:8765/callback`, then stores tokens locally in: ```text ~/.atlassian-mcp-auth/tokens.db ``` Check that you are connected: ```bash atlassian-mcp-auth status ``` Print a fresh access token: ```bash atlassian-mcp-auth token ``` Use it from Python: ```python import asyncio from atlassian_mcp_auth import AtlassianMcpAuth async def main() -> None: auth = AtlassianMcpAuth() connection = await auth.get_connection_info() print(connection.mcp_url) print(connection.headers) asyncio.run(main()) ``` `connection.headers` looks like this: ```python {"Authorization": "Bearer <fresh-access-token>"} ``` Pass that header to your MCP Streamable HTTP client or agent framework. ## How Normal Users Use It There are four common ways to use this package. | Use case | Start here | | --- | --- | | Local development or testing | Use the CLI | | Python app or agent code | Use `AtlassianMcpAuth` directly | | Frontend, backend, or non-Python app | Run the optional HTTP service | | ADK, LangChain, CrewAI, custom MCP client | Use `get_connection…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.