{"name":"io.github.Craftiee/circuitarium","slug":"craftiee-circuitarium","title":"Circuitarium MCP","description":"MCP tools for CRUMB artifacts and Logisim-evolution analysis and non-interactive simulation.","url":"https://mcp.market/server/craftiee-circuitarium","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":27,"stars":1,"forks":0,"downloads_week":62,"last_push_at":"2026-09-05T03:42:58.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Craftiee/circuitarium-mcp","website":null,"version":"0.3.1","remotes":[],"packages":[{"registryType":"npm","identifier":"circuitarium-mcp","version":"0.3.1","transport":{"type":"stdio"}}],"tools":[{"name":"crumb_analyze_design","description":"Recognizes version-pinned component parameters, terminal attachments, and inferred connection groups. Summary is the bounded default; components and connections use opaque cursors. Embedded firmware and geometry require explicit opt-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_bom","description":"Groups recognized components by kind and decoded part values into quantities. State values such as switch positions are excluded from part identity; unknown and schema-mismatched components stay visible as their own lines.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_check_design","description":"Lints the inferred netlist: supply shorts, LEDs directly across the rails, shorted two-terminal parts, floating IC power pins, resistor power ratings, and floating terminals. Findings carry evidence confidence and rule basis; a rule violation returns ok=true with data.valid=false.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_compare_designs","description":"Read-only, GUID-matched comparison of a baseline and candidate .cru under crumb.unity/1.3.5. Distinguishes exact bytes, modeled equivalence, root changes, component changes, and unverified payload signatures without returning raw XML, firmware, EEPROM bytes, or thumbnails.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_component_catalog","description":"Returns the version-pinned CRUMB tool-ID catalog, payload signatures, typed parameters, terminal labels, confidence values, and their machine-readable evidence vocabulary. Optionally filter by toolId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_export_netlist","description":"Collapses jumper wires out of the inferred connection graph and returns paged electrical nets with component terminals, VCC/GND names inferred from DC supply terminals, and optional saved-switch-state merges. Provenance and confidence are explicit.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_generate_fixture","description":"Creates one known fixture without overwriting. Provide outputPath for a file artifact; raw XML is returned only when includeXml=true.","write_action":true,"price_micros":0,"input_schema":null},{"name":"crumb_get_component","description":"Returns a single component by id with parameters, terminals, geometry, its inferred connection groups, and windowed access to embedded firmware source past the analyze cap. The read-back companion for iterative work on one part.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_ic_reference","description":"Queries the version-pinned tool-5 IC registry by prefabId or by a label/package substring (for example \"74HC138\"). Returns package labels, ordered pin names, and explicit unresolved pins.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_inspect_design","description":"Returns a bounded save summary and tool-ID counts. Use crumb_analyze_design for paginated semantic component and connection details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_list_projects","description":"Enumerates .cru files under the workspace root (or one subdirectory) with size, modification time, and SHA-256 digest, so a model can discover projects without being handed a path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_trace_net","description":"Selects one component terminal by stable index and returns a paged deterministic connectivity witness with structured attachment, board, jumper, and optional saved-switch provenance. It is static conductive inference, not current flow, path enumeration, or simulation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"crumb_validate_design","description":"Performs XML and CRUMB structural checks without launching the game. A bad design returns ok=true and data.valid=false.","write_action":false,"price_micros":0,"input_schema":null},{"name":"electronics_capabilities","description":"Zero-argument onboarding for model-neutral conventions, callable backends, truthful limitations, and recommended workflows. Call this first when unsure.","write_action":false,"price_micros":0,"input_schema":null},{"name":"electronics_plan_verification","description":"Builds a deterministic, simulator-neutral plan for explicit claims using bounded caller-reported evidence. It reads no files, runs no tools or simulators, authenticates no receipts, and never certifies physical hardware.","write_action":false,"price_micros":0,"input_schema":null},{"name":"electronics_validate_experiment","description":"Checks an arbitrary JSON value against the simulator-neutral circuit, firmware, probe, assertion, and timing contract. Invalid input returns ok=true and data.valid=false with diagnostics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logisim_analyze_design","description":"Parses bounded .circ XML into project, circuit, pin, clock, component, and explicit conversion-loss summaries. Static parsing is not simulation evidence.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logisim_component_stats","description":"Invokes the separately installed JAR, after it self-reports Logisim-evolution 4.1.0, with --tty stats. Success proves that configured process loaded the staged project, not behavioral simulation or binary authenticity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logisim_export_netlist","description":"Exports simulator-neutral coordinate-endpoint nets with explicit loss markers. It does not infer unmodeled gate geometry, mid-segment junctions, or behavior.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logisim_list_projects","description":"Discovers workspace .circ projects with stable raw-byte digests. This is static file discovery and does not launch Logisim.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logisim_run_test_vector","description":"Invokes the separately installed JAR, after it self-reports Logisim-evolution 4.1.0, with staged snapshots of a workspace-contained project and .vec/.txt file. Assertion failures return ok=true with data.valid=false.","write_action":true,"price_micros":0,"input_schema":null},{"name":"logisim_truth_table","description":"Invokes the separately installed JAR, after it self-reports Logisim-evolution 4.1.0, in CSV/binary table mode after statically bounding declared input width.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-24T17:26:11.716Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T17:26:11.661Z","components":{"code":{"score":25,"max":25,"notes":["40 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 20 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"circuitarium-mcp","version":"0.3.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-07-29T04:51:45.823Z","repositoryUrl":"git+https://github.com/Craftiee/circuitarium-mcp.git","weeklyDownloads":62}],"repo":{"found":true,"owner":"Craftiee","repo":"circuitarium-mcp","archived":false,"pushedAt":"2026-09-05T03:42:58Z","stars":1,"forks":0,"openIssues":12,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/77973541?v=4","ownerCreatedAt":"2021-01-25T13:25:58Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/77973541?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":62,"license":"Apache-2.0","lastPushAt":"2026-09-05T03:42:58.000Z","score":27}}}},"grade_history":[],"reviews":[]}