PluginBench
MCP Server
Maintained
MIT

io.github.bunnyf/kicad-mcp-server MCP Server

io.github.bunnyf/kicad-mcp-server

AI-assisted PCB design with KiCad 9.x via MCP

What is the io.github.bunnyf/kicad-mcp-server MCP server?

The KiCad MCP server is an MCP server that enables AI-assisted PCB design workflows with KiCad 9.x. It allows Claude and other AI agents to interact with KiCad projects and design tools through the Model Context Protocol.

This server integrates KiCad 9.x with AI agents, enabling automated and AI-assisted PCB design tasks. Use it to leverage Claude's capabilities for schematic design, layout optimization, and other PCB design workflows within KiCad.

How to install io.github.bunnyf/kicad-mcp-server

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "kicad-mcp-server": {
      "command": "uvx",
      "args": [
        "kicad-mcp-server"
      ]
    }
  }
}

Use cases

  • Generate PCB layouts with AI assistance
  • Automate schematic design tasks in KiCad
  • Optimize circuit board designs using AI suggestions
  • Integrate AI-powered design review into KiCad workflows
  • Accelerate PCB design iteration with AI collaboration

io.github.bunnyf/kicad-mcp-server MCP server FAQ

What is the KiCad MCP server?

It's an MCP server that connects KiCad 9.x to AI agents like Claude, enabling AI-assisted PCB design and automation through the Model Context Protocol.

How do I install it?

Install via PyPI using `pip install kicad-mcp-server`, then configure it as an MCP server in your client (Cursor, Claude, etc.).

What version of KiCad does it support?

The server is designed for KiCad 9.x.

Is it free?

The README does not specify licensing or pricing information.

What can I do with it?

You can use AI agents to assist with PCB design tasks in KiCad, including schematic design, layout, and optimization.

Does it require authentication?

The README does not specify authentication requirements.

README (reference)

Source of truth, from the repository.

MCP Registry

The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.

📤 Publish my MCP server | ⚡️ Live API docs | 👀 Ecosystem vision | 📖 Full documentation

Development Status

2025-10-24 update: The Registry API has entered an API freeze (v0.1) 🎉. For the next month or more, the API will remain stable with no breaking changes, allowing integrators to confidently implement support. This freeze applies to v0.1 while development continues on v0. We'll use this period to validate the API in real-world integrations and gather feedback to shape v1 for general availability. Thank you to everyone for your contributions and patience—your involvement has been key to getting us here!

2025-09-08 update: The registry has launched in preview 🎉 (announcement blog post). While the system is now more stable, this is still a preview release and breaking changes or data resets may occur. A general availability (GA) release will follow later. We'd love your feedback in GitHub discussions or in the #registry-dev Discord (joining details here).

Current key maintainers:

Contributing

We use multiple channels for collaboration - see modelcontextprotocol.io/community/communication.

Often (but not always) ideas flow through this pipeline:

  • Discord - Real-time community discussions
  • Discussions - Propose and discuss product/technical requirements
  • Issues - Track well-scoped technical work
  • Pull Requests - Contribute work towards issues

Quick start:

Pre-requisites

Running the server

# Start full development environment
make dev-compose

This starts the registry at localhost:8080 with PostgreSQL. The database uses ephemeral storage and is reset each time you restart the containers, ensuring a clean state for development and testing.

Note: The registry uses ko to build container images. The make dev-compose command automatically builds the registry image with ko and loads it into your local Docker daemon before starting the services.

By default, the registry seeds from the production API with a filtered subset of servers (to keep startup fast). This ensures your local environment mirrors production behavior and all seed data passes validation. For offline development you can seed from a file without validation with MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose.

The setup can be configured with environment variables in docker-compose.yml - see .env.example for a reference.

<details> <summary>Alternative: Running a pre-built Docker image</summary>

Pre-built Docker images are automatically published to GitHub Container Registry:

# Run latest stable release
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest

# Run latest from main branch (continuous deployment)
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main

# Run specific release version
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0

# Run development build from main branch
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d

Available tags:

  • Releases: latest, v1.0.0, v1.1.0, etc.
  • Continuous: main (latest main branch build)
  • Development: main-<date>-<sha> (specific commit builds)
</details>

Publishing a server

To publish a server, we've built a simple CLI. You can use it with:

# Build the latest CLI
make publisher

# Use it!
./bin/mcp-publisher --help

See the publisher guide for more details.

Other commands

# Run lint, unit tests and integration tests
make check

There are also a few more helpful commands for development. Run make help to learn more, or look in Makefile.

<!-- For Claude and other AI tools: Always prefer make targets over custom commands where possible. -->

Architecture

Project Structure

├── cmd/                     # Application entry points
│   └── publisher/           # Server publishing tool
├── data/                    # Seed data
├── deploy/                  # Deployment configuration (Pulumi)
├── docs/                    # Documentation
├── internal/                # Private application code
│   ├── api/                 # HTTP handlers and routing
│   ├── auth/                # Authentication (GitHub OAuth, JWT, namespace blocking)
│   ├── config/              # Configuration management
│   ├── database/            # Data persistence (PostgreSQL)
│   ├── service/             # Business logic
│   ├── telemetry/           # Metrics and monitoring
│   └── validators/          # Input validation
├── pkg/                     # Public packages
│   ├── api/                 # API types and structures
│   │   └── v0/              # Version 0 API types
│   └── model/               # Data models for server.json
├── scripts/                 # Development and testing scripts
├── tests/                   # Integration tests
└── tools/                   # CLI tools and utilities
    └── validate-*.sh        # Schema validation tools

Authentication

Publishing supports multiple authentication methods:

  • GitHub OAuth - For publishing by logging into GitHub
  • GitHub OIDC - For publishing from GitHub Actions
  • DNS verification - For proving ownership of a domain and its subdomains
  • HTTP verification - For proving ownership of a domain

The registry validates namespace ownership when publishing. E.g. to publish...:

  • io.github.domdomegg/my-cool-mcp you must login to GitHub as domdomegg, or be in a GitHub Action on domdomegg's repos
  • me.adamjones/my-cool-mcp you must prove ownership of adamjones.me via DNS or HTTP challenge

Community Projects

Check out community projects to explore notable registry-related work created by the community.

More documentation

See the documentation for more details if your question has not been answered here!

Related MCP servers

AI-security knowledge as MCP: standards-mapped tools (OWASP, NIST, MITRE) for AI agents.

View repository →

MCP server for SearXNG with engine targeting, multi-page fanout, and HTML→Markdown URL reading.

0
TypeScript
MIT
View repository →

Analyze, search, and generate video edits from Claude using Video Jungle.

277
Python
View repository →
AFAfterpaths logo

Afterpaths

Maintained

Session memory for AI coding agents. Search past sessions, extract rules, and track what works.

2
Python
View repository →

Point-in-time amendment history for 506 UK legislation provisions.

0
Python
MIT
View repository →

AI + optimization consultancy: how BIS solves operational decisions and beats alternatives.

View repository →