FFalCAD docs

Local MCP server

FalCAD includes a free, local Model Context Protocol server. Any MCP-capable client can use it to inspect projects, run checks and simulations, and propose edits. It never changes your design by itself.

falcad mcp --project ./my-board

Example client configuration:

{ "mcpServers": { "falcad": { "command": "falcad", "args": ["mcp", "--project", "/path/to/my-board"] } } }

Tools

Tool Effect
list_projects projects exposed with --project, with their documents
inspect_project documents, component and net counts, ERC status
get_netlist nets and pins, paginated (max 200 per page)
search_components library search
check_schematic / check_pcb run ERC / DRC locally
run_simulation run a simulation document with the bundled engine
propose_patch record a validated edit proposal; not applied
list_proposals proposals and their review status

Safety model

  1. You choose what is visible. Only folders passed with --project are exposed. Tools take project ids, never file paths.
  2. Read-only, except proposals. A proposal is validated against the current document and stored under <project>/.falcad/proposals/. It waits for a person, who reviews a field-by-field diff (falcad proposals show) and approves with falcad proposals approve … --yes or in the app. No tool can approve.
  3. No hardware, shell or network tools. Flashing and debugging real devices always require local, explicit approval of the exact firmware, and they are not exposed over MCP.
  4. Design content is data. Names, notes and values come back labelled as untrusted content. Text in a project or a datasheet can’t change what the server does. A test plants injection text in a design and verifies that nothing changes.
  5. Bounded responses. Large results are paginated server-side, and long simulations are refused over MCP.

Hosted AI features in FalCAD Cloud will be optional and metered. The local server and bring-your-own-model use are free.