- Reliability 10/20
- The documented happy path looks plausible: three launch routes (pip/uvx/Docker), a JupyterLab collaboration pre-check, and a `pytest tests/` entry point suggest some verifiable behavior. However this is a static review only, the server manifest is not cached, and the README contains no committed CI workflow, coverage data, or tool schema (it explicitly defers the tool table to a live online snapshot). Tool-vs-behavior parity, init handshake, and error handling therefore cannot be confirmed, and missing evidence is a deduction; capped at the static ceiling of 12, scored 10.
- Security and permissions 12/20
- Permissions and data flow are documented well: OAuth 2.1 sign-in, agent never sees the password, tokens scoped to notebooks:read/write, code:execute, data:read, personal access tokens as an alternative, and existing Datalayer permissions still constraining reachable notebooks. Risks remain visible but unresolved: example configs start Jupyter bound to 0.0.0.0 with a token, `code:execute` is arbitrary code execution by design, and the README does not state whether dangerous operations (arbitrary execution, terminate_sandbox) require per-action confirmation. Sample tokens are placeholders only, so no red line; scored 12 for visible-but-incomplete scoping/confirmation evidence.
- Maintenance 13/20
- Strong maintenance signals: explicit BSD-3-Clause license, 1276 stars, not archived, and a well-documented version history (v1.3.2 rename, v1.5.0 sandbox pinning, v2.0.0 MCP SDK 2 migration) with releases, a contributing guide, and a Discord community; 32 open issues is normal for an active project. No CI config, dependency-update policy, or security-response channel (SECURITY.md) is visible, and much governance/compat material lives on an external site rather than reviewable repo files, so this maps to 'active but with governance/versioning gaps' — 13.
- Documentation 15/20
- Documentation is layered: install (uvx/Docker), auth (token/OAuth), parameters (JUPYTER_URL, DOCUMENT_ID, SANDBOX_VARIANT, etc.), compatibility matrices (code-sandboxes and mcp SDK), a sandbox-engine variable table, test env vars, and best practices, with links to external docs and examples. Deductions: tool/parameter details are outsourced to an online snapshot rather than reviewable in-repo, cost model is not disclosed, troubleshooting is shallow (e.g. `Unknown sandbox variant`), and key limits depend on external pages, which weakens static verifiability — 15.
- Setup experience 15/20
- Setup is well described across routes: uvx quick start, Docker (with macOS/Windows vs Linux `--network=host` differences), the `jupyter lab` command, and a verification step for collaborative auto-save, plus copy-paste client JSON configs. Deductions: it requires installing several components (jupyterlab, jupyter-collaboration, jupyter-mcp-tools, ipykernel), and the code-sandboxes / mcp SDK version matrices are easy to get wrong (the README itself notes a mismatch only fails at first execution), plus manual token and port setup; capped at the static ceiling of 15 — scored 15.