| name | working-with-marimo |
| description | Interactive development in marimo notebooks with validation loops. Use for creating/editing marimo notebooks and verifying execution. |
Working with Marimo
Follows a Plan-Execute-Verify loop to ensure notebook correctness.
Feedback Loop
Context & Plan:
- Sessions:
mcp_marimo_get_active_notebooks(Find session IDs). - Structure:
mcp_marimo_get_lightweight_cell_map(See cell IDs/content). - Data State:
mcp_marimo_get_tables_and_variables(Inspect DataFrames/Variables). - Cell Detail:
mcp_marimo_get_cell_runtime_data(Code, errors, local vars).
- Sessions:
Execute:
- Edit the
.pyfile directly usingwriteorsearch_replace. - Rule: Follow Best Practices (e.g.,
@app.cell, no global state).
- Edit the
Verify (CRITICAL):
- Lint:
mcp_marimo_lint_notebook(Static analysis). - Runtime Errors:
mcp_marimo_get_notebook_errors(Execution errors). - Outputs:
mcp_marimo_get_cell_outputs(Visuals/Console).
- Lint:
Common Commands
- Start/Sync: Marimo automatically syncs file changes.
- SQL: Use
mo.sqlfor DuckDB queries. - Plots: Use
plt.gca()or return figure. Noplt.show().
Reference
See Best Practices for code formatting, reactivity rules, and UI element usage.