Circuitarium MCP

io.github.Craftiee由 GitHub 帳號 Craftiee 發布v0.3.1更新於 Oct 24, 2026

MCP tools for CRUMB artifacts and Logisim-evolution analysis and non-interactive simulation.

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理檢查 CRUMB 電路存檔與 Logisim-evolution 專案,並可選擇進行有界模擬。

可以做什麼
探索、檢視、驗證並比較 CRUMB .cru 存檔,可產生固定的合成測試檔且不覆寫既有檔案。建立物料清單、匯出網表、追蹤導通網路、查詢 IC 腳位定義並執行靜態電氣規則檢查。探索並靜態分析 Logisim .circ 專案,匯出明確標示為不完整的中性網表。可選擇透過使用者自備的 Logisim JAR 執行元件統計、真值表與測試向量。驗證可攜式實驗描述,並為電路結論規劃所需證據。保留工作區相對參照與 SHA-256 摘要,方便交接給其他模型。
適用情境
適合在聊天助理中審閱已儲存的 CRUMB 或 Logisim-evolution 電路檔:檢查結構、元件清單、連通性或簡單電氣規則問題,並可選擇取得 Logisim 專案的真值表或測試向量結果。不適用於即時模擬器控制或一般電路行為分析。
執行需求
需要 Node.js 22 或更新版本,以及能啟動本機 stdio 伺服器的 MCP 用戶端。需透過 CIRCUITARIUM_MCP_ROOT 指定專用工作區資料夾,其中只放要暴露的電路檔。選用 Logisim 執行環境需要 Java 21 或更新版本、使用者自備的 Logisim-evolution 4.1.0 all-JAR(透過 CIRCUITARIUM_LOGISIM_JAR 指定),可選 CIRCUITARIUM_JAVA;無頭 Linux 上執行測試向量還需 X11 顯示。不需模型 API 金鑰。
安裝前請注意
屬於實驗性教育軟體,不是安全認證工具;不要單獨依賴它處理市電、電池充電、醫療、汽車或生命安全相關工作。靜態結論只是檔案格式推論,並非模擬結果。解析在本機進行,但 MCP 主機可能把回傳資料送往雲端模型,因此應使用不含機密的小範圍工作區。執行環境工具可能修改 Logisim 的使用者層級 Java 偏好設定,且不是作業系統沙箱;只應使用可信的 JAR。測試檔工具會寫入檔案,並拒絕覆寫既有路徑。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Circuitarium MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Circuitarium MCP

Local electronics tools for MCP-capable assistants, with support for CRUMB save files and Logisim-evolution projects.

[CI] [npm] [MCP Registry] [License: Apache-2.0]

Circuitarium lets an MCP host inspect circuit files without pretending that static analysis is a running simulator. It can trace CRUMB nets, build BOMs, run electrical rule checks, analyze Logisim projects, and optionally ask Logisim-evolution to produce truth tables or run test vectors.

Release 0.3.1 includes 22 tools, nine read-only Resources, and four workflow Prompts. The server is model-neutral: Codex, Claude Code/Desktop, VS Code, LM Studio, Jan, or another local MCP host supplies the model and launches Circuitarium over stdio. Circuitarium itself needs no OpenAI, Anthropic, or local-model API key.

Quick start

You need:

  • Node.js 22 or newer;
  • an MCP client that can launch a local stdio server; and
  • a dedicated folder containing only the circuit files you want the client to access.

Windows, macOS, and Linux are covered by CI. CRUMB analysis and the static Logisim tools need neither simulator nor Java.

To install and start the local stdio server from a terminal:

In an interactive terminal this prints a short status panel. In normal use, your MCP client runs the same command and keeps the server connected over stdio.

1. Add Circuitarium to your MCP client

Most clients ask for the same command, arguments, and environment variable:

text
Command: npxArguments: -y [email protected]Environment:  CIRCUITARIUM_MCP_ROOT=/absolute/path/to/circuit-workspace

The first launch can take longer while npm downloads the package. Later starts normally use npm's cache.

Replace the path with the smallest folder that should contain the .cru, .circ, .vec, and .txt files available to the model. Do not point it at your home directory or a drive root.

