
BrainFlow Biosensing Boards
io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.2更新于 Oct 24, 2026
MCP server for EEG/EMG/ECG/PPG boards via BrainFlow (OpenBCI, Muse, Neurosity, Unicorn, BrainBit).
发布方自己的服务:BrainDog
概览
本地 MCP 服务器,让助手通过 BrainFlow 支持的生物传感板采集、录制并分析 EEG、EMG、ECG 和 PPG 数据。
- 可以做什么
- 列出支持的板卡,并报告连接信息、板卡信息和命令日志,包括当前是模拟还是真实设备、是否只读以及生效的安全限制。启动和停止连续采集,断电或重新插线后重连,并向数据流插入事件标记。按指定时长录制并返回各通道统计、标记和降采样波形,可选把全采样率数据保存为新的 CSV 或 BrainFlow 文件。计算 EEG 频段功率和峰值频率,并检查每个电极是否断连、饱和、受工频干扰或幅度过高。向板卡固件发送原始专用命令,例如通道设置或预设。
- 适用场景
- 适合使用 OpenBCI、Muse、Neurosity、Unicorn、BrainBit 等板卡进行科研或爱好者级生物信号工作,例如让助手检查电极接触、带事件标记录制短片段或比较频段功率。也可在无硬件的模拟模式下先行试用。
- 运行要求
- 以 Python 包(uvx labmcp-brainflow)通过 stdio 在本机运行,仅限桌面。需要受支持的板卡,并通过 LABMCP_ADDRESS 或选项提供连接信息(串口、蓝牙 MAC、IP 地址或序列号),还需要 BrainFlow;蓝牙连接需本机适配器或 BLED112 加密狗。可选 LABMCP_LIMITS、LABMCP_READ_ONLY、LABMCP_SIMULATE。Linux 下串口访问可能需要加入 dialout 组。
安装
在 SourceWeft 中
- 打开 控制台中的 BrainFlow Biosensing Boards,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
BrainFlow Biosensing Boards — MCP Server
Let an AI agent stream, record and analyse EEG, EMG, ECG, EOG, PPG and EDA from the biosensing boards supported by the open-source BrainFlow SDK: OpenBCI, Muse, Neurosity, g.tec Unicorn, BrainBit and many more. It covers recording with event markers, EEG band powers and per-electrode signal-quality checks.
Research use only. This is not a medical device. Do not use it to diagnose, monitor or treat anyone. Follow the board manufacturer's safety instructions (battery operation, electrical isolation, skin preparation). This server does not change any of them.
Try it without hardware
--simulate runs BrainFlow's own SYNTHETIC_BOARD, so the real BrainFlow code path runs: 16 EXG channels at 250 Hz with sine waves at 5, 10, 15 … 80 Hz plus accelerometer, gyro, PPG, EDA and temperature rows. On platforms where BrainFlow's native library can't load, or with --option simulator=fake, a pure-numpy stand-in is used instead. It simulates an 8-channel, 250 Hz EEG headset with 1/f background, posterior alpha at 10 Hz and one badly attached electrode (Fp2, heavy 50 Hz pickup), so the signal-quality check has something to find.
Connect your board
- Pick the board with
--option board=<alias>(or any BrainFlowBoardIdsname such asANT_NEURO_EE_411_BOARD, or a numeric id). Thelist_supported_boardstool prints this table too. - Give the connection detail with
--address. Depending on the board, BrainFlow expects a differentBrainFlowInputParamsfield, and the server fills in the right one:
For a board that isn't listed, the server infers the field from the address format: COM3 or /dev/… becomes a serial port, AA:BB:… a MAC address, a.b.c.d an IP address, and anything else a serial number. You can also set any field directly with --option serial_port=… / mac_address=… / ip_address=… / serial_number=… / other_info=… / timeout=….
- Test the connection:
Close other programs that hold the device (OpenBCI GUI, Muse app) first. On Linux, add yourself to the
dialoutgroup for serial ports.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
With --read-only, the agent can still record and analyse data (a temporary stream is started for each recording) but cannot leave the stream running, insert markers or send configure_board commands. stop_streaming stays available.
Tools
Safety limits
Override at launch: --limit max_record_duration_s=600. BrainFlow boards measure; the only tool that can switch on an output (for example an impedance-test current through the electrodes, or the bias drive on a channel) is configure_board, a raw firmware passthrough that is marked as a hazard so MCP clients ask before running it.
Example prompts
- "Check the signal quality on all 8 Cyton channels and tell me which electrodes need more gel."
- "Record 30 s eyes-closed and 30 s eyes-open, save both as CSV in ~/data/sub-01/, and compare occipital alpha power."
- "Start streaming. I'll run an oddball task: insert marker 1 for standards and 2 for targets when I tell you. Then save the session in BrainFlow format."
- "What's the peak alpha frequency on O1 and O2 over the last 10 seconds?"
- "Is there 50 or 60 Hz mains noise in this setup, and on which channels?"
- "List the boards you support and tell me how to connect my Muse S."
Notes
- How the band powers are computed.
average_relativecomes from BrainFlow'sDataFilter.get_avg_band_powers(apply_filter=True): detrend, 48–52 and 58–62 Hz band-stop, 2–45 Hz band-pass, Welch PSD, then bands of 1–4, 4–8, 8–13, 13–30 and 30–50 Hz averaged over channels and normalised to sum to 1. Per-channel values use detrend, a 50/60 Hz notch and a 1–45 Hz 4th-order zero-phase Butterworth (BrainFlowDataFilter), followed by a Welch PSD (Hann window, 50 % overlap, ≈0.5 Hz bins). Absolute band power is the integrated PSD in µV², and gamma is effectively 30–45 Hz. - Signal-quality verdicts (EEG-oriented thresholds):
flatmeans the raw SD is below 0.5 µV (disconnected);railedmeans at least 90 % of the ADS1299 input range is used (OpenBCI Cyton family only, using BrainFlow's formula with gain 24, set by--option exg_gain=);line_noisemeans 50 or 60 Hz power exceeds the whole 1–45 Hz power;high_amplitudemeans the band-passed RMS is above 100 µV. EMG/ECG recordings will naturally be "high amplitude". - Units. BrainFlow returns EXG in µV "wherever possible". The OYMotion gForce armbands return ADC counts. Accelerometer, PPG and similar channels use board-specific units. Timestamps are Unix seconds.
- Presets. Some boards stream several buffers with different sampling rates, for example Muse EEG (default), IMU (auxiliary) and PPG (ancillary). Pass
preset=toget_board_infoandrecord. - Markers go into the default preset's marker row and need an active stream (
start_streaming). You can insert them whilerecordis running. Value 0 is reserved. - Saved files.
save_pathmust be a new file (.csv;.csv,.tsvor.txtforsave_format="brainflow"):~is expanded, missing folders are created, an existing file is never overwritten, and the path is checked before recording starts.save_format="csv"writes labelled columns for every row.save_format="brainflow"writesDataFilter.write_fileoutput, which you can replay with--option board=playback --address file.csv --option master_board=<board>. configure_boardpasses a string straight to the board firmware through BrainFlow'sconfig_board, for example OpenBCI channel settings or Muse presets. Nothing is checked: some commands switch on outputs such as the lead-off (impedance-test) current. Settings persist until changed or the board is power-cycled; check the board's SDK documentation for valid commands.- Streams.
record,get_band_powersandget_signal_qualitystart a temporary stream when none is running and stop it afterwards, unlessstart_streamingwas called meanwhile (the stream then stays on) or another recording still uses it.stop_streamingends a runningrecordat once; it returns only the data acquired so far, withstopped_early: true. reconnect(and stopping the server) stops the stream and callsrelease_session, which frees the serial port or BLE connection.
Hardware verification
来源:servers/health/brainflow-biosensors/README.md,提交 46545ea
工具
0版本历史
2- v0.1.2最新Sep 27, 2026
- v0.1.0Sep 26, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Brain 集成

BrainDog
dog.brain官方发布者
BrainDog 是一个托管记录库,集中保存项目、决策与资金,接入的 AI 代理在开工前读取、结束后写入。

Codebase Brain
由 GitHub 账号 Nomannazir 发布
为本地或公开 git 代码库建立索引,让助手能检索代码、追溯 git 历史、分析改动影响并发现过期文档,结果均带路径与行号引用。

Personal Brain
由 GitHub 账号 zhang-liz 发布
为 AI 助手提供职业人脉记忆,数据以图的形式存放在 FalkorDB 中,可查询联系人、按话题找人并记录你见过的人。

Second Brain
由 GitHub 账号 ara-5 发布
面向AI智能体的共享Graph-RAG记忆:markdown vault、wikilink召回、任务、消息传递。AI 翻译

Make0 Brain
由 GitHub 账号 make0-official 发布
本地离线运行的记忆服务器,让 Claude Code、Cursor、Codex 等 MCP 代理共享一份带版本记录的持久事实库。