Coppermind
FreeNot checkedEnables AI assistants to design PCBs in KiCAD through natural language, with transactional preview-verify-commit workflow, undo/redo, and an engineering knowled
About
Enables AI assistants to design PCBs in KiCAD through natural language, with transactional preview-verify-commit workflow, undo/redo, and an engineering knowledge base.
README
🔶 Coppermind
Copiloto de engenharia eletrônica para KiCad — MCP semântico, transacional e verificado
CI License: MIT Python 3.11+ KiCad 10/11 MCP
🇧🇷 Português · 🇺🇸 English
Descreva o circuito, não as coordenadas. O Coppermind resolve símbolos reais, cria o Circuit IR, compõe o esquemático, roda ERC, revisa a organização visual e só confirma mudanças depois dos gates de segurança.
O Coppermind é um servidor MCP em Python para trabalhar com projetos eletrônicos
no KiCad. O caminho principal de esquemático é semântico: o agente opera com
Component / Pin / Net / Constraint, enquanto o Coppermind transforma essa intenção
em .kicad_sch real, usando símbolos das bibliotecas instaladas do KiCad.
Ele pode ser executado com dois transports MCP:
- stdio — cliente local inicia o Coppermind como subprocesso;
- Streamable HTTP — endpoint local em
/mcp, adequado para um túnel/gateway MCP confiável quando o cliente está fora da máquina.
O HTTP é loopback-only por projeto. O Coppermind não deve ser publicado diretamente na Internet: ele ainda mantém uma sessão de design por processo e não implementa autenticação multiusuário.
Estado atual
O fluxo de esquemático implementa as cinco fases da arquitetura semântica:
| Fase | Entrega |
|---|---|
| 1 — Circuit IR + símbolos reais | Component, Pin, Net, Constraint; resolução de .kicad_sym/.kicad_symdir; sem fallback genérico de dois pinos. |
| 2 — Tools semânticas | find_symbol, component_add, create_net, connect_pins, inspect_component; o LLM não desenha wires por coordenadas. |
| 3 — Semantic Composer | Circuit IR → placement → net graph → wires/labels/junctions → .kicad_sch → ERC real via kicad-cli. |
| 4 — Visual Reviewer | score visual, SVG/PDF real do KiCad, reflow determinístico e reviewer multimodal opcional. |
| 5 — Visual Auto-Fix | Layout Action IR tipado, copy-on-write, safety gates, ERC antes/depois e rollback quando o candidato piora. |
O resultado é um ciclo como este:
ChatGPT / Claude / outro cliente MCP
│
stdio ou Streamable HTTP
│
▼
Coppermind
│
▼
Circuit IR
│
▼
Semantic Composer
│
▼
.kicad_sch real
│
┌───────┴────────┐
▼ ▼
KiCad ERC SVG / PDF
│ │
└───────┬────────┘
▼
Visual Reviewer
│
Layout Action IR
│
accept / rollback
Instalação
Requisitos
- Python 3.11+;
- KiCad 10+ para uso real;
kicad-clidisponível noPATHpara ERC/render headless;- para IPC ao vivo: extra Python
kicad-pythone API IPC habilitada no KiCad.
O projeto permanece na linha MCP Python SDK 1.x enquanto usa a API FastMCP:
mcp>=1.30,<2. Isso evita uma migração implícita para a API v2.
Linux/macOS
git clone https://github.com/charlesmmorais/coppermind.git
cd coppermind
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e ".[ipc]"
Windows / PowerShell
git clone https://github.com/charlesmmorais/coppermind.git
cd coppermind
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -e ".[ipc]"
Para desenvolvimento:
pip install -e ".[dev,ipc]"
pytest
No KiCad, habilite a API IPC quando quiser operar uma instância aberta:
Preferences → Plugins → Enable IPC API Server
Executando o servidor MCP
Opção A — stdio
É o padrão e o melhor caminho para clientes MCP locais:
coppermind
ou explicitamente:
coppermind --transport stdio
Opção B — Streamable HTTP
coppermind \
--transport streamable-http \
--host 127.0.0.1 \
--port 8765 \
--path /mcp
Endpoint:
http://127.0.0.1:8765/mcp
Também pode ser configurado por variáveis de ambiente:
COPPERMIND_TRANSPORT=streamable-http
COPPERMIND_HTTP_HOST=127.0.0.1
COPPERMIND_HTTP_PORT=8765
COPPERMIND_HTTP_PATH=/mcp
COPPERMIND_BACKEND=auto
coppermind
No PowerShell:
$env:COPPERMIND_TRANSPORT="streamable-http"
$env:COPPERMIND_HTTP_HOST="127.0.0.1"
$env:COPPERMIND_HTTP_PORT="8765"
$env:COPPERMIND_HTTP_PATH="/mcp"
$env:COPPERMIND_BACKEND="auto"
coppermind
Segurança: o processo recusa bind em
0.0.0.0, IP de LAN ou hostname não loopback. Para ChatGPT ou outro cliente remoto, mantenha o Coppermind em127.0.0.1e coloque um túnel/gateway MCP autenticado na frente. Veja docs/TRANSPORTES.md.
Conectando clientes MCP
Claude Desktop / clientes locais
Exemplo claude_desktop_config.json:
{
"mcpServers": {
"coppermind": {
"command": "coppermind",
"args": ["--transport", "stdio"],
"env": {
"COPPERMIND_BACKEND": "auto",
"LOG_LEVEL": "INFO"
}
}
}
}
Se coppermind não estiver no PATH, use o caminho absoluto do executável da
virtualenv.
ChatGPT / cliente MCP remoto
O Coppermind agora fornece Streamable HTTP, mas 127.0.0.1 só existe na sua máquina.
Para um cliente em nuvem:
ChatGPT
│
│ MCP Streamable HTTP
▼
túnel/gateway MCP autenticado
│
▼
127.0.0.1:8765/mcp
│
▼
Coppermind → KiCad
O cliente/workspace precisa aceitar servidores MCP personalizados e tools de escrita para poder criar/modificar o esquemático. O transporte HTTP, sozinho, não concede essas permissões.
Seleção do backend KiCad
COPPERMIND_BACKEND=auto # IPC se estiver acessível; senão MemoryBackend
COPPERMIND_BACKEND=ipc # exige uma sessão KiCad IPC acessível
COPPERMIND_BACKEND=memory # desenvolvimento/offline
| Backend | Uso principal |
|---|---|
MemoryBackend |
domínio/testes e trabalho offline |
IPCBackend |
interação com uma instância KiCad via kicad-python/kipy |
BatchBackend |
DRC/render/export headless com kicad-cli |
No KiCad 10, o caminho de esquemático é deliberadamente híbrido: o Circuit IR e o
composer geram o arquivo .kicad_sch; kicad-cli executa ERC e renderizações reais.
A evolução do IPC de esquemático no KiCad 11 poderá substituir partes dessa camada
sem mudar as tools semânticas.
Fluxo recomendado do agente
As 9 tools de núcleo são orientadas à intenção elétrica:
project_create
find_symbol
component_add
create_net
connect_pins
inspect_component
design_preview
design_commit
design_rollback
Há ainda 5 tools de descoberta progressiva para acessar a cauda longa sem poluir o contexto do modelo:
list_tool_categories
get_category_tools
search_tools
get_tool_schema
execute_tool
Exemplo de autoria semântica:
find_symbol("resistor")
component_add(reference="R1", symbol="Device:R", value="10k")
component_add(reference="C1", symbol="Device:C", value="100nF")
create_net(name="SENSE")
connect_pins(net="SENSE", pins=["R1.2", "C1.1"])
design_preview()
design_commit()
As primitivas cruas de esquemático como symbol_add e wire_add ficam internas e
não são oferecidas ao agente. As operações PCB por coordenadas permanecem como
compatibilidade roteada, não como caminho principal.
Composer, ERC e revisão visual
design_preview e design_commit executam automaticamente o pipeline seguro de
esquemático:
Circuit IR
→ compose
→ visual review/reflow
→ serialização .kicad_sch
→ KiCad ERC
→ gate
Tools adicionais são descobertas sob demanda:
schematic_compose
schematic_erc
schematic_export_composed
schematic_visual_review
schematic_visual_optimize
schematic_visual_plan
schematic_visual_apply
schematic_visual_autofix
O auto-fix visual não altera a intenção elétrica. Só executa ações geométricas
tipadas e limitadas (move_near, align, compact_block etc.) sobre uma cópia do
esquemático. Se o score piorar, surgir nova violação ERC ou o Circuit IR mudar, o
candidato é descartado.
Documentação detalhada:
Reviewer multimodal opcional
A revisão determinística funciona sem serviço externo. Para acrescentar um crítico multimodal, configure um provider compatível:
COPPERMIND_VISUAL_PROVIDER=openai
OPENAI_API_KEY=...
COPPERMIND_VISUAL_MODEL=<modelo-multimodal>
Quando habilitado, o PDF real exportado pelo KiCad e um contexto limitado do Circuit IR são enviados ao provider. Não habilite essa opção para designs sensíveis sem avaliar a política de dados aplicável.
PCB, autorroteamento e integrações
O núcleo histórico de PCB continua disponível: modelo transacional, DRC, undo/redo,
variantes, fornecedores, datasheets, exportação .kicad_pcb e Freerouting.
Para autorroteamento:
Fluxo resumido:
KiCad → Specctra DSN → Freerouting → SES → Coppermind
↓
preview / DRC
↓
commit / rollback
Garantias de segurança da arquitetura
O Coppermind foi desenhado para impedir que o LLM vire um executor irrestrito:
- não executa Python arbitrário gerado pelo modelo;
- símbolos são resolvidos em bibliotecas reais do KiCad;
- símbolo inexistente falha explicitamente;
- Circuit IR é a fonte de verdade elétrica;
- alterações passam por preview/commit/rollback;
- ERC/DRC entram no gate;
- visual auto-fix opera copy-on-write e só em geometria;
- paths de arquivos usados por tools são validados;
- Streamable HTTP fica restrito a loopback;
- provider multimodal é opcional e possui fronteira de dados documentada.
Testes e CI
O workflow de CI executa:
- Python 3.11 e 3.12;
- Ruff;
- pytest + cobertura;
- mypy;
- job de integração bloqueante com KiCad 10 real;
- serialização de esquemático, ERC, SVG/PDF e Visual Auto-Fix contra KiCad.
O objetivo é que afirmações críticas da arquitetura sejam verificadas pelo CI, não apenas descritas no README.
Limitações atuais
- Streamable HTTP é single-user por processo; não é um servidor multi-tenant.
- Não há autenticação embutida no endpoint HTTP; use túnel/gateway confiável.
- A criação de esquemático no KiCad 10 usa arquivo
.kicad_sch+kicad-cli; live schematic IPC será adotado quando a API adequada estiver estável. - O Visual Reviewer multimodal é probabilístico e opcional; os gates determinísticos continuam sendo a autoridade de segurança.
- O caminho de PCB ainda possui mais operações legadas baseadas em geometria do que o caminho de esquemático semântico.
- Revisão de engenharia continua necessária antes da fabricação de hardware.
Documentação
Veja o índice em docs/README.md:
- docs/ARQUITETURA.md — arquitetura atual e decisões;
- docs/TRANSPORTES.md — stdio, Streamable HTTP e túnel;
- docs/TRANSPORTS.md — transport guide in English;
- docs/MULTIMODAL_VISUAL_REVIEW.md;
- docs/VISUAL_AUTOFIX.md;
- docs/AUTORROTEAMENTO.md.
Contribuindo
Antes de abrir um PR:
pip install -e ".[dev,ipc]"
ruff check src tests
pytest
mypy src
Mantenha as invariantes centrais: intenção elétrica no Circuit IR, geometria derivada, progressive discovery, mudanças reversíveis e nenhuma execução arbitrária de código produzido por modelo.
Licença
MIT. Consulte LICENSE.
O Coppermind é uma ferramenta de assistência. ERC/DRC, regras e IA reduzem risco, mas não substituem validação elétrica, térmica, mecânica, regulatória e de segurança antes da fabricação.
Installing Coppermind
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/charlesmmorais/coppermindFAQ
Is Coppermind MCP free?
Yes, Coppermind MCP is free — one-click install via Unyly at no cost.
Does Coppermind need an API key?
No, Coppermind runs without API keys or environment variables.
Is Coppermind hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Coppermind in Claude Desktop, Claude Code or Cursor?
Open Coppermind on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterFigma
Extract design specs and assets
by Figmadannote/figma-use
Figma control: create shapes, text and components, and set styles, auto-layout, variables and exports.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951Design Inspiration Server
Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re
by YonasValentinPIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123mcp-dockmaster
An Open-Sourced UI to install and manage MCP servers for Windows, Linux and macOS.
ariekogan/ateam-mcp
Build, validate and deploy multi-agent AI solutions on the ADAS platform: design skills with tools and manage the solution lifecycle.
by ariekoganthinkchainai/mcpbundles
Create custom tool bundles, connect providers with OAuth or API keys, and use one MCP server across many integrations, with a UI for bundles and credentials.
by thinkchainaijau123/MeiGen-AI-Design-MCP
Image generation and editing with a curated prompt library, prompt enhancement and routing across local ComfyUI, MeiGen Cloud and OpenAI-compatible APIs.
by jau123Compare Coppermind with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
