BCI-MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | The port for connecting to the EEG device (e.g. /dev/tty.usbmodem1101) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List EEG devices/URIs you can connect to. |
| connectB | Connect to an EEG device and start streaming. Default is the synthetic brain. |
| disconnectA | Disconnect from the current EEG device. |
| get_brain_stateA | Get the current brain state. Returns heuristic band-power proxy metrics
(focus, calm, attention, engagement, fatigue, meditation), band powers, and
signal quality. Each reading carries |
| get_band_powersB | Get absolute and relative EEG band powers (delta, theta, alpha, beta, gamma). |
| get_signal_qualityA | Get electrode signal quality, reading confidence, and detected artifacts (blink, railing, emg, flatline). |
| get_metric_definitionsA | Explain each brain metric: its exact formula, the literature it draws on
(with DOIs under |
| get_pipeline_limitationsA | What this pipeline can and cannot do: the exact analysis method (Welch PSD window, band edges, filters), a plain-English list of limitations (it averages transients out, is not clinical/qEEG, metrics are heuristic proxies, no source localization/connectivity), and its intended use. Read this before drawing any conclusion from the metrics — especially do not present them as clinical, diagnostic, or event-level (ERP/spindle) results. |
| calibrateC | Capture a baseline so focus/calm/etc. are personalized to the wearer. |
| mark_eventC | Annotate the live stream with a labeled event marker. |
| stream_summaryB | Current brain-state snapshot. (The |
| recordB | Record the live stream for N seconds to a file (npz/csv/edf). |
| start_neurofeedbackC | Begin a neurofeedback session rewarding time spent above a metric target. |
| get_neurofeedback_scoreA | Sample the current neurofeedback score (in-zone now + cumulative %). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| interpret_brain_state | Prompt template: ask the model to interpret the current brain state. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| brain_state_resource | Live brain-state snapshot (JSON), same shape as get_brain_state. |
| brain_device_resource | Discoverable devices and registered URI schemes (JSON). |
| brain_citations_resource | Machine-readable citations (JSON): DOI-keyed references for the analysis method and each metric, the software's own citation and license, and data provenance (bci-mcp bundles no datasets). |
TDQS
Scored across 14 tools
Most tools target distinct actions, but get_brain_state, get_band_powers, get_signal_quality, and stream_summary overlap significantly because get_brain_state already bundles band powers, metrics, and signal quality. stream_summary is especially vague and its description admits it currently returns only the live reading, making it hard to distinguish from get_brain_state.
The set mostly follows a predictable snake_case pattern with clear verb/noun forms such as list_devices, get_brain_state, mark_event, and start_neurofeedback. Minor deviations are bare verbs like connect, disconnect, record, and calibrate, plus the noun-like stream_summary, but these remain readable and conventional for session lifecycle actions.
Fourteen tools is well-scoped for an EEG/BCI server that needs device lifecycle, signal inspection, calibration, events, recording, and neurofeedback. Each tool generally corresponds to a meaningful part of the live BCI workflow without excessive surface area.
The surface covers the core lifecycle: device discovery, connect/disconnect, signal and brain-state reads, calibration, event marking, recording, and neurofeedback start/score. Minor gaps remain, notably no explicit stop_neurofeedback or clear session-stop operation beyond disconnect, and marker/event retrieval is absent.