Logisim-evolution MCP Server

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.

Category
访问服务器

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 cp at /usr/bin/cp on 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, and logisim_inspect_project.
  • Project and circuit management: logisim_create_project, logisim_copy_circuit, logisim_add_circuit, and logisim_set_main_circuit.
  • Edits: logisim_add_component, logisim_update_component, logisim_remove_component, logisim_add_wire, logisim_remove_wire, and logisim_apply_batch.
  • Automatic layout: logisim_layout_graph places 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, and logisim_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# or file# libraries, or filePath resources, 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选