Logisim-evolution MCP Server
A local MCP server for working with Logisim-evolution .circ projects, providing structured project inspection, guarded edits, validation, circuit analysis, test execution, format conversion, and GUI launch.
README
Logisim-evolution MCP Server
A local Model Context Protocol (MCP) server for working with saved
Logisim-evolution .circ projects. It provides structured project inspection,
guarded edits, validation, circuit analysis, test execution, format conversion,
and GUI launch.
Requirements
- Node.js 22 or later
- Logisim-evolution 4.0.0 or a compatible release
- GNU coreutils
cpat/usr/bin/cpon Linux, used to preserve metadata during atomic file replacement
By default, the server uses the Logisim launcher at
/opt/logisim-evolution/bin/logisim-evolution and the current user's home
directory as its workspace. Configure different locations with the environment
variables below.
Install and build
npm install
npm run build
To install the bundled OpenCode skill, run the optional command below. It
overwrites or refreshes the configured skill copy at
${XDG_CONFIG_HOME:-~/.config}/opencode/skills/logisim-evolution/SKILL.md.
npm run install:skill
Set OPENCODE_CONFIG_DIR when OpenCode uses a different configuration root,
then restart OpenCode.
MCP configuration
Build the project before configuring the client. Replace the placeholder paths with locations on the machine running the server.
{
"mcp": {
"logisim": {
"type": "local",
"command": [
"node",
"/absolute/path/to/Logisim-Evolution-MCP-Server/dist/index.js"
],
"enabled": true,
"environment": {
"LOGISIM_EXECUTABLE": "/absolute/path/to/logisim-evolution",
"LOGISIM_WORKSPACE": "/absolute/path/to/logisim-workspace"
},
"timeout": 120000
}
}
}
Restart the MCP client after changing its configuration.
Environment variables
| Variable | Purpose |
|---|---|
LOGISIM_EXECUTABLE |
Path to the Logisim-evolution launcher. |
LOGISIM_WORKSPACE |
Root directory allowed for project and test-vector file operations. |
LOGISIM_VALIDATE_WRITES |
Set to false to skip post-edit Logisim CLI validation. It is enabled by default. |
OPENCODE_CONFIG_DIR |
Optional OpenCode configuration root for the skill installer. |
Capabilities
The server exposes these tool groups:
- Status and inspection:
logisim_get_status,logisim_describe_component,logisim_list_projects, andlogisim_inspect_project. - Project and circuit management:
logisim_create_project,logisim_copy_circuit,logisim_add_circuit, andlogisim_set_main_circuit. - Edits:
logisim_add_component,logisim_update_component,logisim_remove_component,logisim_add_wire,logisim_remove_wire, andlogisim_apply_batch. - Automatic layout:
logisim_layout_graphplaces and routes supported semantic graphs in an empty circuit and returns a geometry certificate. - Validation and execution:
logisim_validate_project,logisim_truth_table,logisim_test_vector,logisim_test_bench,logisim_convert_project, andlogisim_launch_gui.
Use logisim_describe_component before supplying unfamiliar component
attributes or semantic ports. logisim_apply_batch is intended for known
coordinates; logisim_layout_graph is intended for a new, empty circuit.
Supported automatic-layout components
The source-verified layout catalog includes Wiring Pin, Clock, and legacy
Splitter; Gates AND Gate, OR Gate, XOR Gate, NAND Gate, NOR Gate,
XNOR Gate, NOT Gate, and Buffer; Arithmetic Adder; Memory D Flip-Flop,
Register, and Counter; and I/O LED.
The Splitter layout is decode-only: it accepts appear="legacy", fanout 2--8,
incoming width 1--64, spacing 1--9, and an explicit non-none mapping for
each incoming bit. It does not support reverse-combine use or nonlegacy
appearances.
Safety model
- File operations are restricted to
LOGISIM_WORKSPACE; project paths must end in.circ. - Mutations use per-project locks, write to a private temporary directory,
validate the result by default, create a backup under
.logisim-mcp/backups/, and atomically replace the original only after validation succeeds. - The validation round trip checks that the circuit, component, and wire inventory survives Logisim normalization.
- Projects using external
jar#orfile#libraries, orfilePathresources, are rejected before Logisim runs. - GUI launches preflight the project and open a validated file descriptor to avoid a pathname replacement between validation and launch.
Development
npm run build
npm test
npm run smoke
npm test builds the TypeScript source and runs the compiled Node.js tests.
npm run smoke starts the built server, checks tool registration, and queries
server status and the Pin component description. It requires a usable Logisim
launcher and workspace configuration.
Limitations
- Edits apply to saved project files, not unsaved state in an already-open GUI window. Reopen a project after an external edit.
- Component names, library numbers, and XML attribute names must match Logisim's format. The component catalog covers only verified geometry.
- Automatic layout supports only the components listed above and only empty circuits. It is deterministic and bounded; it selects the best feasible candidate it evaluates, not a global optimum.
- Crossing-free routing is not possible for every graph. Non-planar graphs need an explicit crossover component or another supported design.
- Removing a component does not remove its connected wires.
- Project locks are not reaped automatically. After a crash, confirm the lock owner is no longer running before removing a reported lock file.
- Logisim 4.0.0 test-vector execution can report failures while exiting with status 0. The server parses the reported passed and failed counts.
- The server can launch Logisim but cannot control an already-running editor or simulator window.
License
This project is licensed under the MIT License.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。