Content
# reflow-mcp
A typed Model Context Protocol server that exposes KiCad 10 EDA workflows to language-model clients through validated tool calls.
[](https://pypi.org/project/reflow-mcp/)
[](https://www.npmjs.com/package/@oaslananka/reflow-mcp)
[](https://github.com/oaslananka/reflow-mcp/actions/workflows/ci.yml)
[](https://oaslananka.github.io/reflow-mcp/)
[](LICENSE)
[](pyproject.toml)
## Install
```bash
uvx reflow-mcp@1.0.0 --help
pip install reflow-mcp
npm install -g @oaslananka/reflow-mcp
docker run --rm ghcr.io/oaslananka/reflow-mcp:1.0.0 --help
```
## Quickstart
```json
{
"mcpServers": {
"reflow": {
"command": "uvx",
"args": ["reflow-mcp@1.0.0", "serve"]
}
}
}
```
Client examples live under `examples/clients/` and `docs/integration/`.
## Capabilities
- Project lifecycle, snapshots, variants, and metadata.
- PCB read, write, analysis, zone, and design-rule tools.
- Schematic read/write/edit tools through the schematic API layer.
- DRC, ERC, DFM, EMC, signal integrity, and power integrity gates.
- Manufacturing and export pipelines for standard fabrication artifacts.
- Simulation, routing, library, catalog, and component helper tools.
## Configuration
| Variable | Default | Description |
| --- | --- | --- |
| `REFLOW_MCP_KICAD_CLI` | auto-detect | Optional `kicad-cli` path. |
| `REFLOW_MCP_PROJECT_ROOT_ALLOWLIST` | current directory | Filesystem roots tools may access. |
| `REFLOW_MCP_REQUIRE_KICAD` | `true` | Refuse server startup when KiCad is unavailable. |
| `REFLOW_MCP_MINIMUM_KICAD_VERSION` | `10.0.0` | Minimum accepted KiCad version. |
| `REFLOW_MCP_OTEL_ENABLED` | `false` | Enable OpenTelemetry export. |
| `REFLOW_MCP_OTEL_ENDPOINT` | unset | OTLP endpoint when telemetry is enabled. |
## Security Model
All path arguments are resolved through the allowlist before use. Symlinks are followed and the resolved target must remain below an allowed root. See `docs/security/` for the threat model and disclosure process.
## Compatibility
- Python `>=3.13,<3.15`.
- KiCad 10.x for full EDA execution.
- Windows, macOS, and Linux hosted runners in CI.
## Versioning
The first publishable version of this reset repository is `1.0.0`. Release Please manages future versions from conventional commits.
## License
MIT.