neuro-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@neuro-mcpLoad subject 5's EEG, filter 1-40 Hz, and visualize the timeseries."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ง neuro-mcp
An MCP for NeuroAgents that assist clinicians and researchers
Documentation ยท PyPI ยท Tutorial ยท Tool Reference
It gives an AI agent one interface over the whole clinical/research EEG workflow: signal processing and source imaging (via MNE-Python), a persistent dataset + EHR store (Postgres + BIDS), and NeuroII web visualization.
Concept
flowchart LR
Clinician(["๐ฉบ Clinician"])
Researcher(["๐ฌ Researcher"])
Agent[["๐ค AI Agent"]]
Server(("neuro-mcp<br/>FastMCP ยท 54 tools"))
Clinician -- talks to --> Agent
Researcher -- talks to --> Agent
Agent -- MCP --> Server
Server --> Processing["Processing & Source Imaging<br/>MNE-Python + ESI"]
Server --> Data["Data & EHR Store<br/>Postgres + BIDS<br/>versioned & audited"]
Server --> NeuroII["NeuroII<br/>Web Visualization"]
classDef proc fill:#4f8cff,stroke:#2f5fbf,color:#fff
classDef data fill:#2fb380,stroke:#1c7a55,color:#fff
classDef viz fill:#b06fe0,stroke:#7c3fae,color:#fff
class Processing proc
class Data data
class NeuroII vizA clinician or researcher never calls a tool directly โ they talk to an agent in plain English, and the agent drives neuro-mcp's 54 tools underneath. See the Tutorial for what that actually looks like end to end.
Related MCP server: DICOMweb MCP Server
Actors & workflows
Clinician โ reviews a recording, adds/edits annotations, and amends EHR (records a diagnosis/observation, corrects a value), then signs off.
Researcher โ discovers datasets, imports to BIDS, runs MNE processing + source imaging.
Agent โ orchestrates the above via tool calls.
Clinical-safety model (EHR & annotations)
EHR records and annotations are versioned, never overwritten or hard-deleted:
Amend = a new audited version.
amend_ehr_record/update_annotationinsert a new version; the prior one is retained with statusamended. So a clinician can modify the EHR โ the current view updates while the original and its author are preserved.Retract = soft void.
void_ehr_record/void_annotationset statusentered-in-error; the record stays in the history.Every mutation is audited (
audit_log: actor, action, before/after).Mutating tools take an explicit
actorso authorship is on the record. (Auth/RBAC enforcement is planned for v0.2; the fields and trail are in place.)
Each tool returns an outcome field for the operation (created/amended/voided/โฆ)
distinct from the record's clinical status, so the two never collide.
Tools (54)
Processing (
load_neuro,filter_neuro,resample_neuro,set_montage,set_reference,detect_bad_channels,run_ica/apply_ica,find_events,epoch_neuro,compute_psd,compute_erp,time_frequency,plot_*) and source imaging / ESI (fetch_template_headโฆextract_label_timecourses).Data/EHR:
register_subject,get_subject,add_ehr_record,amend_ehr_record,get_ehr_history,void_ehr_record;import_recording,register_dataset,query_datasets,list_recordings;add_annotation,update_annotation,list_annotations,void_annotation;get_audit_log.neuroii:
neuroii_push_recording,neuroii_create_viz_session,neuroii_pull_annotations.neuroii visualizations (standalone interactive HTML, Plotly):
visualize_timeseries(stacked multi-channel EEG with scroll + amplitude buttons),visualize_averaging(ERP butterfly + scalp topomap scrubbed by a time slider),visualize_esi(source-estimate ROI time courses + per-time activation bars).
Install
conda create -n neuro-mcp python=3.11 -y # or any Python >=3.10 env
conda activate neuro-mcp
pip install neuro-mcp # core, from PyPI
pip install "neuro-mcp[postgres]" # + PostgreSQL driver (LGPL-3.0)
pip install "neuro-mcp[viz3d]" # + 3D source rendering (PySide6, LGPL-3.0)Working on neuro-mcp itself instead? Clone the repo and use
pip install -e . in place of the line above โ see
Installation for
the full zero-to-hero setup, including Claude Code/Codex CLI/Claude Desktop
registration.
Configure (environment variables)
Variable | Default | Purpose |
|
| Store. Prod: |
|
| Root of the BIDS-on-disk recording tree |
| (unset) | neuroii base URL; unset โ tools return the documented contract |
| (unset) | Optional bearer token for neuroii |
|
| Base dir for the SQLite + BIDS defaults |
The default (SQLite + a scratch BIDS dir) runs with zero setup; point
DATABASE_URL at Postgres for a multi-user/clinical deployment.
Run / register with an MCP host
python -m neuro_mcp # stdio transport{
"mcpServers": {
"neuro-analysis": {
"command": "/path/to/envs/neuro-mcp/bin/python",
"args": ["-m", "neuro_mcp"],
"env": { "DATABASE_URL": "sqlite:////data/neuro_mcp.db", "BIDS_ROOT": "/data/bids" }
}
}
}neuroii web visualization
Three tools port NEUROII's main views into self-contained interactive HTML
files (Plotly, embedded โ no server, works offline). Each returns the .html
path; interaction runs client-side:
visualize_timeseries(RawView) โ MNE-style stacked channels with page navigation (โฎ โ โถ โญ), a page-length box, scroll-to-zoom amplitude, and a grid toggle.visualize_averaging(EvokedView) โ the averaged ERP as stacked channels with a green time cursor + a scalp topomap; a time slider scrubs both, plus a summary sidebar (nave / peak / tmin / tmax).visualize_esi(EsiView) โ a volumetric source estimate (fsaverage template) rendered to canvas on three orthogonal MRI slices (sagittal/coronal/axial) with a black-blue-white-red activation overlay, crosshair, L/R and MNI-coordinate labels; the cut planes recentre on each frame's peak. Below, the ERP butterfly carries a red current-time cursor and a blue half-peak marker. Controls: time slider, global/frame colormap-scale toggle, and a mask-threshold slider. Faithful port of NEUROII's views; needs epochs (epoch_neuro+set_montage).
visualize_averaging(session_id="s") -> {"out_path": ".../averaging_s.html", ...}neuroii integration (greenfield)
neuroii integration is not wired yet. The tools define and return the expected
REST contract (see neuro_mcp/neuroii/client.py); until NEUROII_API_URL is
set they respond {"status": "not_configured", "contract": {โฆ}} so the neuroii
app has a fixed target to implement (POST /api/v1/recordings,
POST /api/v1/viz-sessions, GET /api/v1/recordings/{id}/annotations).
Testing
python testing/verify.py # in-memory MCP client, temp SQLite + BIDS, synthetic EEGCovers rename integrity, the processing core, the full clinician EHR/annotation
lifecycle (add โ amend โ history โ void, with audit), and the neuroii stub.
For a full-stack run against Postgres, use testing/docker-compose.yml.
Licensing
neuro-mcp is BSD-3-Clause and bundles no third-party source. All required dependencies are permissive (BSD/MIT/Apache-2.0/PSF). Optional extras carry their own terms โ psycopg (LGPL-3.0), PySide6 (LGPL-3.0, chosen over GPL PyQt6). Full attribution and compliance notes are in NOTICE.
License
BSD-3-Clause โ see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceA clean-room SHARP-on-MCP compliant FHIR R4 MCP server that enables AI agents to interact with any FHIR R4 endpoint using SHARP context headers, without server-side OAuth. It provides clinical tools, lab results, imaging, and interactive MCP-UI dashboards.Last updatedMIT
- AlicenseAqualityAmaintenanceAn MCP server that exposes a DICOMweb-compliant DICOM archive to AI assistants. It lets any MCP-capable client search studies, series and instances, inspect metadata, read Structured and Encapsulated PDF Reports, and render image frames โ all through natural language.Last updated9833MIT
- AlicenseAqualityBmaintenanceMCP server for OpenBCI hardware via BrainFlow, enabling board connection, streaming, signal processing, and export with a web dashboard.Last updated71MIT
- Alicense-qualityDmaintenanceMCP server providing persistent brain storage for LLM agents, including memory, personality, social intelligence, and context management.Last updated1MIT
Related MCP Connectors
Local-first RAG engine with MCP server for AI agent integration.
Cloud-hosted MCP server for durable AI memory
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AImplifier/neuro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server