{"ok":true,"site":{"host":"kinocode-jp.github.io","url":"https://kinocode-jp.github.io/oru-webmcp/","type":"live","desc":"A WebMCP origami table. The page exposes only valley folds and mountain folds. An agent folds the same sheet you are watching.","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","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/oru-webmcp/"},{"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","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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","page":"/oru-webmcp/"},{"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","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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","page":"/oru-webmcp/"},{"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","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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","properties":{"x":{"type":"number"},"y":{"type":"number"},"uv":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"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","page":"/oru-webmcp/"},{"name":"unfold_last","kind":"act","impl":"imperative","description":"Undo the most recent fold. The paper opens on screen.","title":"Unfold the last crease","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/oru-webmcp/"},{"name":"reset_sheet","kind":"act","impl":"imperative","description":"Throw the model away and put one new square on the table.","title":"Reset to a fresh square","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/oru-webmcp/"},{"name":"list_models","kind":"answer","impl":"imperative","description":"Return the built-in models the human can ask for: crane start, boat, fox, heart.","title":"List known origami models","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/oru-webmcp/"},{"name":"make_model","kind":"act","impl":"imperative","description":"Fold a built-in model step by step on the shared sheet. model is crane-start, boat, fox, or heart. Each step is a real valley or mountain fold the human can see.","title":"Make a known origami model","inputSchema":{"type":"object","additionalProperties":false,"properties":{"model":{"type":"string","enum":["crane-start","boat","fox","heart"]}},"required":["model"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/oru-webmcp/"}],"category":"Media & Personal","apiSurface":"spec","toolCount":8}}