Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

BrainFlow Biosensing Boards

de K-Dense-AIversión 0.1.2i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.K-Dense-AI/labmcp-brainflow

Instalar

Resumen

Descripción del creador (original en inglés)

MCP server for EEG/EMG/ECG/PPG boards via BrainFlow (OpenBCI, Muse, Neurosity, Unicorn, BrainBit).

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: LABMCP_ADDRESS, LABMCP_SIMULATE, LABMCP_READ_ONLY, LABMCP_LIMITS

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "labmcp-brainflow": {
      "command": "uvx",
      "args": [
        "labmcp-brainflow"
      ],
      "env": {
        "LABMCP_ADDRESS": "your-value",
        "LABMCP_SIMULATE": "your-value",
        "LABMCP_READ_ONLY": "your-value",
        "LABMCP_LIMITS": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add labmcp-brainflow --env LABMCP_ADDRESS=your-value --env LABMCP_SIMULATE=your-value --env LABMCP_READ_ONLY=your-value --env LABMCP_LIMITS=your-value -- uvx labmcp-brainflow

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "labmcp-brainflow": {
      "command": "uvx",
      "args": [
        "labmcp-brainflow"
      ],
      "env": {
        "LABMCP_ADDRESS": "your-value",
        "LABMCP_SIMULATE": "your-value",
        "LABMCP_READ_ONLY": "your-value",
        "LABMCP_LIMITS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "labmcp-brainflow": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "labmcp-brainflow"
      ],
      "env": {
        "LABMCP_ADDRESS": "your-value",
        "LABMCP_SIMULATE": "your-value",
        "LABMCP_READ_ONLY": "your-value",
        "LABMCP_LIMITS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • LABMCP_ADDRESS env
    Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025
  • LABMCP_SIMULATE env
    Set to 1 to use the built-in simulator (no hardware)
  • LABMCP_READ_ONLY env
    Set to 1 to disable all state-changing tools
  • LABMCP_LIMITS env
    Safety limit overrides, e.g. max_temperature_c=80

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub K-Dense-AI, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32718 servidores de esta categoría
  • Publicado en el registro más recientemente que el 50% de los otros 32718 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32718 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro BrainFlow Biosensing Boards?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.2) llegó al registro hace 41 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

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](https://brainflow.org) 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.

Packagelabmcp-brainflow
InstrumentsOpenBCI Cyton, Cyton+Daisy, Ganglion, Galea (USB dongle, BLE, WiFi Shield) · Muse 2 / S / S Athena / 2016 · Neurosity Crown / Notion · g.tec Unicorn · BrainBit · Callibri · Enophone · Mentalab Explore · EmotiBit · FreeEEG32/128 · NeuroPawn Knight · Shimmer3 · any other board in BrainFlow's BoardIds
InterfacesUSB serial dongle, Bluetooth LE (native or BLED112 dongle), WiFi, vendor SDKs (all through BrainFlow)
ProtocolBrainFlow SDK ≥ 5.21: BoardShim, BrainFlowInputParams, DataFilter (User API, Supported Boards, Data Format)
Status🧪 simulated: tested against BrainFlow's own synthetic board and a built-in fake, not yet verified on hardware. Report a hardware test

Try it without hardware

uvx labmcp-brainflow --simulate --check

--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

  1. Pick the board with --option board= (or any BrainFlow BoardIds name such as ANT_NEURO_EE_411_BOARD, or a numeric id). The list_supported_boards tool prints this table too.
  2. Give the connection detail with --address. Depending on the board, BrainFlow expects a different BrainFlowInputParams field, and the server fills in the right one:
Board (--option board=)--address isRequired?Notes
cyton, cyton_daisyserial port of the USB dongleyesmacOS: use /dev/cu.usbserial-*, not /dev/tty.*
ganglion (native BLE)Bluetooth MACno (auto-discovery)FW 2 boards: --option other_info=fw:2
ganglion_dongleserial port of the BLED112 dongleyesoptional --option mac_address=
cyton_wifi, cyton_daisy_wifi, ganglion_wifiWiFi Shield IP (192.168.4.1 in direct mode)no (SSDP)--option ip_port= (default 6789)
muse_2, muse_s, muse_s_athena, muse_2016Bluetooth MACno--option serial_number=Muse-XXXX; PPG: --option other_info=p50 (Muse 2) / p61 (Muse S)
muse_2_bled, muse_s_bledserial port of the BLED112 dongleyes
crown, notion_1, notion_2device serial numbernosame network, broadcast must be allowed
unicorn, brainbitdevice serial numbernoUnicorn: pair with the supplied dongle
enophone, explore_4, explore_8Bluetooth MACLinux only
emotibitnetwork broadcast addressno
freeeeg32, freeeeg128, neuropawn_knight, shimmer3, ironbci_32serial portyes
playbackpath of a file saved in BrainFlow formatyes--option master_board=
syntheticnothingBrainFlow's synthetic board

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=….

  1. Test the connection:
   uvx labmcp-brainflow --option board=cyton --address /dev/cu.usbserial-DM00Q0QN --check   # macOS

uvx labmcp-brainflow --option board=cyton_daisy --address COM3 --check # Windows uvx labmcp-brainflow --option board=muse_2 --option serial_number=Muse-1A2B --check uvx labmcp-brainflow --option board=unicorn --check

   Close other programs that hold the device (OpenBCI GUI, Muse app) first. On Linux, add yourself to the `dialout` group for serial ports.

Add to your MCP client

Claude Code

claude mcp add eeg -- uvx labmcp-brainflow --option board=cyton --address /dev/ttyUSB0

Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)

{

"mcpServers": { "eeg": { "command": "uvx", "args": ["labmcp-brainflow", "--option", "board=cyton", "--address", "/dev/ttyUSB0"] } } }

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

ToolKindDescription
configure_board⚠️ hazardSend a raw board-specific command to the firmware through BrainFlow's config_board (e.g. OpenBCI channel settings 'x1060110X', test signals, or Muse presets 'p50'/'p61' to enable PPG).
get_band_powers👁 readEEG band powers (delta 1-4, theta 4-8, alpha 8-13, beta 13-30, gamma 30-50 Hz) over the most recent window_s seconds: BrainFlow's channel-averaged relative powers plus per-channel absolute (uV^2) and relative powers and the peak frequency. Records a fresh window if not streaming.
get_board_info👁 readDescribe the connected board: channel names by type (EEG/EMG/ECG/EOG share the EXG rows on most boards), sampling rate, available presets (data buffers) and streaming state.
get_command_log👁 readReturn the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.
get_connection_info👁 readReport which instrument is connected (identity, address, simulated or real), whether the server is read-only, and the active safety limits. Call this first.
get_signal_quality👁 readCheck every EXG channel for common electrode problems: flat line (disconnected), railed (amplifier saturated, OpenBCI Cyton boards), strong 50/60 Hz mains noise (poor contact or missing reference), and implausibly high amplitude (movement, muscle, loose electrode).
insert_marker🎛 controlWrite an event marker into the data stream at the current sample (for event-related experiments: stimulus onsets, condition changes). Requires start_streaming; markers appear in record results and saved files.
list_supported_boards👁 readList common BrainFlow boards: the --option board= alias, BrainFlow board id, and which connection detail --address must hold (serial port, Bluetooth MAC, IP address or serial number). Any other BrainFlow BoardIds name or numeric id is accepted too. Does not need a board.
reconnect🛑 safetyClose and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
record👁 readRecord duration_s seconds and return per-channel statistics, event markers and downsampled traces. Uses the live stream if one is running, otherwise starts a temporary one. The full data (every row, full sampling rate) can be written to save_path. stop_streaming ends a recording early.
start_streaming🎛 controlStart continuous acquisition into BrainFlow's ring buffer (the board's radio/LEDs switch on; nothing is applied to the participant). Needed for insert_marker; record then reads from the live stream. Call stop_streaming when finished.
stop_streaming🛑 safetyStop acquisition (saves battery). A record in progress ends at once with the data acquired so far. Data already in the buffer is kept until the next stream starts or the session is released (reconnect).

Safety limits

LimitDefaultMeaning
max_record_duration_s60 sLongest recording or analysis window (record, get_band_powers, get_signal_quality) an agent may request

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_relative comes from BrainFlow's DataFilter.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 (BrainFlow DataFilter), 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): flat means the raw SD is below 0.5 µV (disconnected); railed means 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_noise means 50 or 60 Hz power exceeds the whole 1–45 Hz power; high_amplitude means 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= to get_board_info and record.
  • Markers go into the default preset's marker row and need an active stream (start_streaming). You can insert them while record is running. Value 0 is reserved.
  • Saved files. save_path must be a new file (.csv; .csv, .tsv or .txt for save_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" writes DataFilter.write_file output, which you can replay with `--opt

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx