openbci-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENBCI_PROBE | No | Run synthetic probe at startup | 0 |
| OPENBCI_BOARD_ID | No | BrainFlow board id hint | 0 |
| OPENBCI_MCP_PORT | No | Backend port | 10759 |
| OPENBCI_OSC_HOST | No | Default OSC trigger target | 127.0.0.1 |
| OPENBCI_OSC_PORT | No | Default OSC UDP port (osc-mcp / VRChat) | 9000 |
| OPENBCI_SERIAL_PORT | No | Default COM port | |
| OPENBCI_TRIGGERS_FILE | No | Persisted trigger rules | ~/.openbci-mcp/triggers.json |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| openbci_boardB | Manage OpenBCI hardware connections via BrainFlow. OPERATIONS:
|
| openbci_exportA | Route live EEG to external consumers via BrainFlow streamers. OPERATIONS:
Examples (BrainFlow streamer syntax):
|
| openbci_helpA | Discovery and usage guide for openbci-mcp. OPERATIONS:
|
| openbci_signalA | Real-time EEG signal analysis via BrainFlow DataFilter. OPERATIONS:
|
| openbci_streamA | Control EEG data streaming from a connected OpenBCI board. OPERATIONS:
|
| openbci_triggerC | OSC triggers for BCI neurofeedback and osc-mcp downstream apps. OPERATIONS:
Default target: 127.0.0.1:9000 (configure osc-mcp or app listener). |
| agentic_openbci_workflowA | Multi-step OpenBCI workflows via FastMCP sampling (SEP-1577). Example: agentic_openbci_workflow( workflow_prompt="Connect synthetic board, start stream, compute band power", available_tools=["openbci_board", "openbci_stream", "openbci_signal"], ) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Prefab Renderer (openbci_help) |
TDQS
Scored across 7 tools
Each tool targets a distinct aspect of OpenBCI operation: board management, streaming, signal analysis, export, triggers, help, and high-level workflow orchestration. No two tools have overlapping primary purposes.
Most tools follow the pattern 'openbci_<function>', all lowercase with underscores. However, 'agentic_openbci_workflow' deviates with the prefix 'agentic', and 'openbci_help' is a noun instead of a verb, slightly breaking consistency.
With 7 tools, the server covers the essential functions for BCI data acquisition and processing without being bloated. Each tool has a clear role, and the count feels well-scoped for the domain.
The core workflow (connect, stream, analyze, export, trigger) is fully covered. Minor gaps exist, such as lacking advanced signal processing (e.g., artifact removal, epoch extraction) and hardware configuration details, but the set is sufficient for typical use cases.