
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 發布
在本機離線執行的 MCP 記憶伺服器,讓多個 AI 代理共用同一份具版本紀錄的事實與短筆記,可搜尋、讀取與更新。