Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "leaderboard.mine", "leaderboard.status" and "leaderboard.submit"; changed the definition of "catalog.leaderboard" (40 tools before, 43 now)
Public benchmark leaderboard: pipeline rankings per dataset.Rankings are per-datasetTwoundertracks: thecanonicaltop-level ``within_session``protocolblock (curated suite pipelines) and ``crossSubject`` (seeleave-one-subject-out``protocol``— curated pipelines plus BYO ``python_model`` submissions; BYO rows carry ``kind: "byo"`` and an ``owner`` name). Within each dataset, ``rows``are sortedsort desc by``meanAccuracyPct`` (95% CI in ``ciLoPct``/``ciHiPct``).Use ``pipelineId``as the template id``packFingerprint``hintidentifiesforthe``catalog.template``exactwhendatasetbuildingpackabehindpipeline.the scores; ``updated`` marks each dataset's most recentrun; ``packFingerprint`` identifies the exact dataset pack the scores came from.run.
Leaderboard.Mine — List your leaderboard submissions (newest first), all datasets.
Leaderboard.Status — Fetch one of your leaderboard submissions (owner-only). Returns status (queued | scoring | done | failed), metrics when done (meanAccuracyPct + CI, same shape as leaderboard rows), or the error that failed it.
Leaderboard.Submit — Submit a BYO python_model to the cross-subject (LOSO) leaderboard. Nimbus scores it server-side under the fixed protocol (seed 42, leave-one-subject-out over the dataset's subjects) — you submit code, never results. Poll ``leaderboard.status`` with the returned ``submissionId``; scoring takes minutes (classical) to tens of minutes (deep). Requirements must be plain PyPI names/specs (max 20, no URLs). Identical code resubmission is idempotent (``deduplicated: true``).
Added "python.validate" (39 tools before, 40 now)
Python.Validate — Statically check a python_model script (BYO model class) without running it. Compiles the source and verifies the contract — a class with fit(X, y, info) and predict(X); optional predict_proba(X) unlocks confidence panels. Never executes the code, so it is safe against the hosted backend. Use it before execution.run to catch syntax errors, missing methods, or the wrong class name cheaply.
Changed the definition of "bids.export_dataset", "bids.export_execution", "execution.download_artifact" and 1 more
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":truefalse}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":truefalse}
Added "bids.export_dataset" and "bids.export_execution" (37 tools before, 39 now)
Bids.Export Dataset — Export a Nimbus dataset as a BIDS-layout zip saved to NIMBUS_EXPORT_DIR/bids/. Continuous sources (EDF/BDF uploads, stream recordings) export as BIDS-raw (EDF byte-passthrough; recordings converted HDF5→EDF with events.tsv). Epoched sources (MOABB packs, trial-table uploads) export as BIDS-derivatives (data passthrough + descriptive trial_index/label/session/run events — no fabricated onsets). The zip embeds nimbus_export_manifest.json with sha256s.
Bids.Export Execution — Export an execution's results as a BIDS-derivative zip (metrics.json, per-subject participants.tsv, protocol.json, full pipeline_snapshot.json, predictions.tsv when stored, provenance/execution.json) saved to NIMBUS_EXPORT_DIR/bids/.
Certificate recorded, valid to 2026-11-19
Authorization not required
Changed the definition of "calibration.start"
⟨47 unchanged words⟩ by the freemium node policy; local X-MCP-Key principalsgetpass403onlybywhenpolicy.the desktop app flags the signed-in Pro session (MCP_LOCAL_IS_PRO).
Changed the definition of "calibration.start"
⟨218 unchanged words⟩ "description":"Override the template's trial count (e.g. 3 for smokeminimumtests5)."}},"type":"object"}
Added "calibration.pause", "calibration.resume", "calibration.start" and 2 more (32 tools before, 37 now)
Calibration.Pause — Pause a running calibration between trials (cues hold; resume anytime).
Calibration.Resume — Resume a paused calibration session.
Calibration.Start — Start a guided subject calibration session (NON-BLOCKING; confirm-gated — the device goes on a human's head). The Nimbus Studio app shows the cues on its calibration dashboard automatically; poll calibration.status. Requires a Pro plan (hosted token or Pro session): calibration nodes and custom-data training are gated by the freemium node policy; local X-MCP-Key principals get 403 by policy.
Calibration.Status — Live snapshot of a calibration session (phase, current trial, progress, paused). Once complete, carries the recorded upload — call calibration.train to turn it into the subject's own classifier.
Unknown → Live
First tool surface recorded: 32 tools (server version 4.0.11)
https://nimbus-mcp.fly.dev/mcp (mcp_streamable_http) — from mcp_registry
pypi:nimbus-mcp (package_pypi) — from pypi, with the record
Showing the latest 13 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":truefalse}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":truefalse}
Calibration.Train — Train the subject's own classifier from a COMPLETED calibration session (NON-BLOCKING). Fetches the recorded upload, wires it into a train pipeline as a custom_data source, and starts the run. Requires a Pro plan (custom_data training is freemium-gated). The calibrate→train handoff requires a Postgres-backed backend (hosted or local dev); a desktop-local session completes and records, but its upload can't be resolved by MCP train today.