Nimbus BCI
概要
作者による説明(英語の原文)
BCI/EEG toolkit: public MOABB/BNCI datasets, pipeline build/validate, hosted training, BIDS export.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi3項目中3項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況i初期↓ 523/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンでもクラウドでも
- トランスポート: stdio, Streamable HTTP
- カテゴリ: データベース・データセット
- 入力が必要なもの:NIMBUS_TOKEN, NIMBUS_MCP_KEY
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:3項目中3項目に合格
- 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
- 自分で入力するもの:
NIMBUS_API_URL,NIMBUS_TOKEN,NIMBUS_TOKEN_FILE,NIMBUS_MCP_KEY,NIMBUS_MCP_KEY_FILE
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
- Settings → Connectors を開く
- Add custom connector を押す
- 下のアドレスを貼り付けて Add を押す
- サインインを求められたら、作者のサービスにサインインする
https://nimbus-mcp.fly.dev/mcpまたは、パソコンで動かす
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"nimbus": {
"command": "uvx",
"args": [
"nimbus-mcp"
],
"env": {
"NIMBUS_API_URL": "your-value",
"NIMBUS_TOKEN": "your-value",
"NIMBUS_TOKEN_FILE": "your-value",
"NIMBUS_MCP_KEY": "your-value",
"NIMBUS_MCP_KEY_FILE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http nimbus https://nimbus-mcp.fly.dev/mcpまたは、パソコンで動かす
claude mcp add nimbus --env NIMBUS_API_URL=your-value --env NIMBUS_TOKEN=your-value --env NIMBUS_TOKEN_FILE=your-value --env NIMBUS_MCP_KEY=your-value --env NIMBUS_MCP_KEY_FILE=your-value -- uvx nimbus-mcp動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"nimbus": {
"url": "https://nimbus-mcp.fly.dev/mcp"
}
}
}または、パソコンで動かす
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"nimbus": {
"command": "uvx",
"args": [
"nimbus-mcp"
],
"env": {
"NIMBUS_API_URL": "your-value",
"NIMBUS_TOKEN": "your-value",
"NIMBUS_TOKEN_FILE": "your-value",
"NIMBUS_MCP_KEY": "your-value",
"NIMBUS_MCP_KEY_FILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"nimbus": {
"type": "http",
"url": "https://nimbus-mcp.fly.dev/mcp"
}
}
}または、パソコンで動かす
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"nimbus": {
"type": "stdio",
"command": "uvx",
"args": [
"nimbus-mcp"
],
"env": {
"NIMBUS_API_URL": "your-value",
"NIMBUS_TOKEN": "your-value",
"NIMBUS_TOKEN_FILE": "your-value",
"NIMBUS_MCP_KEY": "your-value",
"NIMBUS_MCP_KEY_FILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
- ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
- Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
- 下のアドレスを貼り付け、名前を付けて保存する
- サインインを求められたら、作者のサービスにサインインする
https://nimbus-mcp.fly.dev/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
NIMBUS_API_URLenvNimbus backend URL. Defaults to the local backend (http://127.0.0.1:8080) — the desktop app and local key flow expect this; use https://nimbus-studio.fly.dev to run against the hosted API.- Hosted API token (nimb_…) minted in Nimbus Studio → Account → API tokens. Not needed if you already ran `nimbus-mcp login`.
NIMBUS_TOKEN_FILEenvPath to a 0600 JSON file {"token": "…"} holding a hosted API token (keeps secrets out of MCP configs).- Local-backend key; must match MCP_LOCAL_KEY on your Nimbus backend (dev server) or the desktop app's key.
NIMBUS_MCP_KEY_FILEenvPath to a local-backend key file. The desktop app's mcp-key.json is auto-discovered without this.
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
このサーバーは、ツール一覧を表示する前にサインインを求めます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント nimbusbci で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- ✓ 合格
エンドポイントが応答する
62ミリ秒で応答(HTTP 401)
- ✓ 合格
OAuthでサインイン
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
- … 未チェック
ツールの説明に隠れた指示がない
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
データベース・データセットのほかのサーバーとの比較i
- このカテゴリのほかの1146件のうち0%よりスターが多い
- このカテゴリのほかの1146件のうち87%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの1146件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Nimbus BCIは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:NIMBUS_TOKEN, NIMBUS_MCP_KEY
パソコンで動きますか、それともクラウドですか?
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.14.21)がレジストリに届いたのは5 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
代わりに使えるものは?
同じカテゴリには:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
nimbus-mcp
MCP server that lets AI agents (Claude Code, Cursor, Claude Desktop) build, validate, run, and analyze Nimbus BCI pipelines — upload their own EEG data, persist pipelines into studio projects, run multi-configuration experiment campaigns on public MOABB/BNCI datasets, render plots, and export BIDS — through your local Nimbus backend or the hosted deployment, with one `nimbus-mcp login`.
Docs: docs.nimbusbci.com · Overview: nimbusbci.com/mcp · Jump to Quickstart
Quickstart (hosted, recommended)
Nothing to install: point your MCP client at the hosted server https://nimbus-mcp.fly.dev/mcp. On first use your client opens a browser sign-in to Nimbus Studio (OAuth) — no token to paste.
Cursor — click the Add to Cursor button above, or put this in .cursor/mcp.json (or ~/.cursor/mcp.json):
{
"mcpServers": { "nimbus": { "url": "https://nimbus-mcp.fly.dev/mcp" } } }
Claude Code:
claude mcp add --transport http nimbus https://nimbus-mcp.fly.dev/mcp
Claude Desktop / claude.ai: Settings → Connectors → *Add custom connector* → URL https://nimbus-mcp.fly.dev/mcp. (Custom connectors may require a paid Claude plan.)
Other clients (streamable HTTP):
{
"mcpServers": { "nimbus": { "type": "http", "url": "https://nimbus-mcp.fly.dev/mcp" } } }
Headless / CI (no browser): OAuth stays the primary path, but the gateway also accepts a Nimbus API key (create one on the Studio Account page) as a Bearer header:
{
"mcpServers": { "nimbus": { "type": "http", "url": "https://nimbus-mcp.fly.dev/mcp", "headers": { "Authorization": "Bearer ${NIMBUS_TOKEN}" } } } }
claude mcp add --transport http nimbus https://nimbus-mcp.fly.dev/mcp \
--header "Authorization: Bearer $NIMBUS_TOKEN"
Try it in 60 seconds
After sign-in, paste this prompt into your agent:
Benchmark a CSP + LDA motor-imagery pipeline on BCI IV 2a (
BNCI2014_001),
show me the confusion matrix, and compare the score to the leaderboard.
You should see the agent call catalog.datasets / catalog.templates, start a run with execution.run, poll execution.get, then show execution.results (accuracy / kappa), a plots.* figure and the catalog.leaderboard comparison — all on public MOABB data, no EEG device needed. The longer guided loop is in examples/demo.md.
The server also ships 5 ready-made MCP prompts (your client lists them as slash commands / prompt templates): mi_csp_lda_bci_iv_2a, compare_mi_pipelines, foundation_backbones, inspect_my_eeg and leaderboard_standing.
Why nimbus-mcp (October 2026 field)
The BCI-MCP niche grew four other servers in 2026. They are honest, focused tools — and each covers a slice of what nimbus-mcp does end-to-end:
| Capability | nimbus-mcp | bci-mcp | eeg-mcp | mne-mcp | ephys-mcp |
|---|---|---|---|---|---|
| Build + validate + run BCI pipelines | ✅ 63 tools | — | — | — | — |
| Train on real data (MOABB packs, uploads) | ✅ | — | — | file I/O only | NWB/DANDI |
Bring-your-own model code (python_model) | ✅ local + cloud sandbox | — | — | — | — |
| Benchmark leaderboard + server-side LOSO scoring | ✅ | — | — | — | — |
| Agent-visible figures (PNG content blocks) | ✅ plots.* | — | — | ✅ | ✅ |
| Modelless live band powers (focus/relaxation) | ✅ stream.telemetry | ✅ | ✅ | — | — |
| Guided subject calibration | ✅ calibration.* | — | — | — | — |
| Neurofeedback protocol sessions | ✅ protocol.* | — | — | — | — |
| BIDS export (sha256 manifests) | ✅ bids.* | — | — | — | — |
| Cluster-aware group statistics | ✅ stats.grouped | — | — | — | partial |
| Transport | stdio + hosted HTTP gateway | stdio + HTTP | stdio | stdio | stdio |
| Validation evidence | arXiv:2610.13894 — parity study, 3 datasets / 6 pipelines / 2 protocols | band-ratio heuristics | — | — | — |
Scope honesty (deliberate non-goals): no stimulation output (eeg-mcp's triple-interlocked send_stim_event is genuinely novel; we don't drive stimulators), no spike/ephys data (ephys-mcp covers intracortical recording — different data plane), no source localization / full MNE parity (mne-mcp is a deep offline MNE wrapper; plots.* covers the figures agents need on Nimbus data).
Install locally (stdio)
Prefer running the server on your own machine (or using your local Studio desktop backend)? Sign in once, then use a secret-free config:
uvx nimbus-mcp login # or: pip install nimbus-mcp && nimbus-mcp login
{
"mcpServers": { "nimbus": { "command": "uvx", "args": ["nimbus-mcp"] } } }
Both uvx nimbus-mcp and python -m nimbus_mcp (inside the env where it is installed) start the stdio MCP server. Agent-oriented install steps (e.g. for Cline): llms-install.md.
(Also installable from the repo: pip install -e nimbus-studio/mcp.)
Zero-hardware demo: examples/demo.md — a copy-paste agent prompt that runs the whole loop (explore → inspect → figures → train → confusion figure → leaderboard → stats) on public MOABB data, no device.
Authentication
Three ways to give the server a credential — tried in this order at startup:
- `nimbus-mcp login` (recommended — hosted API, no token pasting). A device-code login: the command prints a URL and an 8-character code, opens your browser, you approve in Nimbus Studio, and the minted token is stored at
~/.nimbus/credentials.json(0600) and picked up automatically on every future start.
nimbus-mcp login # options: --api-url URL, --ttl-days 7..90, --name NAME
nimbus-mcp status # doctor: credential source, plan, quota, days-to-expiry, live probe nimbus-mcp logout # remove the stored credential
After a login, MCP client configs need no secret at all:
{
"mcpServers": { "nimbus": { "command": "uvx", "args": ["nimbus-mcp"] } } }
- Desktop app — zero config. Just have the Nimbus Studio desktop app running: its local key file is auto-discovered (macOS
~/Library/Application Support/Nimbus Studio/mcp-key.json, Linux~/.config/Nimbus Studio/…, Windows%APPDATA%\Nimbus Studio\…) and the server talks to the local backend athttp://127.0.0.1:8080. Nothing to paste or configure.
- Environment variables (advanced / CI).
NIMBUS_TOKEN(a hosted API tokennimb_…minted in Nimbus Studio → Account → API tokens) orNIMBUS_TOKEN_FILE(a 0600 JSON file{"token": "…"}— keeps the secret out of process env and MCP configs), or the local pairNIMBUS_MCP_KEY/NIMBUS_MCP_KEY_FILE(must matchMCP_LOCAL_KEYon a local backend — see below). Explicit env always beats files on disk. ANIMBUS_TOKEN/NIMBUS_TOKEN_FILEtoken withNIMBUS_API_URLunset talks to the hosted API (https://nimbus-studio.fly.dev); setNIMBUS_API_URLto point it anywhere else.
No credential anywhere? That is the Local Free tier — it works. The server starts anonymously against the local backend (desktop app or dev backend on http://127.0.0.1:8080): templates, your own data, local execution/plots/stats, BIDS export and local-only storage need no Nimbus Studio login at all. Login is requested only at first *cloud* value — a tool that needs an identity (leaderboard submission, verified/cross-machine experiment history, hosted compute, cloud sync, collaboration) returns {ok: false, loginRequired: true, trigger, reason, howToAuthenticate} naming exactly why, instead of a blanket gate. Hosted Pro features (verified leaderboard submissions, foundation.compare, big campaigns, team features) return {ok: false, tierGate: true, requiredTier: "pro"} on free accounts; exports (BIDS etc.) are never gated at any tier. If a local call fails because no local backend/identity exists, the response is the local-mode variant of {ok: false, setupRequired: true, message, options} (start the desktop app / set a dev key — still no login). A hosted token rejected mid-session (expired or revoked) returns the classic setup shape, including how many days ago it expired.
Checking who you are
account.whoami() → {userId, email, plan: {isPro, pioneerAccess},
freeRuns: {monthlyLimit, remaining}, token: {name, kind, scopes, fullAccess, expiresAt, daysLeft} | {masked, kind, scopes, fullAccess, expiresAt, daysLeft} # gateway header token | null, source} # store | env | token_file | header | …
Call account.whoami() from the agent to see the account, plan, this month's free-run quota, and (in token mode) the token's days-to-expiry; nimbus-mcp status is the terminal equivalent with a live backend probe.
What a hosted token means
- The token IS you. Requests run under your account: executions appear in your studio history and your plan's quotas and limits apply — there is no separate agent allowance. When the free monthly quota is exhausted, run errors carry the upgrade link
https://studio.nimbusbci.com/pricing?reason=mcp-quota. - CPU-only in v0.4. Token-authenticated runs do not hydrate cloud GPUs.
- Rotation. Tokens live at most 90 days (30 by default). Plan changes are snapshotted at mint time — after an upgrade, re-login (or revoke and re-create the token) to pick up the new plan. An expired token surfaces as setup guidance with the day count, not a dead end.
Headless agents and CI (API keys)
For CI pipelines and unattended agents, mint a CI key in Nimbus Studio → Account → API tokens: choose type CI / headless, a lifetime of 90, 180 or 365 days, and pick its scopes. CI keys are a Pro feature (Pro plan or Pioneer access); Free accounts can still use personal tokens.
| Scope | Allows |
|---|---|
read | GET/list/describe, plus compute-only POSTs (validate, plots, stats, export) |
run | start/cancel executions and experiments (consumes your quota) |
write | create/update/delete projects, pipelines, uploads, settings |
leaderboard:submit | leaderboard submissions |
CI keys default to read + run; a full-access CI key is an explicit choice (the Full access checkbox, or "fullAccess": true on POST /api/me/api-tokens). Personal tokens keep the old default: no scope selected = full access, and every token minted before scopes existed keeps working unchanged. The backend enforces scopes on every request; a missing scope answers 403 nimbus.auth.token_scope_insufficient. account.whoami and nimbus-mcp status show the key's kind, scopes and days left.
Store the key as a CI secret and pass it as NIMBUS_TOKEN (no NIMBUS_API_URL needed — a token defaults to hosted Nimbus). GitHub Actions example:
- name: Nimbus smoke run
env: NIMBUS_TOKEN: ${{ secrets.NIMBUS_CI_KEY }} run: | pipx install nimbus-mcp nimbus-mcp status # fails fast if the key is expired or revoked
Or call the hosted gate
冒頭だけを表示しています。続きはリポジトリで読めます