cellpy-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CELLPY_MCP_ROOT | No | Override the root directories for the MCP server. A list of directories separated by the OS path separator (like PATH). For example: /data/cells:/data/out |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_instrumentsA | Which cellpy loaders exist, and which can actually run on this machine. |
| load_cellA | Load one cell file and return a handle plus what the data can support.
|
| list_cellsA | The cells loaded in this session. |
| describe_plot_familiesA | Summary plot families cellpy offers, and whether the loaded cells support them. Availability is judged on what a family asks the summary for
( |
| collectA | Build a collection. Returns a handle and the frame's shape — never the frame. Use preview_collection for rows, export_collection for the numbers. For |
| preview_collectionB | A few rows, capped. This is the only tool that returns data, on purpose. |
| renderB | Draw a collection and write the figure to
|
| export_collectionB | Write the collected frame to |
| search_apiA | Find cellpy calls by name, or by what their first docstring line says. Use this when you know the task but not the call — "average cycles",
"loading", "mass". |
| describe_apiA | What a cellpy call takes and what it does, from the installed package.
Read When |
| list_templatesA | Batch templates available for
|
| new_projectA | Create a batch project from a template — the
Downloads the cookiecutter from GitHub on first use. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyse_cell | Load one cell and produce the standard set of plots. |
| start_batch_project | Set up the notebook template for a new set of experiments. |
| explain_call | Explain a cellpy function: arguments, defaults, and the traps. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource or action: listing loaders, cells, and templates; loading; collecting; previewing; exporting; rendering; and API lookup. The list_* and describe_* tools are differentiated by their object type, and the collect/preview/export trio is clearly separated by what it returns or writes.
Most tools follow a clear verb_noun snake_case pattern (list_cells, load_cell, export_collection, search_api). Minor deviations like 'collect', 'render', and 'new_project' are still readable and predictable, so consistency is high but not perfect.
Twelve tools is well-scoped for a domain-specific analysis server. Each tool covers a meaningful part of the cellpy workflow without redundancy or bloat.
The set covers the full workflow: inspecting environment support, loading cells, building collections, previewing and exporting data, rendering figures, discovering API calls, and creating batch projects. The self-documentation tools fill gaps that would otherwise require external knowledge of cellpy.