
MNE-MCP
io.github.Exekiel179Published by GitHub account Exekiel179v0.2.2Updated Oct 24, 2026
MNE-Python neurophysiology analysis (EEG, MEG, sEEG, ECoG, fNIRS) via the Model Context Protocol
Overview
Local MCP server that gives an assistant 41 MNE-Python tools to load, preprocess, visualize and analyze EEG, MEG, sEEG, ECoG and fNIRS recordings.
- What you can do
- Check status, inspect the session and configuration, and run arbitrary MNE code in the live session (mne_run_code). List and load raw recordings into one persistent session. Preprocess: filter, resample, crop, set montage and reference, mark and interpolate bad channels. Visualize power spectra, raw traces and sensor layouts as saved PNGs. Fit, inspect and apply ICA; find events, build epochs, average and plot evoked responses and topomaps. Run time-frequency, decoding, connectivity, noise covariance, forward and inverse source analysis, and save results.
- When to use it
- For conversational neurophysiology analysis where an assistant should keep one recording loaded across filtering, ICA, epoching, averaging and source steps, and interpret the saved figures. Useful for researchers already working in an MNE-Python environment who want plain-language control of the pipeline.
- Requirements
- Runs locally over stdio as a PyPI package (mne-mcp, launched with uvx or pip). Needs Python 3.12+, Git, an MCP client such as Claude Code, Codex, PsyClaw or opencode, and a user-managed MNE-Python and scientific library environment; the package does not install them. Optional environment variables MNE_MCP_TIMEOUT, MNE_MCP_RESULTS_DIR, MNE_MCP_DATA_DIR and MNE_MCP_CONFIG set timeout, output, data and config paths. A client restart is needed after setup.
Installation
In SourceWeft
- Open MNE-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
MNE-MCP
[CI] [License: MIT] [Python 3.12+] [MCP]
English | 简体中文
A Model Context Protocol (MCP) server that gives AI assistants direct, conversational access to MNE-Python for analyzing human neurophysiology data — EEG, MEG, sEEG, ECoG, and fNIRS.
Describe your analysis in plain language — MNE-MCP loads your recording, runs the MNE pipeline (filtering, ICA, epoching, ERP/ERF averaging, time-frequency, source-level work via code), saves the figures, and explains the results.
Works in Claude Code, Codex, PsyClaw and opencode. Pairs with bundled Agent Skills —
mne-analyst,mne-mcp-guard, plus a skeptical analysis suite (mne-methodology-critic+ per-category skills) for reliable, archived workflows.
Why an MCP for MNE-Python?
MNE analysis is stateful and visual — unlike a one-shot statistics batch job:
- You load a
Rawrecording once, then filter → re-reference → fit ICA → epoch → average → time-frequency, each step mutating large in-memory objects. MNE-MCP keeps one persistent session so recordings never get re-loaded between steps. - Every decision is driven by looking (PSD, sensor maps, ICA components, ERPs). Every plotting tool saves a PNG the assistant can read and interpret.
- MNE has a large Python API. MNE-MCP gives you 41 structured tools spanning the common
pipeline and advanced analysis (source localization, connectivity, decoding), plus an
mne_run_codeescape hatch that reaches the entire MNE API in the same live session. - Defaults (line frequency, montage, filter band, rejection threshold, ICA settings, epoch window,
dirs, timeout) are user-configurable via an interactive
mne-mcp configurewizard.
Requirements
- Python 3.12+ (no package upper-version gate; full-test baseline: 3.12)
- Git
- Claude Code, Codex, PsyClaw, opencode, or another MCP client
Cross-platform: unlike a closed engine, MNE-Python is pure Python, so analysis tools work on Windows, macOS, and Linux.
Installation
Looking for the separate native C++ preview? See MNE-CPP MCP installation and capabilities. It now includes explicit native-runtime setup and companion-skill registration; it is not a replacement for the MNE-Python analysis backend described here.
Install with your agent
Send this to a coding agent with terminal access:
Follow https://github.com/Exekiel179/MNE-MCP/blob/v0.4.4/INSTALL_AGENT.md to install MNE-MCP and all companion skills in my existing MNE environment, configure my current client, and verify the result.
The agent checks the environment, installs missing MNE/core libraries when needed, installs the lightweight interface and all 14 skills, and registers the selected client. A client restart is required. See the installation guide for environment checks and verification.
Manual installation
Activate your existing Python 3.12+ MNE environment, then install the lightweight interface:
The installation creates the mne-mcp command (mne-mcp.exe on Windows).
python -m mne_mcp setup remains an equivalent diagnostic invocation.
Release downloads: latest release.
For a downloaded source archive, extract it and use python -m pip install . in that directory.
Setup defaults to all four clients, including their skills. To configure only PsyClaw,
use mne-mcp setup --clients psyclaw; claude, codex and opencode
are also supported (comma-separated). Restart clients after setup; PsyClaw supports /reload.
MNE and scientific libraries are user-managed; installing this package does not install them.
See installation instructions for dependencies and troubleshooting.
Configuration
Repair or reconfigure
To update an existing installation, run python -m pip install --upgrade mne-mcp.
Run mne-mcp setup --clients codex in the same MNE environment.
Setup registers that exact interpreter and installs the bundled skills for the selected clients.
Existing configuration and skill files are backed up before updates.
PsyClaw verification
PsyClaw registration writes ~/.psyclaw/mcp/mne.json; all 14 skills and references
go to ~/.psyclaw/skills. Setup checks a real MCP handshake, tool discovery and
mne_check_status, including a second check of the saved PsyClaw command.
This checks the saved command without modifying registration. connected and
mne_available are separate: the lightweight server can connect without MNE installed.
After /reload, ask PsyClaw to list tools for server mne and call mne_check_status.
Project .psyclaw/mcp/*.json entries with the same id override user configuration.
The setup check does not claim your already-running chat has reloaded.
Environment variables (optional .env)
Configure analysis defaults (interactive wizard)
Set the defaults the structured tools fall back to — mains line frequency (50/60 Hz), default montage, filter band, EEG rejection threshold, ICA method/components, epoch window, directories, and timeout:
Defaults are saved to ~/.mne-mcp/config.json (override path with MNE_MCP_CONFIG). Precedence at
runtime: environment variable > config file > built-in. View the active config in-session with the
mne_get_config tool. Restart the MCP server for changes to take effect.
Skills
Setup installs all 14 skills into the selected client's skill directory, including their references. Claude also receives the methodology-review subagent. Other clients use the methodology-critic skill. Rerun setup after updating the package.
Usage
Just describe what you want:
The assistant will:
- Check capabilities (
mne_check_status) - Load your recording into the persistent session
- Run the pipeline step by step, showing figures as PNGs
- Interpret each result in plain language
- Archive figures + the equivalent MNE code to
mne_result/
Output
Every plotting tool saves a PNG to the results dir and returns its path:
With the mne-analyst skill installed, results and the exact MNE code that produced them are
archived to mne_result/ in your working directory (sequence-numbered), so the analysis is
fully reproducible.
Available Tools (41)
Status & Session (7)
mne_check_status · mne_session_info · mne_describe · mne_get_info ·
mne_reset_session · mne_run_code · mne_get_config
Data IO (2)
mne_list_files · mne_load_raw
Preprocessing (7)
mne_filter · mne_resample · mne_crop · mne_set_montage ·
mne_set_reference · mne_mark_bad_channels · mne_interpolate_bads
Visualization (3)
mne_plot_psd · mne_plot_raw · mne_plot_sensors
ICA (4)
mne_fit_ica · mne_plot_ica_components · mne_plot_ica_sources · mne_apply_ica
Events / Epochs / ERP (7)
mne_find_events · mne_events_from_annotations · mne_make_epochs ·
mne_plot_epochs_image · mne_average_evoked · mne_plot_evoked · mne_plot_topomap
Time-frequency (2)
mne_compute_tfr (Morlet/multitaper, custom cycles, ITC, trial power, baseline) · mne_tfr_morlet
Advanced analysis (8)
mne_decode (MVPA) · mne_connectivity · mne_compute_connectivity (bands, pairs, estimators) · mne_compute_noise_cov · mne_make_forward ·
mne_apply_inverse · mne_plot_source_estimate
mne_decoding_group_test provides participant-level max-T or cluster-corrected inference.
Decoding reports separate numerical evidence, methods, interpretation, limitations
and a results draft requiring scientific review. The code escape hatch is not
equivalent to validated structured coverage of every MNE API.
Export (1)
mne_save
Anything still not covered — BIDS, custom statistics, beamformers, autoreject — is reachable through
mne_run_code in the same live session. See TOOLS_REFERENCE.md for full
parameter details. Advanced dependencies are checked per feature and are not bundled.
Development
License
MIT — see LICENSE
Documentation
- 项目介绍 / Introduction: docs/INTRODUCTION.md · .docx
- 安装说明 / Install guide: docs/INSTALL.md · .docx
- 使用介绍 / Usage guide: docs/USAGE.md · .docx
- Quick start: QUICK_START.md
- Tool reference: TOOLS_REFERENCE.md
Links
- MNE-Python: https://mne.tools/
- MCP Protocol: https://modelcontextprotocol.io
Source: README.md at commit d5f5c32
Tools
0Version history
1- v0.2.2LatestSep 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