Skip to main content
Glama
pslimmm
by pslimmm
README.md
# Toolbox MCP

FastMCP implementation for the Toolbox challenge described in `toolbox.txt`.

## Install

```powershell
python -m pip install -e ".[dev]"
```

## Run locally

```powershell
python -m toolbox_mcp.server
```

The MCP endpoint is `http://localhost:8000/mcp`. Override `HOST`, `PORT`, or
`MCP_PATH` with environment variables when deploying.

The server exposes:

- `get_name(name)` — validates and returns the supplied name.
- `calculate(left, operator, right)` — evaluates one supported arithmetic operation.
- `identify_shape(image_base64)` — identifies a PNG as `rectangle`, `triangle`, or `circle`.
- `list_study_materials()` / `fetch_study_material(document_id)` — enumerate or read the Phase 2 syllabus.
- `search_study_material(question)` — return relevant syllabus passages within the recall budget.
- `next_route_node(map_id, current, destination, visited, hops_remaining)` — choose a least-cost graph hop using edge weights plus entered-node tolls.
- `get_venues(day)`, `get_schedule(person, day)`, and `get_location(person, day)` — fetch Phase 3 city data.
- `find_meeting_window(...)` — find the earliest clean window, with tentative inbox commitments as a fallback.
- `plan_outing(...)` — combine schedules, locations, venues, and grid travel into one outing answer.

## Test

```powershell
python -m pytest -q
```