io.github.AImplifier/neuro-mcp
PYPI · NEURO-MCP · SCANNED SEP 20
MCP for NeuroAgents assisting clinicians: MNE processing, EHR store, NeuroII visualization.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 5 of 59 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (BSD-3-Clause).Pass
- Actively maintained (last published 57 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 4693 tokens (~86/item across 54 items; 54 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 46% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "apply_ica" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 55 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.AImplifier/neuro-mcp server?
io.github.AImplifier/neuro-mcp runs locally as a PyPI package, launched with uvx neuro-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · neuro-mcp
claude mcp add aimplifier-neuro-mcp -- uvx neuro-mcp
{
"mcpServers": {
"aimplifier-neuro-mcp": {
"command": "uvx",
"args": [
"neuro-mcp"
]
}
}
} {
"servers": {
"aimplifier-neuro-mcp": {
"command": "uvx",
"args": [
"neuro-mcp"
]
}
}
} codex mcp add aimplifier-neuro-mcp -- uvx neuro-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aimplifier-neuro-mcp": {
"type": "local",
"command": [
"uvx",
"neuro-mcp"
],
"enabled": true
}
}
} openclaw mcp add aimplifier-neuro-mcp --command uvx --arg neuro-mcp
mcp_servers:
aimplifier-neuro-mcp:
command: "uvx"
args: ["neuro-mcp"] {
"McpServers": {
"aimplifier-neuro-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"neuro-mcp"
]
}
}
} assistant mcp add aimplifier-neuro-mcp -t stdio -c uvx -a neuro-mcp
{
"mcpServers": {
"aimplifier-neuro-mcp": {
"command": "uvx",
"args": [
"neuro-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.77 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/neuro-mcp@0.1.3
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Dependencies 59 packages
| Packages resolved | 59 |
|---|---|
| Stale | 4 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_annotation Add Annotation ~75
Add a clinician/algorithm annotation to a recording (version 1).
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | yes | – |
| channels | – | – | – |
| duration | number | – | – |
| label | string | yes | – |
| onset | number | yes | – |
| payload | – | – | – |
| recording_id | integer | yes | – |
| source | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
add_ehr_record Add Ehr Record ~124
Add an EHR record (a FHIR resource such as Condition or Observation). Creates version 1 of a new logical record. Use amend_ehr_record to change it.
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | yes | Clinician/author id (recorded, audited). |
| fhir | object | yes | The FHIR resource body as a dict. |
| note | – | – | Optional context for the entry. |
| resource_type | string | yes | FHIR resourceType, e.g. 'Condition', 'Observation'. |
| subject_external_id | string | yes | The subject this record belongs to. |
Structured output declared, but exposes no named fields.
No examples provided.
amend_ehr_record Amend Ehr Record ~128
Amend an EHR record: create a new audited version with an updated FHIR body. The prior version is retained (status 'amended') and remains in the history; this is how a clinician corrects or updates a record without destroying the original. Returns the new current version.
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | yes | Clinician making the amendment (audited). |
| fhir | object | yes | The updated FHIR resource body. |
| logical_id | string | yes | The logical id of the record to amend (stable across versions). |
| note | – | – | Reason for the amendment (recommended). |
Structured output declared, but exposes no named fields.
No examples provided.
apply_ica Apply Ica ~40
Remove the listed ICA components from the recording, in place. Requires run_ica first.
| Name | Type | Req | Description |
|---|---|---|---|
| exclude | – | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
apply_inverse Apply Inverse ~154
Estimate distributed cortical source activity for the ERP. Averages the epochs (optionally for one condition) and applies the inverse operator, then reports the peak-activation vertex, hemisphere, and latency.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | Event-id name to localize (None = all epochs averaged). |
| method | string | – | 'MNE', 'dSPM', 'sLORETA', or 'eLORETA'. |
| save_stc | – | – | If given, save the source estimate to this path stem (.stc/.h5). |
| session_id | string | – | – |
| snr | number | – | Assumed signal-to-noise ratio (sets regularization lambda^2 = 1/snr^2). |
Structured output declared, but exposes no named fields.
No examples provided.
apply_lcmv_beamformer Apply Lcmv Beamformer ~116
Localize sources with an LCMV beamformer (an alternative to minimum-norm). Uses the epoch data covariance for the spatial filter and the noise covariance for whitening. Requires compute_forward and compute_noise_covariance.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | Event-id name to localize (None = all epochs). |
| reg | number | – | Diagonal loading (regularization) of the data covariance. |
| save_stc | – | – | Optional path stem to save the source estimate. |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
compute_erp Compute Erp ~64
Average epochs into an ERP and report peak latency/amplitude.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | Event-id name to average (None = all epochs together). |
| pick_channel | – | – | Channel to report peak for (None = the global-field-power peak). |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
compute_forward Compute Forward ~77
Compute the forward solution (leadfield) mapping cortical sources to sensors. Requires a loaded recording with an electrode montage (call set_montage) and a template head model (call fetch_template_head).
| Name | Type | Req | Description |
|---|---|---|---|
| mindist | number | – | Minimum distance (mm) of sources from the inner skull surface. |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
compute_noise_covariance Compute Noise Covariance ~107
Estimate the sensor noise covariance from epoch baseline periods. Uses the pre-stimulus interval (up to ``tmax``, default 0 s = event onset) of the epochs as the noise estimate. Requires epoch_neuro first.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | 'empirical', 'shrunk', or 'auto' (regularized estimators). |
| session_id | string | – | – |
| tmax | – | – | End of the baseline window used for noise, in seconds. |
Structured output declared, but exposes no named fields.
No examples provided.
compute_psd Compute Psd ~92
Compute the power spectral density and summarize band power. Returns absolute and relative power for each canonical band (delta, theta, alpha, beta, gamma), averaged across channels, plus per-channel band power.
| Name | Type | Req | Description |
|---|---|---|---|
| fmax | number | – | – |
| fmin | number | – | – |
| session_id | string | – | – |
| use_epochs | boolean | – | Compute on epochs (averaged) instead of continuous raw. |
Structured output declared, but exposes no named fields.
No examples provided.
detect_artifact_components Detect Artifact Components ~101
Automatically score ICA components against EOG/ECG channels to find likely blink/heartbeat artifacts. Requires run_ica first and, ideally, EOG/ECG channels present in the data.
| Name | Type | Req | Description |
|---|---|---|---|
| ecg_ch | – | – | Name of an ECG channel (auto-detected if None and any exist). |
| eog_ch | – | – | Name of an EOG channel (auto-detected if None and any exist). |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
detect_bad_channels Detect Bad Channels ~120
Flag likely-bad channels by robust variance outlier detection. Computes each channel's variance, converts to a robust z-score (median / MAD), and flags channels beyond ``z_threshold``. This is a fast heuristic, not a substitute for RANSAC/autoreject, but works without extra deps.
| Name | Type | Req | Description |
|---|---|---|---|
| mark | boolean | – | If True, add the flagged channels to raw.info['bads']. |
| session_id | string | – | Session key. |
| z_threshold | number | – | Robust z-score cutoff; higher = more permissive. |
Structured output declared, but exposes no named fields.
No examples provided.
epoch_neuro Epoch Neuro ~172
Segment the recording into epochs around events. Call find_events first (or the tool will attempt it). Baseline correction uses (baseline_start, baseline_end); pass baseline_start=None for "from the start of the epoch". reject_uv drops epochs whose EEG peak-to-peak exceeds that many microvolts (None to disable).
| Name | Type | Req | Description |
|---|---|---|---|
| baseline_end | – | – | Baseline window end (s), or None for event onset. |
| baseline_start | – | – | Baseline window start (s), or None for epoch start. |
| reject_uv | – | – | Peak-to-peak EEG rejection threshold in microvolts. |
| session_id | string | – | – |
| tmax | number | – | Epoch end relative to event onset, in seconds. |
| tmin | number | – | Epoch start relative to event onset, in seconds. |
Structured output declared, but exposes no named fields.
No examples provided.
export_data Export Data ~70
Save processed data to disk.
| Name | Type | Req | Description |
|---|---|---|---|
| out_path | string | – | Destination path. For raw use a *-raw.fif or .fif name; for epochs use *-epo.fif. |
| session_id | string | – | – |
| what | string | – | 'raw' or 'epochs'. |
Structured output declared, but exposes no named fields.
No examples provided.
extract_label_timecourses Extract Label Timecourses ~145
Extract ROI (atlas-region) time courses from the current source estimate. Reads an anatomical parcellation on fsaverage and summarizes source activity per region, ranking regions by peak absolute amplitude. Requires a source estimate (apply_inverse or apply_lcmv_beamformer first).
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | How to collapse sources within a label ('mean_flip', 'mean', 'pca_flip'). |
| parcellation | string | – | 'aparc' (Desikan-Killiany, 68 regions) or 'aparc.a2009s'. |
| session_id | string | – | – |
| top_n | integer | – | How many strongest regions to return. |
Structured output declared, but exposes no named fields.
No examples provided.
fetch_template_head Fetch Template Head ~109
Download and register the fsaverage template head model for source imaging. Sets up the template subject (BEM, source space, and MRI-head transform) so a forward model can be built without a subject-specific MRI. The first call downloads the fsaverage dataset (cached afterwards).
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | Session key. A recording must already be loaded. |
| spacing | string | – | Source-space resolution: 'ico5' (~20k sources, standard) or 'oct6'. |
Structured output declared, but exposes no named fields.
No examples provided.
filter_neuro Filter Neuro ~100
Apply a band-pass (and optional notch) filter to the loaded recording, in place.
| Name | Type | Req | Description |
|---|---|---|---|
| h_freq | – | – | Low-pass edge in Hz (None to skip low-pass). |
| l_freq | – | – | High-pass edge in Hz (None to skip high-pass). |
| notch_freqs | – | – | Frequencies to notch out, e.g. [50] or [60, 120] for line noise. |
| session_id | string | – | Session key. |
Structured output declared, but exposes no named fields.
No examples provided.
find_events Find Events ~60
Extract events from a stimulus/trigger channel or from annotations. Tries stim-channel events first, then falls back to annotation-derived events. Stores the result for epoch_neuro to use.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
| stim_channel | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_audit_log Get Audit Log ~40
Return recent audit-log entries, optionally filtered by target.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| target_id | – | – | – |
| target_table | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_ehr_history Get Ehr History ~34
Return every version of an EHR record, oldest first (full audit trail).
| Name | Type | Req | Description |
|---|---|---|---|
| logical_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_subject Get Subject ~34
Return a subject and their *current* (non-voided) EHR records.
| Name | Type | Req | Description |
|---|---|---|---|
| external_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
import_recording Import Recording ~177
Import a recording into the BIDS store and register it in the database. Loads the file with MNE, writes it into the BIDS tree under the subject, and inserts a recordings row. Optionally loads it into an in-memory processing session so you can immediately run filter_neuro/epoch_neuro/etc.
| Name | Type | Req | Description |
|---|---|---|---|
| dataset_name | – | – | Optional dataset to group under (created if missing). |
| file_path | string | yes | Path to the recording (EDF/FIF/SET/BDF/BrainVision/…). |
| load_into_session | boolean | – | If True, populate the processing session for analysis. |
| session_id | string | – | Processing session id to load into. |
| subject_external_id | string | yes | Subject to attach the recording to (created if missing). |
| task | string | – | BIDS task label. |
Structured output declared, but exposes no named fields.
No examples provided.
interpolate_bads Interpolate Bads ~38
Interpolate channels currently marked bad using neighboring electrodes. Requires a montage (call set_montage first).
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_annotations List Annotations ~38
List the *current* version of each annotation on a recording.
| Name | Type | Req | Description |
|---|---|---|---|
| include_voided | boolean | – | – |
| recording_id | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_recordings List Recordings ~32
List recordings, optionally filtered by subject or dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| dataset_name | – | – | – |
| subject_external_id | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_sessions List Sessions ~17
List the ids of all active analysis sessions.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
load_neuro Load Neuro ~141
Load an EEG recording from disk and return its metadata. Supports the formats MNE auto-detects by extension: .fif, .edf, .bdf, .gdf, .set (EEGLAB), .vhdr (BrainVision), .cnt, .egi/.mff, and more. Creates (or resets) the given session and stores the loaded recording in it.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path to the recording file. |
| preload | boolean | – | Load sample data into memory (required for most processing). |
| session_id | string | – | Session key to store state under; reuse it in later calls. |
Structured output declared, but exposes no named fields.
No examples provided.
make_inverse_operator Make Inverse Operator ~117
Assemble the inverse operator from the forward solution and noise covariance. Requires compute_forward and compute_noise_covariance. The operator is reused by apply_inverse for any distributed method (MNE/dSPM/sLORETA/eLORETA).
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | – | Depth weighting exponent (0.8 typical) to counter the bias toward superficial sources. |
| loose | number | – | Loose-orientation constraint in [0, 1] (0.2 typical for surface src). |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
neuroii_create_viz_session Neuroii Create Viz Session ~55
Create a shareable neuroii viz/annotation session for a recording. Returns a not_configured contract if NEUROII_API_URL is unset.
| Name | Type | Req | Description |
|---|---|---|---|
| layout | – | – | – |
| recording_id | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
neuroii_pull_annotations Neuroii Pull Annotations ~70
Pull clinician annotations from neuroii into the database (source='neuroii'). Each pulled annotation is stored as a new audited annotation. Returns a not_configured contract if NEUROII_API_URL is unset.
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | – | – |
| recording_id | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
neuroii_push_recording Neuroii Push Recording ~50
Push a recording (and its derivatives) to neuroii for clinician viewing. Returns a not_configured contract if NEUROII_API_URL is unset.
| Name | Type | Req | Description |
|---|---|---|---|
| recording_id | integer | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_erp Plot Erp ~46
Render the ERP (evoked average) as a PNG image (base64 data URI).
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | – |
| pick_channel | – | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_ica_components Plot Ica Components ~42
Render ICA component scalp topographies as a PNG image (base64 data URI). Requires run_ica and a montage.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_psd Plot Psd ~49
Render the power spectral density plot as a PNG image (base64 data URI).
| Name | Type | Req | Description |
|---|---|---|---|
| fmax | number | – | – |
| fmin | number | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_raw Plot Raw ~55
Render a segment of the raw traces as a PNG image (base64 data URI).
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | – | – |
| n_channels | integer | – | – |
| session_id | string | – | – |
| start | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_source_brain Plot Source Brain ~97
Render the source estimate on a 3D cortical surface at its peak time. Requires an offscreen 3D backend (pyvista + a software/GL renderer). If that is unavailable in the environment, returns a clear message instead of failing — use plot_source_timecourses for a dependency-free 2D summary.
| Name | Type | Req | Description |
|---|---|---|---|
| hemi | string | – | – |
| session_id | string | – | – |
| time_ms | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_source_timecourses Plot Source Timecourses ~81
Plot the time courses of the strongest ROIs as a PNG (base64 data URI). A 2D matplotlib summary of source activity that works headlessly (no 3D brain rendering required). Requires a source estimate.
| Name | Type | Req | Description |
|---|---|---|---|
| parcellation | string | – | – |
| session_id | string | – | – |
| top_n | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
plot_topomap Plot Topomap ~51
Render a scalp topographic map of band power (base64 PNG data URI). Requires a montage (call set_montage first).
| Name | Type | Req | Description |
|---|---|---|---|
| band | string | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
query_datasets Query Datasets ~17
List all registered datasets with recording counts.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
register_dataset Register Dataset ~35
Register a dataset (a named collection of recordings).
| Name | Type | Req | Description |
|---|---|---|---|
| metadata | – | – | – |
| name | string | yes | – |
| source | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
register_subject Register Subject ~84
Register a study/patient subject (FHIR Patient-shaped demographics).
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | – | Who is performing this action (recorded for audit). |
| demographics | – | – | Optional dict (e.g. {"gender": "female", "birthDate": "1990-01-01"}). |
| external_id | string | yes | Your stable identifier for the subject (de-identified). |
Structured output declared, but exposes no named fields.
No examples provided.
resample_neuro Resample Neuro ~41
Resample the recording to a new sampling frequency (Hz), in place.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
| sfreq | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
reset_session Reset Session ~25
Discard a session and free its memory.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
run_ica Run Ica ~127
Fit ICA on the loaded recording for artifact inspection/removal. Fitting on data high-passed at ~1 Hz is recommended. Returns per-component summaries; use apply_ica to zero out the components you identify as artifacts (blinks, heartbeat, muscle).
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | 'fastica', 'infomax', or 'picard'. |
| n_components | – | – | Number of components, or a float in (0,1] as explained variance. |
| random_state | integer | – | Seed for reproducibility. |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
session_info Session Info ~31
Return the current state of a session: what's loaded and the step history.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
set_montage Set Montage ~80
Assign a standard electrode montage so channels get 3D positions. Needed for topographic plots and some source/interpolation steps. Common choices: 'standard_1020', 'standard_1005', 'biosemi64', 'GSN-HydroCel-128'.
| Name | Type | Req | Description |
|---|---|---|---|
| montage | string | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
set_reference Set Reference ~60
Re-reference the EEG. Use 'average' for common average reference, or a list of channel names (e.g. ['M1', 'M2'] for linked mastoids).
| Name | Type | Req | Description |
|---|---|---|---|
| ref_channels | – | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
time_frequency Time Frequency ~107
Morlet-wavelet time-frequency decomposition of epochs. Returns the induced power averaged over epochs, summarized per frequency band and time. Requires epoch_neuro first.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | Event-id name to restrict to. |
| fmax | number | – | – |
| fmin | number | – | – |
| n_freqs | integer | – | Number of log-spaced frequencies. |
| pick_channel | – | – | Restrict to one channel (recommended for a compact summary). |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
update_annotation Update Annotation ~66
Edit an annotation by creating a new audited version (original retained).
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | yes | – |
| channels | – | – | – |
| duration | – | – | – |
| label | – | – | – |
| logical_id | string | yes | – |
| note | – | – | – |
| onset | – | – | – |
| payload | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
visualize_averaging Visualize Averaging ~115
Render the EvokedView averaged-ERP viewer as interactive HTML. Left: the averaged ERP as stacked channels with a green time cursor. Right: the scalp topomap at the cursor time. A time slider scrubs both, and a sidebar shows nave / peak / tmin / tmax. Requires epochs (epoch_neuro) with a montage (set_montage).
| Name | Type | Req | Description |
|---|---|---|---|
| condition | – | – | – |
| n_frames | integer | – | – |
| out_path | – | – | – |
| session_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
What is the io.github.AImplifier/neuro-mcp server?
io.github.AImplifier/neuro-mcp is listed in the public MCP registry as io.github.AImplifier/neuro-mcp. MCP for NeuroAgents assisting clinicians: MNE processing, EHR store, NeuroII visualization. This page covers its PyPI package (neuro-mcp).
Is the io.github.AImplifier/neuro-mcp server safe to use?
io.github.AImplifier/neuro-mcp scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.AImplifier/neuro-mcp server expose?
io.github.AImplifier/neuro-mcp exposes 54 tools: load_neuro, session_info, list_sessions, reset_session, filter_neuro, and 49 more. Their descriptions and schemas cost roughly 4,417 tokens of context every time the server is loaded.
Is the io.github.AImplifier/neuro-mcp server still maintained?
io.github.AImplifier/neuro-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.AImplifier/neuro-mcp server under?
io.github.AImplifier/neuro-mcp declares the BSD-3-Clause licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.