
Neuro Mcp
io.github.AImplifierPublished by GitHub account AImplifierv0.1.4Updated Oct 26, 2026
MCP for NeuroAgents assisting clinicians: MNE processing, EHR store, NeuroII visualization.
Overview
Local MCP server giving an AI assistant 54 tools for EEG/neuro workflows: MNE processing, source imaging, a versioned EHR/BIDS store, and HTML visualizations.
- What you can do
- Process EEG recordings: load, filter, resample, set montage and reference, detect bad channels, run ICA, find events, epoch, compute PSD/ERP and time-frequency, and plot.
- Run source imaging and ESI steps from template head setup through label time courses.
- Manage subjects, datasets, recordings and EHR records: register, import, query, add, amend, view history and void.
- Manage annotations: add, update, list and void, with an audit log of every mutation.
- Push recordings and viz sessions to neuroii and pull annotations back.
- Render standalone interactive HTML visualizations of time series, averaged ERP with topomap, and volumetric source estimates.
- When to use it
- For clinicians and researchers who want to drive an EEG analysis and record-keeping workflow by talking to an agent instead of calling tools directly — reviewing recordings, annotating, amending EHR entries, importing datasets to BIDS, and producing shareable visualizations.
- Requirements
- Runs locally over stdio as a PyPI package (Python 3.10+; conda or venv recommended). Optional extras add PostgreSQL and 3D rendering support. Configured by environment variables: DATABASE_URL (defaults to a local SQLite file), BIDS_ROOT, NEURO_MCP_HOME, and optionally NEUROII_API_URL and NEUROII_API_TOKEN. Defaults work with zero setup.
Installation
In SourceWeft
- Open Neuro Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🧠 neuro-mcp
An MCP for NeuroAgents that assist clinicians and researchers
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
A 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.
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 and annotation markers),visualize_averaging(ERP butterfly + scalp topomap scrubbed by a time slider),visualize_esi(source-estimate ROI time courses + per-time activation bars).
Install
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)
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
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, a grid toggle, and recording annotations drawn as labelled marker lines (toggleable).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).
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
Covers 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.
Source: README.md at commit 786ee6f
Tools
0Version history
2- v0.1.4LatestOct 26, 2026
- v0.1.3Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts