{"ok":true,"site":{"host":"oru-webmcp.0809android.workers.dev","url":"https://oru-webmcp.0809android.workers.dev/","type":"live","desc":"ORU","tools":[{"name":"inspect_sheet","kind":"answer","impl":"imperative","description":"Read-only. Returns the one square sheet, named landmarks, existing creases, and how to fold. Always call this before folding if you are unsure where points are.","title":"Inspect the origami sheet","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"valley_fold","kind":"act","impl":"imperative","description":"Fold the paper toward the table along a crease so the crease becomes a valley. The flap point marks the side that moves. The fold animates on the shared 3D sheet the human is watching. Prefer landmarks. Example: crease from SW to NE, flap SE.","title":"Valley fold","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"creaseFrom":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"creaseTo":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"flap":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"label":{"type":"string","description":"Short human-readable name for this fold."}},"required":["creaseFrom","creaseTo","flap"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"mountain_fold","kind":"act","impl":"imperative","description":"Fold the paper away from the table along a crease so the crease becomes a mountain ridge. The flap point marks the side that moves. Animates on the shared 3D sheet.","title":"Mountain fold","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"creaseFrom":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"creaseTo":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"flap":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"label":{"type":"string"}},"required":["creaseFrom","creaseTo","flap"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"fold_point_to_point","kind":"act","impl":"imperative","description":"The most origami-native move. Bring one point onto another. The crease is the perpendicular bisector, computed by the page. kind is valley or mountain. Example: from SW to NE makes the first diagonal of a crane.","title":"Fold one point onto another","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"from":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"to":{"description":"A landmark name (SW, SE, NE, NW, S, E, N, W, C) or a unit UV point {x,y} with 0..1 on the square. SW is bottom-left, NE is top-right.","anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}}},{"type":"object","additionalProperties":false,"required":["uv"],"properties":{"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}},{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}]},"kind":{"type":"string","enum":["valley","mountain"],"default":"valley"}},"required":["from","to"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"unfold_last","kind":"act","impl":"imperative","description":"Open the most recent active fold. The paper unfolds on screen and the crease remains visible and inspectable.","title":"Unfold the last crease","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reset_sheet","kind":"act","impl":"imperative","description":"Reset the table to a fresh square.","title":"Reset to a fresh square","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_models","kind":"answer","impl":"imperative","description":"Return the currently verified built-in model: the traditional origami crane.","title":"List known origami models","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"make_model","kind":"act","impl":"imperative","description":"Fold the traditional crane through its square base, petal folds, inside reverse folds, and wings.","title":"Make a known origami model","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"model":{"type":"string","enum":["crane-start"]}},"required":["model"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"apiSurface":"spec","category":"AI & Agents","toolCount":8}}