BCI-MCP
An MCP server that streams live EEG brain-state metrics — focus, calm, attention, band powers, signal quality — from consumer/research EEG headsets (or a hardware-free synthetic source) into Claude and other MCP clients.
| Type | MCP server |
| Supplier | enkhbold470 (community, MIT) |
| Availability | Alpha — PyPI/npm bci-mcp v0.1.3, released 2026-06-24 |
| Pricing | Free / OSS (MIT) |
| Capabilities | Read/Write — reads live/recorded EEG streams; can record sessions and run neurofeedback loops |
| Verified | works · 2026-07-20 |
| Security | caution · 2026-07-20 — provenance matches supplier, MIT, no OSV advisories, single-maintainer alpha |
How to install
- Claude Code — direct MCP add (npm entrypoint):
claude mcp add bci-mcp -- npx -y bci-mcp - Claude Code — Python entrypoint (installs from PyPI on first run via
uvx):claude mcp add bci-mcp -- uvx bci-mcp serve - Claude Desktop — Settings → Developer → Edit Config, add:
{ "mcpServers": { "bci-mcp": { "command": "npx", "args": ["-y", "bci-mcp"] } } } - Manual PyPI install (for the
bci-mcpCLI —stream,record,play,neurofeedback,dashboard):pip install "bci-mcp[all]"Use extras
[devices](BrainFlow),[lsl](pylsl),[edf](recording playback), or[dashboard]to install only what you need.
This is a stdio server (built with FastMCP): the claude mcp add/Desktop config launch the process on demand — you do not keep it running in a separate terminal. Running uvx bci-mcp serve or npx -y bci-mcp by hand is only a one-shot check that it boots (Ctrl-C after it starts).
What it does
Exposes 13 tools: list_devices, connect, disconnect, get_brain_state, get_band_powers, get_signal_quality, get_metric_definitions, calibrate, record, start_neurofeedback, get_neurofeedback_score, mark_event, stream_summary.
Devices are addressed by URI scheme:
synthetic://— built-in synthetic signal, no hardware required (lets you exercise the whole toolchain offline)brainflow://cyton,brainflow://muse_s— OpenBCI Cyton/Ganglion, Muse 2/S via BrainFlowlsl://<name>— any Lab Streaming Layer source (pylsl)serial://<port>— generic serial device (pyserial)playback://<file>— replay a previously recorded session
Primary use cases: neurofeedback experiments, live EEG band-power/brain-state monitoring in-conversation, recording and replaying EEG sessions, prototyping BCI workflows without hardware.
Notes
Community/independent project (not affiliated with any device vendor). Early-stage (v0.1.x, ~120 commits as of verification) — treat as Alpha. The synthetic:// source means Claude can drive the full tool surface with no headset attached, which is useful for evaluation; real-device use requires the matching hardware and BrainFlow/pylsl extras. A documentation-derived HTTP deployment mode also exists but the stdio path above is the supported Claude integration.
Sources
Installed this tool?
Share feedback — install path, OS, errors, workarounds. The form opens with this tool pre-selected and a link back to this page.