MCP Server for launching and driving per-user JupyterHub servers on the ATLAS Analysis Facility
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":"af-jupyterhub-mcp","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.
# af-jupyterhub-mcp <!-- --8<-- [start:intro] --> MCP server that lets UChicago ATLAS Analysis Facility users start, inspect, stop, and delete their own JupyterHub named servers on [jupyterhub.af.uchicago.edu](https://jupyterhub.af.uchicago.edu), and work inside them (run code, edit notebooks, drive the JupyterLab UI), as tools for LLMs behind the [af-mcp-platform](https://github.com/maniaclab/af-mcp-platform) broker. <!-- --8<-- [end:intro] --> <!-- --8<-- [start:architecture] --> ## Architecture ``` LLM <--MCP/HTTP--> af-mcp-platform aggregator --Bearer: linked hub token--> af-jupyterhub-mcp | JupyterHub REST API <------------------+ /hub/api/users/<you>/servers/<name> | hub proxy /user/<you>/<name>/mcp <-----+--> jupyter-mcp-server ``` Everything goes through JupyterHub and nothing else. Servers are started with `POST /hub/api/users/<you>/servers/<name>`, whose body is the spawner's `user_options` (image, site, CPU, memory, QoS, GPUs). The tool then follows the hub's spawn progress stream, sending MCP progress notifications until the server is ready. Notebook tools reach the server's own `jupyter-mcp-server` through the hub proxy, so they work for servers on any site (`local`, `ssl`, `nrp`). The backend never talks to Kubernetes or BinderHub. Servers launched from the BinderHub UI are ordinary named servers of the same user, so they show up and work here too. Launched images must include `jupyterhub-singleuser` (ml_platform has since [#21](https://github.com/maniaclab/ml_platform/pull/21)) and `jupyter-mcp-server` (plus `jupyter-mcp-tools` for the `nb_ui_*` tools). <!-- --8<-- [end:architecture] --> <!-- --8<-- [start:auth] --> ## Authentication - **The user's own hub token.** af-mcp-platform links each user's JupyterHub account through the hub's OAuth (…
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.