Copyable configurations are available for:

See the client setup guide for platform-specific examples and local-model guidance. The starter workspace recipe copies one synthetic CRUMB fixture plus the full-adder Logisim project into an isolated folder, so a first test does not require access to the rest of a source checkout. Restart or reload the client after adding the server.

Claude Desktop users can instead download circuitarium-mcp-0.3.1.mcpb directly and open it as a local bundle. The installer asks for a circuit workspace and offers optional Logisim JAR and Java settings. The release page also includes checksums and the matching npm tarball.

2. Try a circuit with no simulator installed

Paste this into the connected client:

Use Circuitarium. Call electronics_capabilities. Create the built-in breadboard-led fixture as demo/first-led.cru without overwriting anything, analyze it, and run crumb_check_design. Explain which findings are static inferences rather than simulation results.

Your client may ask you to approve creation of the synthetic file. The tool refuses to overwrite an existing path; on a repeat run, analyze the existing file or choose a new name.

A healthy connection creates a small synthetic file, recognizes its breadboard and LED, and reports two floating-terminal warnings. The fixture is independently authored and safe to redistribute; it is not a CRUMB asset.

3. Check the launcher from a terminal

These commands verify the published launcher without opening a server session:

text
npx -y [email protected] --helpnpx -y [email protected] --versionnpx -y [email protected] doctor --smoke

If the bare npx -y [email protected] command appears to wait, the server is working as designed: it is waiting for an MCP host on stdin. Press Ctrl+C and let the host launch the command itself.

Watch the terminal demo to see the source-checkout command runner inspect a synthetic fixture, build its BOM, and export its netlist. The public package exposes the MCP server, help, version, and doctor commands shown above.

Watch the MCP Inspector demo to see the server running in an independent MCP client, or read the reproducible 22-tool host verification and its sanitized evidence report.

What you can do

AreaCurrent capabilities
General electronicsDiscover available backends, validate portable experiment descriptions, and plan what evidence is needed to verify circuit claims
CRUMBLE / CRUMBDiscover, inspect, validate, and compare Unity-era .cru saves; build BOMs and netlists; trace conductive nets; query supported IC pinouts; and run static electrical checks
Logisim-evolutionDiscover and inspect .circ projects, export a deliberately partial neutral netlist, and optionally run component statistics, truth tables, and test vectors
Cross-model workPreserve workspace-relative project references and raw-byte SHA-256 digests so another model can confirm it is reading the same artifact

CRUMBLE—Circuit Representation & Universal Model Bridge for Laboratory Electronics—is the unofficial CRUMB-specific integration inside Circuitarium. The simulator-neutral tools keep CRUMB-specific assumptions out of future adapters.

The current surface breaks down into three neutral electronics_* tools, thirteen crumb_* tools, and six logisim_* tools. All tool results use the electronics.mcp/0.2 result contract, independent of the package version.

Static analysis versus runtime execution

OperationSimulator or Java required?What it establishes
All crumb_* toolsNoFacts inferred from a saved Unity-era .cru file; never live CRUMB behavior
logisim_list_projects, logisim_analyze_design, logisim_export_netlistNoSaved .circ structure and an explicitly partial neutral representation
logisim_component_statsJava 21 and a user-supplied Logisim 4.1.0 all-JARThe selected project and circuit loaded in one bounded subprocess
logisim_truth_table, logisim_run_test_vectorJava 21 and a user-supplied Logisim 4.1.0 all-JARBounded behavioral evidence for the exact project digest; not a live GUI session
Resources and PromptsNoGuidance and workflow templates only; they do not read a project or execute a simulator

Compatibility and honest limits

TargetStatusBoundary
CRUMB 1.3.5, Unity-era .cru formatExperimental supportStatic, version-pinned file analysis under crumb.unity/1.3.5
Godot-era CRUMB 2.xNot supportedRequires a separate evidence profile and controlled-save corpus
Live CRUMB control or simulationNot implementedNo run, pause, step, signal-read, or GUI bridge
Arbitrary CRUMB editingNot implementedThe only public write tool creates one of five fixed synthetic fixtures
Logisim-evolution 4.1.0 static analysisExperimental supportClean-room .circ parsing; neutral netlists remain explicitly partial
Logisim-evolution 4.1.0 executionOptionalBounded, one-shot JAR subprocesses; no live GUI session

