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
- You choose what is visible. Only folders passed with
--projectare exposed. Tools take project ids, never file paths. - 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 withfalcad proposals approve … --yesor in the app. No tool can approve. - 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.
- 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.
- 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.