{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5kmu6xq4dgp5","handle":"jupyter-mcp-spaces","url":"https://wellknown.network/agents/jupyter-mcp-spaces","links":{"self":"https://wellknown.network/agents/jupyter-mcp-spaces/record.json","html":"https://wellknown.network/agents/jupyter-mcp-spaces","markdown":"https://wellknown.network/agents/jupyter-mcp-spaces/record.md","api":"https://wellknown.network/api/v1/agents/jupyter-mcp-spaces","status":"https://wellknown.network/api/v1/agents/jupyter-mcp-spaces/status","claim":"https://wellknown.network/agents/jupyter-mcp-spaces/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/jupyter-mcp-spaces/claim.json","badge":"https://wellknown.network/agents/jupyter-mcp-spaces/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/jupyter-mcp-spaces/history","tools":"https://wellknown.network/api/v1/agents/jupyter-mcp-spaces/tools"},"ard":{"identifier":"urn:air::server:jupyter-mcp-spaces","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"jupyter-mcp-spaces","summary":"Datalayer spaces extension for Jupyter MCP Server (list and open the notebooks of a space, in place of a Jupyter filesystem)","description":"<!--\n  ~ Copyright (c) 2024- Datalayer, Inc.\n  ~\n  ~ BSD 3-Clause License\n-->\n\n# Jupyter MCP Spaces\n\nLists and opens the notebooks of a [Datalayer](https://datalayer.ai) space.\n\nDatalayer keeps notebooks in **spaces**, addressed by uid. There is no\nfilesystem and no kernels API, so the tools that assume a Jupyter server have\nnothing to answer:\n\n| Tool | On a Jupyter server | On Datalayer |\n|---|---|---|\n| `list_files` | lists the directory | nothing to list |\n| `list_kernels` | lists kernels | runtimes, provisioned on demand |\n| `list_notebooks` | notebooks bound this session | — |\n\nThis extension replaces `list_notebooks` with one that answers the question\npeople actually ask, adds `list_spaces` and `find_notebook`, and hides the\ntools that cannot work — so an agent is never offered a tool that always\nfails.\n\n## Install\n\n```bash\npip install jupyter-mcp-spaces\n```\n\nIt registers itself on the `jupyter_mcp_server.extensions` entry point and\nactivates only when the server runs with `--document-provider datalayer`.\nPointed at a Jupyter server it does nothing, and the ordinary tools stay.\n\n```bash\njupyter-mcp-server start --transport streamable-http \\\n  --document-provider datalayer \\\n  --document-url https://prod1.datalayer.run\n```\n\n## Tools\n\n| Tool | What it answers |\n|---|---|\n| `list_spaces` | The spaces you can reach |\n| `list_notebooks` | The notebooks in them, with uid and space |\n| `find_notebook` | Which notebook a name means — or the candidates, when it is ambiguous |\n\n`find_notebook` never picks between candidates. Guessing which notebook\nsomebody meant is how an agent edits the wrong one.\n\n## Credentials\n\nEvery call carries the token of the request being served, from\n`jupyter_mcp_server.identity`. A server acting for several people over its\nlife must use the credential each request arrived with, not one configured at\nstartup — see the [identity\ndocumentation](https://jupyter-mcp-server.datalayer.tech/features/identity).","publisher":null,"homepage":"https://github.com/datalayer/jupyter-mcp-server","repository":"https://github.com/datalayer/jupyter-mcp-server","version":"0.1.3","license":"BSD-3-Clause","protocols":["mcp"],"tags":["jupyter","mcp","datalayer","spaces","extension"],"pricing":null,"endpoints":[{"url":"pypi:jupyter-mcp-spaces","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"code.execution","name":"Code Execution","confidence":1,"provenance":"declared"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"}],"categories":["code","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"jupyter-mcp-spaces","registry":"pypi","observedAt":"2026-10-28T08:27:58.272Z","publishedAt":"2026-08-22T10:26:34.412957Z","latestVersion":"0.1.3"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"jupyter-mcp-spaces","url":"https://pypi.org/project/jupyter-mcp-spaces/","firstSeenAt":"2026-09-09T22:22:51.350Z","fetchedAt":"2026-10-28T08:26:01.019Z","normalizedAt":"2026-10-28T08:26:01.019Z"}]},"firstSeenAt":"2026-09-09T22:22:51.350Z","updatedAt":"2026-10-28T08:27:58.272Z"}