{
  "markdown": "# Multisim MCP + Skills\r\n\r\n[![Glama MCP server score](https://glama.ai/mcp/servers/yxy050208/multisim-mcp/badges/score.svg)](https://glama.ai/mcp/servers/yxy050208/multisim-mcp)\r\n[![DeepSeek Harness npm bundle](https://img.shields.io/npm/v/multisim-mcp-dsh-plugin.svg?label=dsh%20plugin)](https://www.npmjs.com/package/multisim-mcp-dsh-plugin)\r\n\r\n[中文（当前）](README.md) | [English](README.en.md)\r\n\r\n让 AI Agent 根据实验要求自动生成 Multisim 电路、运行仿真、提取实验数据，并导出\r\n电路图、CSV、波形图和实验报告。\r\n\r\n> 当前 GitHub 稳定发行版为 `v1.2.0`。项目非 NI 官方产品，需要本机安装并授权\n> Multisim 14+；COM 在独立 32 位 Python worker 中运行，MCP 前端可使用 32 或 64 位\n> Python。\n\n> `v1.2.0` 是**不含 React 前端的 MCP Core 正式版**：包含 Python MCP 服务、CLI、EDA\n> 核心、模型/DeepSeek 适配、测试、文档及可选 loopback 桥接 API；不包含仍在独立\n> 开发的 React Workbench 前端。GitHub、PyPI 与 MCP Registry 均已发布 `v1.2.0`。\n\r\n四个开发阶段和 1.0 发布门禁见 [`1.0 路线图`](docs/ROADMAP_TO_1.0.md)。\r\n\r\n[PyPI 安装包](https://pypi.org/project/multisim-mcp/) ·\n[官方 MCP Registry 条目](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.yxy050208%2Fmultisim-mcp) ·\n[DeepSeek Harness npm 插件](https://www.npmjs.com/package/multisim-mcp-dsh-plugin) ·\n[GitHub Release](https://github.com/yxy050208/multisim-mcp/releases/tag/v1.2.0)\n\r\n## 开源发布状态\r\n\r\n`1.2.0` 已同步发布到 GitHub Release、PyPI 与\n`io.github.yxy050208/multisim-mcp` 官方 MCP Registry 条目。由本地 NI\n样例提取的 XML 模板不属于\r\nMIT 代码授权范围，公开仓库默认不应包含这些文件。用户需要运行\r\n`tools/bootstrap_local_component_pack.py`，从自己已授权的 Multisim 安装生成本地模板包。\r\n\r\n请不要上传 `analysis/`、`.ms14`、解码 XML、类型库转储、实验输出或当前包含 142 个\r\n本地模板的开发 wheel。完整发布步骤见 [`docs/PUBLISHING.md`](docs/PUBLISHING.md)。\r\n\r\n`1.2.0` 正式核心将公共面扩展为 78 个工具、20 个资源模板和 5 个双语提示词，新增\n审批式设计规划、诊断/补丁评估、全局优化、自主纠错、Multisim/ngspice 差分验证与\n可恢复作业。详情见 [`v1.2.0 发布说明`](docs/RELEASE_NOTES_v1.2.0.md)。\n\r\n## 已实现的完整闭环\r\n\r\n`run_circuit_experiment` 可以从同一份受限 SPICE 网表完成：\r\n\r\n1. 网表和实验命令安全校验。\r\n2. 生成可编辑 `.ms14` 原理图。\r\n3. 由真实 Multisim 打开并反向枚举验证。\r\n4. 导出原理图 PNG。\r\n5. 运行 DC、AC、瞬态或工作点实验。\r\n6. 导出 raw、CSV、SVG 波形和命令日志。\r\n7. 生成 Markdown、中英双语独立 HTML/PDF 报告及带 SHA-256 的 `manifest.json`。\r\n\r\n对于较长实验，`submit_circuit_experiment` 持久任务接口会立即返回\r\n`job_id`，可通过 `get_experiment_job`、`list_experiment_jobs`、\r\n`cancel_experiment_job`、`retry_experiment_job` 或 `multisim://jobs/{job_id}` 查询、\r\n取消和重试任务。每个实验\r\n运行在隔离任务进程中；全部 Multisim COM/编解码操作还会进入长期驻留的 32 位\r\nCOM worker。worker 崩溃、RPC 超时或心跳超时不会拖垮 MCP 服务，后续调用可重启\r\nCOM worker，服务重启后未完成任务会安全地重新排队。\r\n\r\n1.0 还加入了可计算的设计验收与批量实验：\r\n\r\n- `run_verified_circuit_experiment` 接收版本化 `ExperimentSpec`，自动测量时域频率、\r\n  THD、增益、带宽、截止频率、上升时间、过冲、纹波、功耗等指标，并把逐项\r\n  `pass` / `fail` / `unverified` 结论写入 `verification.json` 和实验报告。\r\n- `measure_experiment` 与 `verify_experiment_requirements` 可对已注册实验重新计算\r\n  指标；信号或证据缺失时只返回 `unverified`，不会猜测结果。\r\n- `plan_experiment_sweep`、`run_experiment_sweep`、`submit_experiment_sweep` 支持\r\n  参数、容差、温度与可复现 Monte Carlo 扫描。每次扫描最多 100 个运行点，长扫描\r\n  复用持久任务的取消、超时、崩溃恢复与输出锁。\r\n- 扫描输出 `summary.json`、扁平 `data.csv` 和每个运行点的原始产物，并通过\r\n  `multisim://sweeps/{sweep_id}/summary|data` 读取。\r\n\r\n验收请求的核心结构如下；`operator` 支持 `at_least`、`at_most`、`between` 和\r\n`approximately`：\r\n\r\n```json\r\n{\r\n  \"spec\": {\r\n    \"schema_version\": 1,\r\n    \"title\": \"分压器验收\",\r\n    \"netlist\": \"VIN vin 0 DC 10\\nR1 vin vout 1k\\nR2 vout 0 1k\\n.end\\n\",\r\n    \"commands\": \"dc VIN 0 10 1\",\r\n    \"requirements\": [\r\n      {\r\n        \"id\": \"gain\",\r\n        \"metric\": \"gain\",\r\n        \"signal\": \"V(vout)\",\r\n        \"reference_signal\": \"V(vin)\",\r\n        \"operator\": \"approximately\",\r\n        \"target\": 0.5,\r\n        \"tolerance_percent\": 1\r\n      }\r\n    ],\r\n    \"theoretical_values\": {\"gain\": 0.5}\r\n  },\r\n  \"output_dir\": \"C:\\\\experiments\\\\divider-verified\"\r\n}\r\n```\r\n\r\n扫描的 `mode` 可设为 `parameter`、`tolerance`、`temperature` 或\r\n`monte_carlo`。元件数值使用有限数字替换已声明的 `{{NAME}}` 占位符；建议先调用\r\n`plan_experiment_sweep` 检查完整展开结果，再提交真实运行。\r\n\r\n已经在 Multisim 14.3 上完成分压器、耦合电感、数字门/JK 时序以及\r\n函数发生器 + 示波器联合实验的真实验证。\r\n\r\n1.0 加入不分发 NI 数据库资产的可移植元件与数据仪器：\r\n\r\n- `@TRANSFORMER`、`@POTENTIOMETER`、`@RELAY`、`@CRYSTAL`、功率二极管/MOS；\r\n- `@DFF`、`@TFF`、`@COUNTER4`、`@SHIFT_REGISTER4`、`@ADC1`、`@DAC1`；\r\n- `read_virtual_multimeter`、`analyze_bode_response` 和 `analyze_logic_signals`；\r\n- `export_formal_experiment_report`，以及 5 个新的正式报告/清单 Resource。\r\n\r\n适配器语法与社区 JSON 接口见 [`docs/COMPONENT_ADAPTERS.md`](docs/COMPONENT_ADAPTERS.md)，\r\n真实版本边界见 [`docs/COMPATIBILITY.md`](docs/COMPATIBILITY.md)。\r\n工作目录持久化格式见 [`docs/WORKSPACE_MANIFESTS.md`](docs/WORKSPACE_MANIFESTS.md)。\r\n1.0 真实回归覆盖适配器原理图打开/回导、变压器瞬态、继电器与功率器件工作点、\r\n晶振 AC、DFF 瞬态以及双语正式报告的完整事务发布。\r\n\r\n## 能力成熟度\r\n\r\n稳定：\r\n\r\n- Multisim COM 连接、打开、保存、枚举和导出。\r\n- DC/AC/瞬态分析、波形输入注入、RLC 读写。\r\n- 安全子集 SPICE 实验和 raw/CSV 解析。\r\n- MCP stdio、运行环境诊断和报告生成。\r\n- 持久实验队列、进度/取消/超时、输出锁和崩溃/无响应 worker 恢复。\r\n- 版本化实验指标、严格 PASS/FAIL/未验证判定，以及四类确定性批量扫描。\r\n- 项目、实验和优化目录共用的版本化 manifest，支持修订、状态恢复和 SHA-256 完整性校验。\r\n\r\n实验性：\r\n\r\n- 自动原理图支持 R/L/C、标量及波形电压/电流源、B/E/F/G/H 受控源、\r\n  K/T/O/U 耦合与传输线、二极管、NPN/PNP、NMOS/PMOS、JFET/MESFET、\r\n  电压/电流控制开关、五端运放及 2–16 端通用 X 子电路；扩展族暂用通用载体符号。生成后会通过\r\n  Multisim 反向网表确认器件没有被静默丢弃。\r\n- 直接粘贴的厂商 `.subckt` 宏模型可递归展开为可编辑原生器件，保留嵌套依赖、\r\n  局部节点和 `PARAMS:` 参数；`editable_model_coverage` 会区分完整展开、部分展开和\r\n  仅载体状态，详见 [`docs/VENDOR_SPICE_MODELS.md`](docs/VENDOR_SPICE_MODELS.md)。\r\n- 已加入原生 NOT/AND/OR/NAND/NOR/XOR/XNOR 和 JK 触发器预览；\r\n  原理图打开/回导、组合逻辑真值表和 JK 翻转时序均已真实验证。\r\n- 支持原生 XFG 函数发生器和四通道 XSC 示波器状态，实验波形同时导出为\r\n  CSV、SVG 和 Markdown 报告。\r\n- 自动生成的原理图探针暂不作为实验数据来源；实验数据来自同一网表经 Multisim\r\n  命令引擎执行的结果。\r\n\r\n## 快速开始\r\n\r\n最简单的兼容部署仍是直接安装到 32 位 Python：\r\n\r\n```powershell\r\nC:\\path\\to\\python32\\python.exe -m pip install \"multisim-mcp==1.1.0\"\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe\r\n```\r\n\r\n也可以把 MCP 前端安装到 64 位 Python，并为 COM worker 单独保留一套安装了本项目和\r\n`pywin32` 的 32 位 Python。若系统 `py` launcher 能发现 32 位 Python，会自动选择；\r\n否则设置：\r\n\r\n```powershell\r\n$env:MULTISIM_MCP_WORKER_PYTHON = 'C:\\path\\to\\python32\\python.exe'\r\nC:\\path\\to\\python64\\python.exe -m multisim_mcp.server\r\n```\r\n\r\nLinux/Docker 仅提供 MCP 工具发现和兼容性诊断，不能运行 Multisim 仿真。容器中的\r\n`runtime_status` 会返回 `introspection-only`；所有 COM 自动化能力仍要求上述 Windows\r\n环境。根目录 `Dockerfile` 用于 Glama 等目录验证 MCP 协议和工具定义。\r\n\r\n从源码安装并生成本地元件模板包：\r\n\r\n```powershell\r\ncd mcp_server\r\n.\\setup.ps1 -Python C:\\path\\to\\python32\\python.exe\r\nnpm install --global electronics-workbench-decoder@0.2.0\r\ncd ..\r\n$env:PYTHONPATH = (Resolve-Path .\\mcp_server).Path\r\nC:\\path\\to\\python32\\python.exe .\\tools\\bootstrap_local_component_pack.py `\r\n  --output C:\\MultisimMcp\\component-pack\r\n$env:MULTISIM_MCP_TEMPLATE_DIR = 'C:\\MultisimMcp\\component-pack'\r\ncd mcp_server\r\n.\\run_server.ps1\r\n```\r\n\r\n模板包生成器会连接已授权的 Multisim，并新建一个临时空白电路以取得与当前安装版本\r\n一致的工程骨架；执行前请保存正在编辑的工作。alpha 版本生成的 schema 1 包需要重建。\r\n\r\n`v1.1.0` 提供安装诊断和配置生成命令。默认情况下它们不会启动\r\nMultisim，也不会修改现有客户端配置：\r\n\r\n```powershell\r\n# 人类可读诊断；完整工作流未就绪时给出逐项修复建议\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe doctor --lang zh\r\n\r\n# 可选：显式启动/连接 Multisim，验证许可证和 COM 激活\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe doctor --lang zh --connect\r\n\r\n# 便于 Agent/脚本解析的稳定 JSON；--strict 可用于 CI\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe --json doctor\r\n\r\n# 输出 Claude Desktop JSON 片段\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe config `\r\n  --client claude-desktop `\r\n  --python C:\\path\\to\\python32\\python.exe `\r\n  --template-dir C:\\MultisimMcp\\component-pack\r\n\r\n# 输出 Codex config.toml 片段\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe config `\r\n  --client codex `\r\n  --python C:\\path\\to\\python64\\python.exe `\r\n  --worker-python C:\\path\\to\\python32\\python.exe `\r\n  --template-dir C:\\MultisimMcp\\component-pack\r\n\r\n# 输出 DeepSeek Harness Cordis 插件片段\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe config `\r\n  --client deepseek-harness `\r\n  --python C:\\path\\to\\python32\\python.exe `\r\n  --template-dir C:\\MultisimMcp\\component-pack `\r\n  --work-dir C:\\msre_exp `\r\n  --artifact-export-dir C:\\MultisimMcp\\exports `\r\n  --tool-profile experiment\r\n\r\n# 在 Harness 项目根安装五个双语实验 Skill\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe harness-skills --output .dsh/skills\r\n\r\n# 自动发现模型 Provider 并安全预览（不写文件、不联网）\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe configure --auto --json\r\n\r\n# 确认后写入仅含环境变量引用的配置\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe configure --auto --apply\r\n\r\n# 使用 UTF-8 文件做一次明确、无工具的模型调用\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe model `\r\n  --input .\\prompt.txt `\r\n  --json\r\n\r\n# 显式启用四个只读 EDA 工具分析安全 SPICE 网表（不会执行网表）\r\nC:\\path\\to\\python32\\Scripts\\multisim-mcp.exe model-diagnose `\r\n  --input .\\diagnosis-prompt.txt `\r\n  --netlist .\\circuit.cir `\r\n  --json\r\n```\r\n\r\n配置生成器默认只打印可复制片段；`--output` 写入新文件，除非再传入 `--force`，\r\n否则不会覆盖已有文件。它不会自动合并 Claude Desktop、Codex 或 Harness 的现有配置。\r\nDeepSeek 模型与官方 Harness 的分层、凭据边界和版本兼容性见\r\n[`DeepSeek / Harness 适配说明`](docs/DEEPSEEK_HARNESS.md)。\r\n`--tool-profile core|experiment|optimization|full` 可限制客户端发现的工具；\r\n省略时保持 55 个工具全部可用的 `full` 兼容模式。产物导出只有在设置\r\n`--artifact-export-dir` 后可用，并且只能写入该目录之下。\r\nHarness Skill 安装默认不覆盖现有文件；需要恢复打包版本时显式增加 `--force`。\r\n模型 Provider 自助配置支持 DeepSeek、OpenAI、Ollama 和任意\r\nOpenAI-compatible 服务；默认只预览，`--apply` 才原子写入，`--probe` 才联网。\r\n配置文件不会保存 API Key 值。完整变量表、手动配置和安全边界见\r\n[`模型 Provider 自助配置`](docs/MODEL_PROVIDER_CONFIGURATION.md)。\r\n第一版模型运行时支持非流式 Chat Completions、用量、取消、显式失败回退和白名单\r\n有界工具循环；普通 `model` 命令不公开工具。独立的 `model-diagnose` 可对严格\r\n`CircuitDesign` JSON 或安全 SPICE 网表启用四个只读 EDA 工具，不执行仿真或修改设计。\r\n详见 [`模型 Provider 运行时`](docs/MODEL_PROVIDER_RUNTIME.md) 与\r\n[`只读 EDA 模型诊断`](docs/READ_ONLY_EDA_DIAGNOSIS.md)。\r\n仓库维护者可用 `python tools/check_deepseek_harness_compat.py --json` 验证固定的\r\nHarness 本地契约；版本与上游检查细节见适配说明。\r\n需要把集成作为 Harness 插件安装时，可使用\r\n[`integrations/deepseek-harness`](integrations/deepseek-harness) 中的独立 bundle；\r\n`multisim-mcp-dsh-plugin@1.1.0` 已公开发布到 npm。固定版本安装命令为\r\n`dsh plugin --profile web add multisim-mcp-dsh-plugin@1.1.0`；维护者的发布后\r\nTrusted Publishing 与后续 OIDC 暂存流程见\r\n[`npm 发布手册`](docs/DEEPSEEK_HARNESS_NPM_RELEASE.md)。\r\n\r\n手工 MCP 客户端配置：\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"multisim\": {\r\n      \"command\": \"C:\\\\path\\\\to\\\\python32\\\\python.exe\",\r\n      \"args\": [\"-m\", \"multisim_mcp.server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n详细安装、工具、安全开关和测试说明见 [`mcp_server/README.md`](mcp_server/README.md)。\r\n元件覆盖和剩余边界见 [`docs/COMPONENT_COVERAGE.md`](docs/COMPONENT_COVERAGE.md)。\r\n从 alpha 升级请阅读 [`docs/MIGRATION_TO_1.0.md`](docs/MIGRATION_TO_1.0.md)；任务与\r\n实验恢复流程见 [`docs/RECOVERY.md`](docs/RECOVERY.md)。\r\n1.0 之后的纠错、优化、多 EDA 后端和可视化工作台计划见\r\n[`2.0 综合路线图`](docs/ROADMAP_TO_2.0.md)。阶段 A 已加入第一版传输无关\r\n[`EDA 核心与后端边界`](docs/EDA_CORE.md)和受限 SPICE 转换器；原理图生成与独立\r\nSPICE 仿真、同步/验证/持久任务完整实验均已通过应用服务执行，现有 MCP 工具签名与\r\njob 存储格式保持兼容；实验 staging、报告、原子发布和回滚已移入独立流水线。\r\n\r\n## 仓库结构\r\n\r\n- `mcp_server/`：MCP server、COM adapter、原理图构建器和测试。\r\n- `skills/multisim-workflow/`：面向 Agent 的实验工作流。\r\n- `docs/`：架构、实测流程和能力边界。\r\n- `analysis/`、`tools/`：互操作研究材料；发布前需要独立做来源和隐私审计。\r\n\r\n## 安全\r\n\r\n- 默认只允许 `op`、`dc`、`ac`、`tran` 实验命令。\r\n- 任意 Multisim 命令文件默认关闭，需要显式不安全环境开关。\r\n- MCP 启动过程不会自动安装 Python 或 npm 依赖。\r\n- 默认拒绝覆盖已有实验文件。\r\n- 仅适合可信本机 stdio 使用，不应直接暴露到网络。\r\n\r\n详见 [`SECURITY.md`](SECURITY.md)。\r\n\r\n## License\r\n\r\n项目自有代码采用 MIT License。NI Multisim、商标、格式以及本地安装样本仍受其各自\r\n权利和许可条款约束。本仓库不应提交 NI 二进制、许可证材料或未确认可再分发的样本。\r\n",
  "bytes": 10639,
  "sha": "071752aad4deca2f6cd37b2e0cecace7aa62c6b6ffea3d68531ce083dcf97fa5",
  "repo_slug": "yxy050208/multisim-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_yxy050208_multisim_mcp_d0eb2bbd/readme"
}