{"ok":true,"site":{"host":"circuitforge.pages.dev","url":"https://circuitforge.pages.dev/","type":"live","desc":"CircuitForge","tools":[{"name":"circuit_get_capabilities","kind":"answer","impl":"imperative","description":"Inspect currently active WebMCP bundles, simulation mode, and current circuit revision.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_list_catalog","kind":"act","impl":"imperative","description":"List all available built-in logic components, custom chips, and pin layouts.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_get_snapshot","kind":"answer","impl":"imperative","description":"Retrieve the active circuit state: components, pin IDs, logic signals, simulation status, and revision.","inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["summary","full"],"description":"Detail level of snapshot: summary (compact) or full (all pins and wire paths).","default":"summary"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_inspect_component","kind":"act","impl":"imperative","description":"Inspect detailed properties of a specific component: type, label, position, all pin signals, and connected wires.","inputSchema":{"type":"object","properties":{"component_id":{"description":"Component ID or name/label to inspect."}},"required":["component_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_analyze","kind":"act","impl":"imperative","description":"Perform static and graph analysis: detect floating inputs, unconnected outputs, and structural health.","inputSchema":{"type":"object","properties":{"scope":{"type":"string","enum":["all","floating","connectivity"],"description":"Analysis scope to perform.","default":"all"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_add_component","kind":"act","impl":"imperative","description":"Programmatically place a logic gate, IC, or IO pin on the active circuit board.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Component type to place (e.g. \"AND\", \"OR\", \"NAND\", \"NOT\", \"XOR\", \"LED\", \"IN-1\", \"OUT-1\")."},"x":{"type":"number","description":"Optional canvas X coordinate. Auto-layout is applied if omitted."},"y":{"type":"number","description":"Optional canvas Y coordinate. Auto-layout is applied if omitted."},"label":{"type":"string","description":"Optional human-readable label or name for this instance."},"component_id":{"type":"number","description":"Optional specific component ID to assign."},"expected_revision":{"type":"number","description":"Expected circuit revision before mutation."}},"required":["type"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_connect","kind":"act","impl":"imperative","description":"Connect two pins with a wire, with automatic direction and bit-width validation.","inputSchema":{"type":"object","properties":{"source_pin":{"description":"Source pin identifier (e.g. \"ownerId:pinId\", \"NAND:OUT\", or DevPin ID/name)."},"target_pin":{"description":"Target pin identifier (e.g. \"ownerId:pinId\", \"LED:IN\", or DevPin ID/name)."},"expected_revision":{"type":"number","description":"Expected circuit revision before mutation."}},"required":["source_pin","target_pin"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_disconnect","kind":"act","impl":"imperative","description":"Remove a wire connection by wire_id or by connected pin pair.","inputSchema":{"type":"object","properties":{"wire_id":{"type":"number","description":"ID of the wire to remove."},"source_pin":{"description":"Alternative: Source pin of the connection to remove."},"target_pin":{"description":"Alternative: Target pin of the connection to remove."},"expected_revision":{"type":"number","description":"Expected circuit revision before mutation."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_delete_component","kind":"transact","impl":"imperative","description":"Delete a specific placed gate, IC, or IO pin from the active canvas.","inputSchema":{"type":"object","properties":{"component_id":{"description":"ID or label/name of the component to delete."},"expected_revision":{"type":"number","description":"Expected circuit revision before deletion."}},"required":["component_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_clear_workspace","kind":"act","impl":"imperative","description":"Clear all components and wires from the active canvas.","inputSchema":{"type":"object","properties":{"expected_revision":{"type":"number","description":"Expected circuit revision before clearing."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_set_input","kind":"act","impl":"imperative","description":"Set logic value (0 or 1) on an input pin by pin_id or name in the active circuit.","inputSchema":{"type":"object","properties":{"pin_id":{"type":"string","description":"Target input pin ID or name."},"name":{"type":"string","description":"Alternative: Target input pin name."},"value":{"type":"number","description":"Logic value to set (0 or 1)."},"expected_revision":{"type":"number","description":"Expected circuit revision before mutation."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_step","kind":"act","impl":"imperative","description":"Advance the digital logic simulation by an exact number of clock/tick steps.","inputSchema":{"type":"object","properties":{"steps":{"type":"number","description":"Number of simulation ticks to execute (1-100, default 1).","default":1}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_pause","kind":"act","impl":"imperative","description":"Pause continuous simulation.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_run","kind":"act","impl":"imperative","description":"Resume continuous simulation.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_undo","kind":"act","impl":"imperative","description":"Undo the last circuit mutation action.","inputSchema":{"type":"object","properties":{"expected_revision":{"type":"number","description":"Expected circuit revision before undo."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_redo","kind":"act","impl":"imperative","description":"Redo the previously undone circuit action.","inputSchema":{"type":"object","properties":{"expected_revision":{"type":"number","description":"Expected circuit revision before redo."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_verify_truth_table","kind":"act","impl":"imperative","description":"Test an entire truth table against the active circuit and report row-by-row pass/fail results with mismatch diagnosis.","inputSchema":{"type":"object","properties":{"inputs":{"type":"array","items":{"type":"string"},"description":"Optional list of input pin names or IDs in order. Auto-detected if omitted."},"outputs":{"type":"array","items":{"type":"string"},"description":"Optional list of output pin names, IDs, or LEDs in order. Auto-detected if omitted."},"rows":{"type":"array","description":"Array of truth table rows: [{ inputs: [0, 0], expected: [0] }, ...] or flat arrays [[0, 0, 0], ...]"},"expected":{"type":"array","description":"Alternative alias for rows."},"ticks_per_row":{"type":"number","description":"Simulation ticks to advance per row (default: 2).","default":2}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_package_chip","kind":"act","impl":"imperative","description":"Package the current circuit into a new, reusable custom logic chip saved to the library and toolbar.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the new custom chip (e.g. \"MY_AND\", \"HALF_ADDER\"). Must be unique."},"color":{"type":"string","description":"Optional hex color for the chip body (e.g. \"#38bdf8\")."},"width":{"type":"number","description":"Optional custom width in grid units. Will automatically expand if name or pin count requires more space."},"height":{"type":"number","description":"Optional custom height in grid units. Will automatically expand if pin count requires more space."},"clear_workspace":{"type":"boolean","description":"Whether to clear the canvas after saving (default: true).","default":true},"expected_revision":{"type":"number","description":"Expected circuit revision before packaging."}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circuit_set_viewport","kind":"act","impl":"imperative","description":"Adjust camera zoom and position or auto-fit all circuit components within the visible canvas.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["fit_circuit","set","zoom","pan"],"description":"Camera action: \"fit_circuit\" (auto-frame all elements), \"set\" (set center/zoom), \"zoom\" (adjust zoom), \"pan\" (shift position).","default":"fit_circuit"},"x":{"type":"number","description":"Target camera center X coordinate in circuit world units."},"y":{"type":"number","description":"Target camera center Y coordinate in circuit world units."},"zoom":{"type":"number","description":"Orthographic zoom level (e.g. 5.0 is default, 10.0 is zoomed out twice as far)."},"zoom_delta":{"type":"number","description":"Relative zoom delta to add (+ for zoom out, - for zoom in)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/circuitforge.pages.dev.svg","apiSurface":"spec","toolCount":19}}