CRUMB electrical rule checks operate on inferred net connectivity and saved component values. They can find supply shorts, an LED placed directly across both rails of one recognized supply, a directly connected resistor whose saved values imply excessive dissipation, and selected floating terminals or IC power pins. They do not trace series paths, prove polarity, calculate general circuit behavior, or certify a physical build.

[!WARNING] Circuitarium is experimental educational software, not a safety certification tool. Do not rely on its output alone for mains voltage, battery charging, medical, automotive, life-safety, high-energy, or regulatory work. Use authoritative component documentation, appropriate measurements, and qualified engineering review wherever consequences matter.

File parsing happens locally, but the MCP host may send returned data to a cloud model. Embedded firmware source is omitted by default, and binary EEPROM contents are never returned, but you should still use a narrow workspace with no secrets. Read the security policy for the full trust model.

Optional Logisim runtime

The three static Logisim tools work without Java. To enable component statistics, truth tables, and test vectors:

  1. Install Java 21 or newer.
  2. Download the official logisim-evolution-4.1.0-all.jar.
  3. Add the JAR path to the MCP host configuration.
text
CIRCUITARIUM_LOGISIM_JAR=/absolute/path/to/logisim-evolution-4.1.0-all.jarCIRCUITARIUM_JAVA=java

CIRCUITARIUM_JAVA is optional when java already resolves to Java 21 or newer. On a headless Linux machine, test-vector execution also needs a working X11 display; Xvfb is sufficient.

Use only a trusted JAR. Circuitarium verifies that it self-reports version 4.1.0, but that response does not authenticate the file or its publisher. Runtime tools may update Logisim's per-user Java preferences and are not an operating-system sandbox.

The repository includes an independently authored full-adder project and vector for a first runtime test. Circuitarium does not bundle or download Logisim-evolution. See the Logisim adapter guide for setup, Linux notes, evidence levels, and subprocess safeguards.

Typical workflows

Review a CRUMB save

  1. Call electronics_capabilities.
  2. Call crumb_list_projects if the path is not known. Projects include a digest when requested and within the documented file and aggregate bounds; otherwise the result explains why it was omitted.
  3. Call crumb_analyze_design with view: "summary".
  4. Use crumb_export_netlist, crumb_trace_net, crumb_check_design, or crumb_bom only as the question requires.

Static findings remain file-format inference. Circuitarium does not observe whether CRUMB is running or how the circuit behaves.

Verify a Logisim project

  1. Call logisim_list_projects, then logisim_analyze_design.
  2. Treat logisim_export_netlist as partial static evidence and review its conversion-loss markers.
  3. If the optional runtime is available, select an exact circuit and call logisim_truth_table or logisim_run_test_vector.
  4. Use electronics_plan_verification when a claim needs several kinds of evidence or an explicit list of remaining gaps.

Hand work to another model

Keep projectRef, projectDigest, backendId, adapterVersion, and compatibilityProfile with the handoff. The receiving model should pass the recorded digest as expectedProjectDigest on its first read. If the bytes have changed, Circuitarium returns PROJECT_STATE_CONFLICT instead of silently reusing stale conclusions.

See the cross-model handoff example.

Tool reference

All 22 tools

Neutral electronics tools

ToolPurpose
electronics_capabilitiesReport callable backends, limitations, and recommended workflows
electronics_validate_experimentValidate a portable experiment description without claiming it ran
electronics_plan_verificationBuild an evidence plan for explicit circuit claims

CRUMBLE tools

