Skip to content

BCI Features

This document outlines the key features of the Brain-Computer Interface (BCI) component of the BCI-MCP system.

Supported Devices

The BCI-MCP system is designed to work with a variety of BCI hardware devices, including:

OpenBCI

  • Cyton Board: 8-channel EEG acquisition
  • Ganglion Board: 4-channel EEG acquisition
  • Cyton + Daisy: 16-channel EEG acquisition
  • WiFi Shield: Wireless data transmission

Emotiv

  • EPOC+: 14-channel EEG headset
  • EPOC Flex: Advanced EEG acquisition with flexible positioning
  • Insight: 5-channel mobile EEG headset

NeuroSky

  • MindWave: Single-channel EEG headset

Custom Hardware

  • Support for custom and DIY EEG hardware through configurable device interfaces

Data Acquisition

Sampling Capabilities

  • Adjustable sampling rates (up to 1000 Hz depending on hardware)
  • Multi-channel data acquisition
  • Real-time impedance checking
  • Signal quality monitoring

Data Formats

  • Standard EDF/EDF+ format support
  • CSV export functionality
  • Integration with common EEG data formats
  • Raw data access for custom processing

EEG Monitoring

Real-time Visualization

  • Time-domain signal plotting
  • Frequency spectrum analysis
  • Topographical mapping
  • Custom visualization components

Impedance Testing

  • Real-time electrode impedance monitoring
  • Visual feedback for connection quality
  • Electrode status indicators

Supported Paradigms

P300

  • Oddball paradigm implementation
  • P300 speller matrix
  • Target detection

Steady-State Visual Evoked Potentials (SSVEP)

  • Frequency-coded stimulation
  • Phase-coded stimulation
  • Multi-target detection

Motor Imagery

  • Left/right hand imagery
  • Multiple body part classification
  • Continuous control paradigms

Passive BCI

  • Cognitive workload monitoring
  • Attention level tracking
  • Emotional state detection

Markers and Events

Event Annotation

  • Precise timestamp synchronization
  • Custom event markers
  • Experimental protocol design tools

Trigger I/O

  • External trigger input/output
  • Hardware synchronization
  • Integration with stimulus presentation software

Extension Capabilities

Plugin Architecture

  • Custom signal processing plugin support
  • Protocol extension framework
  • Device driver extensibility

API Access

  • Comprehensive Python API
  • WebSocket streaming for web applications
  • Network data transmission

Example Usage

from bci_mcp.devices import OpenBciDevice
from bci_mcp.visualization import SignalViewer

# Connect to an OpenBCI Cyton board
device = OpenBciDevice(port="/dev/ttyUSB0", board_type="cyton")
device.connect()

# Start data streaming
device.start_stream()

# Create a real-time signal viewer
viewer = SignalViewer(device)
viewer.show()

# Add an event marker
device.add_marker(code=1, description="Stimulus onset")

# Access raw data
data = device.get_data(seconds=10)

# Stop streaming when done
device.stop_stream()
device.disconnect()

Next Steps

To understand how these BCI features integrate with the Model Context Protocol, see the MCP Integration documentation.