An MCP server that lets an LLM analyse intracortical (spike-level) brain-computer-interface recordings: signal quality, spike detection, firing rates, and cursor-velocity decoding.
ephys-mcp is an MCP project maintained in the happyc0der/ephys-mcp repository. The maintainer describes its purpose as “An MCP server that lets an LLM analyse intracortical (spike-level) brain-computer-interface recordings: signal quality, spike detection, firing rates, and cursor-velocity decoding”. Read the project documentation for the complete scope.
The documented pypi package is ephys-mcp. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| list_sources | Source types and their parameters |
| search_datasets | Search DANDI, or list curated intracortical datasets |
| list_dataset_files | Licence, citation and NWB files of a DANDI dataset |
| list_lsl_streams | LSL streams visible on the network |
| get_stream_status | For a live session: buffered span, whether data is arriving, drops |
| get_session_info | Channels, rates, behaviour signals, licence, citation |
| get_signal_quality | Noise, SNR, dead/noisy channels |
| detect_spikes | Threshold crossings; precision/recall when truth exists |
| sort_spikes | Spike-sort a broadband window with spikeinterface (sort extra), using probe geometry when known; the session then uses the sorted units |
| set_probe_geometry | Supply contact positions for a session whose file has none: Utah, grid, linear, tetrode layouts or explicit coordinates |
| get_probe | Contact positions and brain-area labels per channel |
| plot_probe | Figure: array map, contacts coloured by firing rate, sorted units per contact |
| get_firing_rates | Population rate summary |
| fit_decoder | Ridge or Kalman, scored on held-out data; hyperparameters chosen inside the training split |
| decode_window | Decoded-vs-true preview for a window |
| evaluate_cross_session | Fit on one session, score unchanged on others: does a decoder survive to a later day? Honours FALCON's eval_mask |
| get_psth | Firing aligned to a trial event, optionally grouped by a trial column or limited to some units |
| fit_latent_factors | GPFA (Yu et al. 2009) or PCA on trial-aligned activity: single-trial latent trajectories, variance per factor, timescales, and how well the top factors explain |
| plot_latent_factors | Figure: top three factors over time, the factor-1/factor-2 state space, and variance per factor |
| plot_psth | Figure: PSTH per group with SEM, above a unit-by-time heatmap of change from baseline |
| plot_raster | Figure: spike raster, unrecorded spans shaded |
| plot_decoding | Figure: decoded against actual behaviour, one panel per dimension |
| Extra | Adds |
| lsl | the lsl live source |
| sort | sort_spikes via spikeinterface's built-in sorters (spykingcircus2, tridesclous2); about 330 MB of dependencies |
{
"mcpServers": {
"ephys": {
"command": "uvx",
"args": [
"ephys-mcp"
]
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
# FastAlert MCP Server Official Model Context Protocol (MCP) server for [FastAlert](https://fastalert.now). This server allows AI agents (like
Mailbox Node CLI monorepo (workspace)
Pay-per-call tools for agents: web page to Markdown, tech stack, email domain check (x402 USDC)
A Model Context Protocol (MCP) server implementation for Lark/Feishu, enabling MCP-compatible applications to interact with Lark's various collaboration capabilities.