marimo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MARIMO_TOKEN | No | Optional — only needed if marimo started with token auth |
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_notebooksA | List all running marimo notebooks with their paths and ports. |
| create_notebookA | Create a new marimo notebook at the given absolute path. Args: path: Absolute path where the .py notebook file will be created. |
| get_cellsA | Get all cells with their IDs, code, and runtime state. Args: notebook: Path to the notebook file or port number (e.g. "analysis.py" or "2718"). |
| get_cell_outputsA | Get visual output and console streams for cells. Args: notebook: Path to the notebook file or port number. cell_ids: List of cell IDs to get outputs for. If empty, returns all cells. |
| get_errorsB | Get all errors in the notebook, grouped by cell. Args: notebook: Path to the notebook file or port number. |
| get_variablesB | Get all variable values and data tables in the notebook. Args: notebook: Path to the notebook file or port number. |
| get_depsA | Get the cell dependency graph showing which cells depend on which variables. Args: notebook: Path to the notebook file or port number. cell_id: Optional cell ID to get deps for a specific cell only. |
| edit_and_run_cellA | Edit a cell's code and run it. Waits for completion and returns outputs. This does NOT require --mcp flag or agent mode. Args: notebook: Path to the notebook file or port number. cell_id: The cell ID to edit (get IDs from get_cells first). code: New Python code for the cell. |
| delete_cellA | Delete a cell from a running notebook. Args: notebook: Path to the notebook file or port number. cell_id: The cell ID to delete (get IDs from get_cells first). |
| add_cellA | Add a new cell to a notebook without executing it. Args: notebook: Path to the notebook file or port number. code: Content for the new cell. after_cell_id: Insert after this cell ID. If None, appends at end. cell_type: "code" (default) or "markdown". Markdown wraps content in mo.md(...). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct operation: notebook creation, cell manipulation (add, delete, edit/run), and retrieval of cells, outputs, deps, errors, variables, and running notebooks. No functional overlap.
All tool names follow a clear verb_noun pattern in snake_case (e.g., `create_notebook`, `get_cells`). Minor length variation does not break consistency.
10 tools cover the essential CRUD and inspection workflows for marimo notebooks. The count is well-scoped for a focused MCP server.
The set covers core notebook lifecycle (create, list, add/delete/edit/run cells) and introspection (cells, outputs, errors, dependencies, variables). Missing operations like save, rename, or reorder cells, but not critical for typical agent tasks.