What CircuitAgent MCP server does
CircuitAgent MCP server provides an MCP interface for constrained hardware design. An agent can describe a circuit in natural language, receive a deterministic component and connection specification, inspect supported circuit blocks, and validate the result against the project’s JSON Schema. The design model is built from predefined subcircuits rather than asking the language model to create arbitrary pads, tracks, or footprints.
The repository also includes a Python client layer for direct use outside MCP. It can synthesize a specification from a prompt, query LCSC inventory and pricing, and instantiate individual circuit blocks. The project describes its status as alpha and identifies this repository as the community layer for the hardware DSL, LCSC client, and data contracts.
How it works
CircuitAgent MCP server uses a standard JSON-RPC 2.0 MCP process over stdio. Start it with python -m client.mcp_server; an MCP client launches the process and communicates through its standard input and output. The service exposes 50 tools, eight circuit:// resources, and four project prompts according to the README.
Natural-language requirements are mapped to audited blocks and then represented as a deterministic netlist contract. Explicitly requested concepts that the DSL cannot create are returned in unmatched; optional blocks that were not mentioned are reported separately in not_requested. This distinction lets an agent identify unsupported requirements without treating omitted optional features as failures.
Available operations include LCSC searches, block and chip discovery, custom MCU registration, netlist validation, ERC checks, power-tree analysis, trace impedance and current calculations, IPC clearance calculations, BOM costing, and parametric circuit calculations. Export tools cover KiCad netlists and schematics, manufacturing BOM CSV output, and Specctra DSN files. The listed audit capability covers DFM, DFA, DFT, and DFC review with categorized findings and a Markdown report.
Setup and configuration
Install the package from PyPI with:
pip install circuit-agent-client
Alternatively, clone the repository and run it from the checkout. The MCP process itself uses only the Python standard library. Development dependencies are needed for the test suite and can be installed with pip install -e ".[dev]". Python 3.10 or newer is required.
For Claude Desktop, add an MCP entry whose command is python, whose argument is -m client.mcp_server, and whose working directory points to the repository. The README also names Cursor and Windsurf as supported MCP clients.
Tools and capabilities
CircuitAgent MCP server is suited to workflows that need both design generation and pre-delivery checks. Its documented block catalogue includes power input and regulation, clocks, buttons, indicators, buses, sensors, protection, communications, test points, watchdogs, motor control, isolated I/O, and related circuits. Blocks include component references, packages, LCSC identifiers, and declared connections.
The LCSC client performs keyless searches for stock, package information, pricing, and part classification. It uses retries, a timeout, defensive parsing, and a 24-hour disk cache; when the network is unavailable, cached results are used if present.
Limitations and notes
The project is explicitly marked alpha, and the DSL does not cover every requested circuit type. Unsupported requested concepts are surfaced through unmatched, but they are not automatically implemented. The README states that deterministic synthesis is tested and that block checks enforce unique references, package and part data, valid network endpoints, and ground connections. Generated outputs should therefore still be reviewed in the target EDA and manufacturing workflow before use.