This example marimo notebook shows a "finder" Agent which has access to the 'fetch' and 'filesystem' MCP servers.
You can ask it information about local files or URLs, and it will make the determination on what to use at what time to satisfy the request.
marimo_basic_agent.mov
┌──────────┐ ┌──────────┐ ┌──────────────┐
│ marimo │─────▶│ Finder │──┬──▶│ Fetch │
│ notebook │ │ Agent │ │ │ MCP Server │
└──────────┘ └──────────┘ │ └──────────────┘
│ ┌──────────────┐
└──▶│ Filesystem │
│ MCP Server │
└──────────────┘
First, clone the repo and navigate to the marimo agent example:
git clone https://github.com/lastmile-ai/mcp-agent.git
cd mcp-agent/examples/usecases/marimo_mcp_basic_agentInstall uv (if you don’t have it):
pip install uvSync mcp-agent project dependencies:
uv syncInstall requirements specific to this example:
uv pip install -r requirements.txtNext modify mcp_agent.config.yaml to include directories to which
you'd like to give the agent access.
Then run with:
OPENAI_API_KEY=<your-api-key> uvx marimo edit --sandbox notebook.pyTo serve as a read-only app, use
OPENAI_API_KEY=<your-api-key> uvx marimo run --sandbox notebook.py