프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

BrainFlow Biosensing Boards

제작자: K-Dense-AI버전 0.1.2i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.K-Dense-AI/labmcp-brainflow

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: LABMCP_ADDRESS, LABMCP_SIMULATE, LABMCP_READ_ONLY, LABMCP_LIMITS

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 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"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

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

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • 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

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 K-Dense-AI 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32706개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32706개 중 50%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32706개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

BrainFlow Biosensing Boards, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.2)은 41일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

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

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

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

클라우드에서 실행★ 211그저께 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

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

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기