Metadata-Version: 2.4
Name: kicad-mcp-pro
Version: 3.5.2
Summary: A Model Context Protocol server for KiCad EDA workflows.
Project-URL: Homepage, https://github.com/oaslananka/kicad-studio-kit/tree/main/packages/mcp-server
Project-URL: Documentation, https://oaslananka.github.io/kicad-studio-kit
Project-URL: Repository, https://github.com/oaslananka/kicad-studio-kit
Project-URL: Bug Tracker, https://github.com/oaslananka/kicad-studio-kit/issues
Project-URL: Changelog, https://github.com/oaslananka/kicad-studio-kit/blob/main/packages/mcp-server/CHANGELOG.md
Project-URL: Funding, https://github.com/sponsors/oaslananka
Author: Osman Aslan
License: MIT
License-File: LICENSE
Keywords: ai,eda,eda-automation,gerber-export,kicad,llm,mcp,pcb,pcb-design,schematic
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.13
Requires-Dist: anyio>=4.4.0
Requires-Dist: authlib>=1.7.1
Requires-Dist: idna>=3.15
Requires-Dist: kicad-python<0.8,>=0.6
Requires-Dist: kicad-sch-api<0.6,>=0.5.0
Requires-Dist: mcp[cli]<1.28,>=1.27.1
Requires-Dist: opentelemetry-exporter-otlp<2.0.0,>=1.42.1
Requires-Dist: opentelemetry-sdk<2.0.0,>=1.42.1
Requires-Dist: pydantic-settings>=2.3.0
Requires-Dist: pydantic>=2.7.0
Requires-Dist: rich>=13.7.0
Requires-Dist: starlette<2.0.0,>=1.0.1
Requires-Dist: structlog>=24.2.0
Requires-Dist: typer>=0.12.0
Requires-Dist: urllib3>=2.7.0
Provides-Extra: components
Requires-Dist: gql>=3.5.0; extra == 'components'
Requires-Dist: httpx>=0.27.0; extra == 'components'
Provides-Extra: dev
Requires-Dist: bandit>=1.7.9; extra == 'dev'
Requires-Dist: cairosvg<3.0.0,>=2.7.0; extra == 'dev'
Requires-Dist: hypothesis>=6.100.0; extra == 'dev'
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.2.9; extra == 'dev'
Requires-Dist: mkdocs-glightbox>=0.4.0; extra == 'dev'
Requires-Dist: mkdocs-material>=9.5.32; extra == 'dev'
Requires-Dist: mkdocs-minify-plugin>=0.8.0; extra == 'dev'
Requires-Dist: mkdocs-redirects>=1.2.1; extra == 'dev'
Requires-Dist: mkdocstrings[python]>=0.25.0; extra == 'dev'
Requires-Dist: mutmut>=3.0.0; extra == 'dev'
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pillow<13.0.0,>=12.2.0; extra == 'dev'
Requires-Dist: properdocs>=1.6.7; extra == 'dev'
Requires-Dist: pymdown-extensions>=10.21.3; extra == 'dev'
Requires-Dist: pyright>=1.1.390; extra == 'dev'
Requires-Dist: pytest-benchmark>=4.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.14.0; extra == 'dev'
Requires-Dist: pytest-testmon>=2.1.1; extra == 'dev'
Requires-Dist: pytest-xdist>=3.6.0; extra == 'dev'
Requires-Dist: pytest>=8.2.0; extra == 'dev'
Requires-Dist: radon>=6.0.1; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Requires-Dist: vulture>=2.11; extra == 'dev'
Requires-Dist: zizmor>=1.24.1; extra == 'dev'
Provides-Extra: freerouting
Requires-Dist: docker>=7.0.0; extra == 'freerouting'
Provides-Extra: http
Requires-Dist: httpx>=0.27.0; extra == 'http'
Requires-Dist: uvicorn[standard]>=0.30.0; extra == 'http'
Provides-Extra: simulation
Requires-Dist: numpy>=1.26.0; extra == 'simulation'
Provides-Extra: vcs
Requires-Dist: gitpython<4.0.0,>=3.1.49; extra == 'vcs'
Description-Content-Type: text/markdown

# KiCad MCP Pro

<!-- mcp-name: io.github.oaslananka/kicad-mcp-pro -->

Canonical repository: https://github.com/oaslananka/kicad-studio-kit/tree/main/packages/mcp-server

- PyPI: `kicad-mcp-pro`
- npm wrapper: `kicad-mcp-pro`
- MCP Registry name: `io.github.oaslananka/kicad-mcp-pro`
- Version: `3.5.2`

KiCad MCP Pro is a Model Context Protocol server for KiCad EDA workflows. It exposes tools, resources, and prompts for schematic, PCB, validation, DFM, and manufacturing export automation.

Telemetry and error reporting are disabled by default. Opt-in OpenTelemetry
configuration and privacy rules are documented in
[`docs/configuration.md`](docs/configuration.md#opentelemetry) and the monorepo
[`docs/telemetry.md`](../../docs/telemetry.md).

## Transports

KiCad MCP Pro supports `stdio` and Streamable HTTP. Streamable HTTP is served at
`/mcp` by default and can be moved with `KICAD_MCP_MOUNT_PATH`.

```bash
uvx kicad-mcp-pro@3.5.2 --transport streamable-http --host 127.0.0.1 --port 3334
```

Streamable HTTP clients must send:

- `Accept: application/json, text/event-stream`
- `Content-Type: application/json`
- `MCP-Protocol-Version: 2025-11-25` after initialization
- `MCP-Session-Id` on follow-up requests when `KICAD_MCP_STATEFUL_HTTP=1`

By default Streamable HTTP is stateless, so ChatGPT-style connectors can
initialize and call `tools/list` without a session-header injection proxy. Set
`KICAD_MCP_STATEFUL_HTTP=1` to require session IDs after `initialize`.

The deprecated HTTP+SSE fallback routes are disabled by default. Set
`KICAD_MCP_LEGACY_SSE=1` only for older clients that cannot use Streamable HTTP.

## Install

```bash
corepack pnpm run dev:doctor -- --ci
uvx kicad-mcp-pro@3.5.2 --help
npx kicad-mcp-pro@3.5.2 --help
```

For source checkouts, `corepack pnpm run dev:doctor` validates Node, pnpm,
Python, uv, MCP server CLI startup/version reporting, fixture corpus, protocol
schemas, common development ports, and optional Cloudflare tunnel tooling.

## Package Metadata

The canonical package metadata lives in `mcp.json` and `server.json`. Both files report the same repository, package, and version data for PyPI, npm, OCI, and MCP Registry publishing.