ToolPurpose
crumb_component_catalogReturn the version-pinned CRUMB component catalog
crumb_analyze_designRead bounded semantic views of a .cru save
crumb_compare_designsCompare two digest-guarded saves without modifying either
crumb_inspect_designReturn a compact format-level inventory
crumb_validate_designCheck XML structure and known invariants
crumb_generate_fixtureCreate one fixed synthetic fixture without overwriting
crumb_list_projectsDiscover workspace .cru files and bounded artifact metadata
crumb_get_componentFetch one component and optional bounded source window
crumb_bomGroup recognized components into a bill of materials
crumb_ic_referenceQuery the version-pinned IC package and pin registry
crumb_export_netlistExport static, jumper-collapsed inferred nets
crumb_trace_netProduce a paged conductive witness for one terminal
crumb_check_designRun scoped static electrical rule checks

Logisim-evolution tools

ToolPurpose
logisim_list_projectsDiscover workspace .circ files
logisim_analyze_designInspect static project, circuit, component, Pin, Clock, and wire structure
logisim_export_netlistExport an explicitly partial coordinate-based neutral netlist
logisim_component_statsAsk the configured JAR to load and inventory a circuit
logisim_truth_tableEvaluate a bounded combinational truth table
logisim_run_test_vectorRun a workspace-contained vector and return structured failures

The nine Resources provide capability metadata, compatibility profiles, synthetic-example metadata, electrical-review and digital-testing guidance, a neutral component-profile schema, and version-pinned component catalogs. The four user-invoked Prompts are:

  • review-circuit-design
  • compare-crumb-designs
  • verify-logisim-design
  • handoff-circuit-project

Resources and Prompts do not read a project or run a simulator by themselves. Clients that do not expose those MCP features can still use all 22 tools. The contract reference documents exact resource URIs, Prompt arguments, result envelopes, errors, output bounds, and tool schemas.

Contributing

Circuitarium is still early, and small, well-evidenced improvements are useful. Good starting points include client setup fixes, synthetic test circuits, source-cited component profiles, parser edge cases, controlled compatibility observations, and scoped roadmap work.

Before changing an adapter or public contract, read the contribution guide, architecture, and provenance policy. Questions and early design ideas belong in Discussions; reproducible bugs, scoped feature requests, and controlled interoperability evidence belong in the issue tracker.

text
git clone https://github.com/Craftiee/circuitarium-mcp.gitcd circuitarium-mcpnpm cinpm run lintnpm run check

Use npm run test:coverage for behavioral changes, npm run package:check for package or launcher changes, and npm run logisim:e2e for Logisim runtime changes. The Logisim E2E test requires Java 21 and a separately supplied 4.1.0 all-JAR.

Fixtures must be small, synthetic, independently authored, and safe to redistribute. Do not submit private circuits, firmware, simulator binaries, extracted assets, or third-party circuit designs. Build a minimal synthetic reproduction instead. Report vulnerabilities through GitHub private vulnerability reporting, not a public issue. All contributors must follow the Code of Conduct.

Documentation

DocumentUse it for
Client setupHost-specific installation, subscriptions/APIs, and local models
CRUMBLE guideCurrent CRUMB scope and evidence profiles
Logisim guideJAR setup, runtime evidence, safety, and Linux notes
MCP contractExact tools, Resources, Prompts, envelopes, and limits
ArchitectureAdapter boundaries and simulator-neutral design
ProvenanceEvidence categories and redistribution rules
RoadmapShipped milestones and planned work
ChangelogRelease history

Privacy Policy

Circuitarium runs locally over stdio, has no telemetry, and does not send circuit files to a maintainer-controlled service. The MCP host and model provider you choose may still process tool arguments and results under their own terms. Read the complete Privacy Policy before granting a host access to a workspace.

Project status and license

Circuitarium MCP is experimental community software released under the Apache License 2.0. Version 0.3.1 is available on npm and as a GitHub release, and its metadata is listed in the official MCP Registry. For help, see SUPPORT.md. Research and teaching users can cite the project with CITATION.cff.

Circuitarium MCP, CRUMBLE, and the Logisim-evolution adapter are independent, unofficial interoperability work. They are not affiliated with, endorsed by, or sponsored by CRUMB, Logisim-evolution, or their developers. This repository contains no CRUMB or Logisim-evolution simulator code, binaries, extracted assets, logos, or bundled third-party circuit designs. Product names and marks belong to their respective owners.

來源:README.md,提交 dc02063

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分