circuit-mcp-server
by jcmecham
Overview
This server allows Claude Code to analyze and interact with .cddx circuit diagram files, extracting component information, connections, and metadata, as well as routing wires and rendering diagrams.
Installation
python circuit_server.pySecurity Notes
The `render_circuit` tool uses `subprocess.run` to execute an external CLI tool and, by default (`open_image: true`), automatically opens the rendered image using the system's default viewer. This creates a significant security risk when processing untrusted `.cddx` files, as it can lead to arbitrary code execution if the external `circuit-diagram-cli` or the image viewer has vulnerabilities, or if a crafted filename could inject commands. The `setup.py` also downloads binaries and components from GitHub, relying on the integrity of those sources. The `zipfile.ZipFile.extractall` is used when unpacking `.cddx` files into a temporary directory, mitigating direct Zip Slip vulnerability but still processing untrusted archive contents. No hardcoded secrets or direct `eval` calls are found.
Similar Servers
ast-mcp-server
Provides an MCP (Model Context Protocol) server for code structure and semantic analysis using ASTs and ASGs, integrated with external AI clients like Claude Desktop.
claude-workspace
Provides a persistent Python execution environment and browser automation capabilities for Claude Code, enabling stateful computation and web interaction.
uml-mcp-server
Image and UML diagram generation via Google Gemini API, exposed as a Model Context Protocol (MCP) server.
kicad-mcp-server
Provides a Machine Communication Protocol (MCP) server for KiCad to allow interaction and control from external desktop applications like Claude Desktop.