search_items
Find where something is stored. This is the tool an assistant reaches for first.
Arguments: query (string, required) · tags (string[], max 5) · sort (relevance | name | jar | quantity) · order (asc | desc) · limit (1-200, default 50) · offset
Returns: hits — items with quantity, tags, the Jar they live in and the full location path — plus a page object.
{
"name": "search_items",
"arguments": {
"query": "ski jacket",
"tags": ["winter"],
"sort": "name",
"limit": 25,
"offset": 0
}
}
list_jars
Browse your containers. Omit parent_id for every Jar, or pass one to list its children.
Arguments: parent_id (uuid) · search (name contains) · sort (name | created_at | updated_at) · order (asc | desc) · limit (1-200, default 50) · offset
Returns: jars with id, name, parent_id, kind, tags, notes and timestamps, plus a page object.
{
"name": "list_jars",
"arguments": {
"parent_id": "6f1c9e2a-6a3b-4a63-9c1e-2b0d5b9f7a11",
"search": "box",
"sort": "updated_at",
"order": "desc",
"limit": 50
}
}
get_jar_contents
Open one Jar: its details, the Jars nested inside it and the items it holds.
Arguments: jar_id (uuid, required) · sort (favorite | name | quantity | created_at) · order (asc | desc) · limit (1-200, default 50) · offset
Returns: jar, path (breadcrumb from the top), jars (children), items (favourites first by default) and items_page.
{
"name": "get_jar_contents",
"arguments": {
"jar_id": "6f1c9e2a-6a3b-4a63-9c1e-2b0d5b9f7a11",
"sort": "name",
"limit": 100,
"offset": 0
}
}
create_jar
Create a room, shelf, box or any other container, optionally nested inside another Jar.
Arguments: name (string, required) · parent_id (uuid, optional) · tags (string[], max 5) · notes (string)
Returns: The new Jar, including its id — pass that to add_item.
{
"name": "create_jar",
"arguments": {
"name": "Attic box 3",
"parent_id": "6f1c9e2a-6a3b-4a63-9c1e-2b0d5b9f7a11",
"tags": ["box", "attic"],
"notes": "Winter clothing overflow"
}
}
add_item
Record an item as stored inside one of your Jars.
Arguments: jar_id (uuid, required) · name (string, required) · quantity (int, default 1) · tags (string[], max 5) · description (string)
Returns: The saved item row.
{
"name": "add_item",
"arguments": {
"jar_id": "6f1c9e2a-6a3b-4a63-9c1e-2b0d5b9f7a11",
"name": "Down ski jacket",
"quantity": 1,
"tags": ["winter", "clothing"],
"description": "Navy, size M"
}
}
update_jar
Edit an existing Jar: rename it, change its notes, replace its tags, set its kind or move it inside another Jar.
Arguments: jar_id (uuid, required) · name (string) · notes (string | null) · tags (string[], max 5, replaces existing) · kind (room | cupboard | shelf | wardrobe | drawer | box | bag | crate | suitcase | garage) · parent_id (uuid | null to move to the top level)
Returns: The updated Jar row. Only the fields you send are changed. Row-level security means a jar_id that isn't yours simply isn't found, and a move that would nest a Jar inside its own subtree is rejected.
{
"name": "update_jar",
"arguments": {
"jar_id": "6f1c9e2a-6a3b-4a63-9c1e-2b0d5b9f7a11",
"name": "Attic box 3 (winter)",
"tags": ["box", "attic", "winter"],
"parent_id": null
}
}