circuitjs-mcp
circuitjs-mcp
这是一个 MCP 服务器,让 AI 代理能够操作 Falstad CircuitJS1 电路仿真器。由于它是标准的 stdio MCP 服务器,因此任何支持 MCP 的客户端(Claude Code、Codex CLI、Claude Desktop、Cursor 等)都可以使用。
CircuitJS1 是 Paul Falstad 的电路仿真器——早期以 Java Applet 版 “Circuit Simulator Applet” 广为人知,如今在 falstad.com/circuit 上以浏览器形式运行——的 HTML5/JavaScript 版名称。随着浏览器停止支持 Java Applet,Iain Sharp 使用 GWT 将其移植到 JavaScript,仿真引擎和电路文本格式都与 Applet 版相同(Applet 时代的电路文件可以直接读取)。本服务器使用的 JavaScript 接口是 CircuitJS1 中新增的功能,Applet 版没有。
在无头 Chromium (Playwright) 中启动编译好的 CircuitJS1 Web 应用(随附在 webapp/ 中,可离线运行),并将其 JavaScript 接口 公开为 MCP 工具。仿真器的状态会跨工具调用保留(可以交互式地完成:加载电路 → 运行 → 测量 → 改写电路)。
设置
前提条件:Node.js 18 或更高版本。
cd circuitjs-mcp
npm install # postinstall で Playwright の Chromium も入ります
npm test # スモークテスト(RC回路の過渡応答が理論値と一致するか等を検証)如果因环境原因难以执行 playwright install chromium,可以使用现有的 Chrome/Chromium:
export CIRCUITJS_CHROMIUM="/usr/bin/google-chrome" # 例Related MCP server: circuit-sim-mcp
注册到 MCP 客户端
启动命令在所有客户端中都相同:node /絶対パス/circuitjs-mcp/server.mjs
设置环境变量 CIRCUITJS_HEADFUL=1 后,会显示浏览器窗口,人类也可以像代理一样直接操作同一个仿真器(协作模式)。下面所有示例都带这个变量。不需要时请去掉。
Claude Code:
claude mcp add circuitjs -e CIRCUITJS_HEADFUL=1 -- node /絶対パス/circuitjs-mcp/server.mjsCodex CLI:
codex mcp add circuitjs --env CIRCUITJS_HEADFUL=1 -- node /絶対パス/circuitjs-mcp/server.mjs配置文件方式的客户端(Claude Desktop 的 claude_desktop_config.json、Cursor 的 mcp.json 等):
{
"mcpServers": {
"circuitjs": {
"command": "node",
"args": ["/絶対パス/circuitjs-mcp/server.mjs"],
"env": { "CIRCUITJS_HEADFUL": "1" }
}
}
}screenshot 工具会将 PNG 作为 MCP 图像内容返回。在不支持图像显示的客户端中,请使用 save_path 参数将其保存为文件。
工具列表
工具 | 功能 |
| 加载 Falstad 文本格式的电路(带验证)。返回元件列表 |
| 获取时间、所有元件的电压差/电流/端子电压,以及带标签节点的电压 |
| 运行指定仿真时间,采样并返回探针(节点电压、元件电流/电压/功率)的时间序列 |
| run / stop / reset / status、最大时间步长设置、外部电压源数值设置 |
| 将电路导出为 Falstad 文本或 SVG |
| 生成可将当前电路(或指定文本)在 falstad.com 直接打开的 URL( |
| 当前电路图的 PNG 截图(以图像形式返回,也可保存为文件) |
| 用于上述工具无法覆盖的操作的逃生舱。对 |
使用示例(给代理的指令示例)
“搭一个 1kΩ 和 1µF 的 RC 低通滤波器,输入 1kHz 方波,获取 5ms 的输出波形”
“读取这个电路(粘贴文本),列出每个电阻的功耗”
“给我看电路的截图”
在想要测量的位置放置 带标签的节点(元件类型 207,例:207 336 128 400 128 4 out),就可以通过 {"node":"out"} 探针或 circuit_state 的 nodes 读取电压。元件级别的电流和电压用 circuit_load / circuit_state 返回的 index 指定。
从脚本直接操作
如果想不经由 MCP 客户端而直接从脚本调用工具,可以使用 drive.mjs。它以子进程方式启动服务器,按顺序执行放在命令目录中的 JSON 文件(cmd-1.json、cmd-2.json、...),并将结果写入 res-N.json:
node drive.mjs /tmp/cjs-commands
# 別プロセスから: echo '{"tool":"circuit_state","args":{}}' > /tmp/cjs-commands/cmd-1.json文件请先以临时名称写入,再通过 rename 放置(避免读取到写入中的文件)。
环境变量
变量 | 说明 |
| 使用的 Chrome/Chromium 可执行文件路径(默认:Playwright 管理的 Chromium。失败时回退到系统 Chrome) |
| 代替内置 webapp 加载的 CircuitJS1 URL(例: |
| 设为 |
限制
run_transient的仿真速度取决于电路的$行中的仿真速度设置和 CPU。如果实际时间过长,会因wallTimeoutMs超时而中断,并返回部分数据(可通过reason字段判断)。电路的“编辑”基本方法是改写 Falstad 文本后重新执行
circuit_load(导入会重置时间)。仅支持瞬态分析(因为 CircuitJS1 本身没有 AC 小信号分析等功能)。频率特性可以通过扫频并重复执行
run_transient来获得。
许可证
本仓库整体以 GPL-2.0-or-later 协议提供(COPYING.txt)。
CircuitJS1 是 Paul Falstad / Iain Sharp 开发的 GPLv2+ 软件。
webapp/是其编译后的构建(未修改),对应的源代码可在 pfalstad/circuitjs1(原作)和 code4fukui/circuitjs1 的pages分支(本构建的获取来源)中获取。服务器代码(
server.mjs、drive.mjs、test-client.mjs)© 2026 Suzu(涼鈴),GPL-2.0-or-later。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Create and manage Mermaid.js flowcharts and diagrams with AI agents via MCP.
MCP tools for AI agents: render URLs to image/PDF, check link health, convert HTML/CSV/JSON.
Build, validate, and manage API simulations in WireMock Cloud from MCP-compatible AI agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceGenerates, simulates, and inspects LTspice circuits via MCP tools and resources, providing structured JSON interfaces for AI agents.MIT
- FlicenseNot gradedqualityFmaintenanceProvides circuit simulation capabilities via MCP, enabling creation, simulation (DC, AC, transient), and analysis of electronic circuits using PySpice.
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible agents to generate Qucs circuit schematics, run simulations, and parse results programmatically.MIT
- AlicenseAqualityBmaintenanceMCP server for Micro-Cap 12 SPICE simulator enabling LLM agents to run analog circuit simulations, including analyses, sweeps, and retrieval of curve data and plots.201MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Suzu-Gears/circuitjs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server