Skip to main content
Glama
README.md
# reflow-mcp

A typed Model Context Protocol server that exposes KiCad 10 EDA workflows to language-model clients through validated tool calls.

[![PyPI](https://img.shields.io/pypi/v/reflow-mcp.svg)](https://pypi.org/project/reflow-mcp/)
[![npm](https://img.shields.io/npm/v/@oaslananka/reflow-mcp.svg)](https://www.npmjs.com/package/@oaslananka/reflow-mcp)
[![CI](https://github.com/oaslananka/reflow-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/oaslananka/reflow-mcp/actions/workflows/ci.yml)
[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://oaslananka.github.io/reflow-mcp/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.13%20%7C%203.14-blue)](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.