> ## Documentation Index
> Fetch the complete documentation index at: https://docs.koppar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> The koppar CLI: install with one line, log in with a key, create a design, submit a SKiDL circuit, run the board and download Gerbers. JSON for agents.

`koppar` is one file. It talks to the same tools as the MCP server and prints JSON on stdout, with progress on stderr, so a person and an agent can both use it.

## Install

Needs Node.js 20 or newer.

```sh theme={null}
curl -fsSL https://app.koppar.ai/install.sh | sh
```

It puts `~/.koppar/bin/koppar` in place and tells you if that folder needs adding to your PATH. Run the same line again to update. Every deploy ships the CLI; there is no npm package.

## Log in

```sh theme={null}
koppar login                   # paste the key from Settings → Design from your own AI agent
```

`KOPPAR_API_KEY` and `KOPPAR_URL` override the saved login in `~/.config/koppar/config.json`.

## A design, end to end

```sh theme={null}
koppar new "USB-C powered ESP32-C3 board with a BME280 over I2C"
koppar guide research          # the instructions for each stage your agent does
koppar submit <design> circuit.py
koppar board <design> --plan plan.json --wait
koppar fab <design>
koppar download <design> gerbers.zip
```

`koppar help` lists every command.

## Your own KiCad project

```sh theme={null}
koppar import ./my-board --title "Rev B"   # zips the project folder, returns the design id
koppar upload-board <design> board.kicad_pcb --note "routed by hand"   # your board onto a design the pipeline built
koppar board-info <design>
koppar autoplace <design>                   # or: koppar place <design> placements.json
koppar rules <design> --preset jlcpcb --layers 4
koppar rules <design> --layers 1            # single-sided: one copper face, no vias (hand etching)
koppar finish <design> --router ml          # route, then repair what stays open
koppar drc <design>
koppar render <design> --drc -o board.png
koppar step <design> -o board.step
koppar revisions <design>                   # every operation is a revision; koppar restore <design> <revision>
```

`koppar help` lists the rest of the board commands: `outline`, `keepouts`, `zones`, `ripup`, `repair`, `polish`, `widen`, `tie`, `couple`, `diagnose`, `census`, `score`, `fill`, `cleanup`, `swap`, `add-files`. See [the MCP tools](/agents/mcp#your-own-board) for what each one does.

## Any tool, directly

```sh theme={null}
koppar tools                   # every tool with its JSON Schema
koppar call get_bom '{"design_id":"…"}'
```

## As a local MCP server

For a client that only runs local servers:

```sh theme={null}
koppar mcp
```

`koppar mcp-config` prints the client configuration for both the local and the remote setup.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.