Skip to main content
Glama
tureruygar-glitch

kicad10-mcp

kicad10-mcp

Bir MCP sunucusu — KiCad 10 üzerinde tam kontrol sağlar. KiCad'in IPC API'sini (kicad-python / kipy) ve kicad-cli'yi sararak PCB editörü, şematik editörü, proje ayarları, ağlar (nets), katmanlar, tasarım verisi, üretim çıktıları ve ham bir betik çalıştırma kapısını MCP araçları olarak sunar.

82 araç, 9 modülde gruplanmıştır. İngilizce araç adları ve açıklamaları modelin doğru aracı bulması için tutulmuştur.

Gereksinimler

  • KiCad 10 kurulu (bu makinede: C:\Program Files\KiCad\10.0, kicad-cli 10.0.3)

  • Python paketleri (zaten kurulu): kicad-python>=0.7.1, mcp>=1.10

  • KiCad açık ve API sunucusu etkin: Preferences > Plugins > "Enable the KiCad API server"

  • Çoğu araç o anda AÇIK olan kart (.kicad_pcb) veya şema (.kicad_sch) üzerinde çalışır — önce ilgili dökümanı açın.

Related MCP server: KiCad MCP Server

Çalıştırma

python -m kicad10_mcp        # veya: python run_server.py

Sunucu stdio üzerinden konuşur. Bu proje, Claude Code'un global MCP yapılandırmasında kicad adıyla zaten kayıtlıdır (~/.claude.json), şu komutu kullanır:

C:\Users\UYGAR\AppData\Local\Python\pythoncore-3.14-64\python.exe  run_server.py

Eski sınırlı sunucu (C:\Users\UYGAR\kicad-mcp\.venv\Scripts\kicad-mcp.exe) bu kayıtla değiştirilmiştir. Geri dönmek isterseniz ~/.claude.json içindeki mcpServers.kicad.command/args alanlarını eski değerine çevirin.

Birimler / kurallar

  • Tüm konum, boyut ve genişlikler milimetre; açılar derece.

  • Katman adları: F.Cu, B.Cu, In1.Cu, Edge.Cuts, F.SilkS, F.Mask, F.Paste, F.Fab … Geçerli set için list_board_layers.

  • Kart düzenlemeleri tek bir geri-al (undo) adımına gruplanır. Diske yazmak için save_board. Export araçları aksi belirtilmedikçe önce kaydeder.

Araç grupları

Sistem / bağlantıkicad_status, get_version, ping, list_open_documents, save_board, save_board_as, revert_board, run_action, get_kicad_binary_path

PCB okumaget_board_summary, list_footprints, get_footprint, list_pads, list_tracks, list_vias, list_zones, list_shapes, get_board_outline, list_text, list_dimensions, list_groups, get_bounding_box

PCB düzenlememove_footprint, rotate_footprint, set_footprint_locked, set_footprint_value, batch_move_footprints, set_items_locked, delete_items, select_items, clear_selection, get_selection

Oluşturma (routing/grafik)add_track, add_arc_track, add_via, add_zone, add_zone_rect, refill_zones, add_line, add_rectangle, add_circle, add_arc, add_polygon, add_board_outline_rect, add_text

Ağlar / katmanlarlist_nets, list_netclasses, get_items_by_net, get_connected_items, list_board_layers, set_active_layer, set_visible_layers, set_copper_layer_count, get_stackup, get_design_rules

Projeget_project_info, get_text_variables, set_text_variable, expand_text, get_title_block, set_title_block

Şemaget_schematic_summary, list_symbols, list_labels, list_schematic_text, get_schematic_hierarchy, add_schematic_text, add_local_label, save_schematic (Not: sembol/hiyerarşi okuma KiCad 11 özelliğidir; KiCad 10'da bu araçlar açıklayıcı bir hata döndürebilir — bu durumda execute_kipy kullanın.)

Üretim çıktıları (kicad-cli)run_kicad_cli, export_gerbers, export_drill, export_step, export_pdf, export_svg, export_pos, render_3d, run_drc, export_bom, export_netlist, run_erc

Tam kontrol kapısıexecute_kipy: canlı KiCad'e karşı rastgele Python çalıştırır. kicad, board, schematic, kipy, commit, Vector2, Angle, BoardLayer, KiCadObjectType adları önceden bağlıdır. result değişkenine atadığınız şey geri döner; print çıktısı da yakalanır.

# execute_kipy örnek
from kipy.board_types import Track
t = Track()
t.start = Vector2.from_xy_mm(10, 10)
t.end   = Vector2.from_xy_mm(20, 10)
t.width = 250000          # 0.25 mm (nanometre)
t.layer = BoardLayer.BL_F_Cu
with commit(board, "api track"):
    created = board.create_items(t)
result = [c.id.value for c in created]

Ortam değişkenleri

  • KICAD_API_TIMEOUT_MS — IPC istek zaman aşımı (varsayılan 10000)

  • KICAD_API_SOCKET / KICAD_API_TOKEN — KiCad otomatik ayarlar; genelde gerekmez

Proje yapısı

kicad10_mcp/
  server.py          FastMCP uygulaması, tüm modülleri kaydeder
  connection.py      Önbellekli KiCad istemcisi + commit context manager
  helpers.py         mm<->nm, katman ad<->enum, serileştiriciler
  system_tools.py    sistem / döküman yaşam döngüsü
  read_tools.py      PCB okuma
  edit_tools.py      PCB düzenleme
  create_tools.py    routing + grafik + metin oluşturma
  net_layer_tools.py ağlar, ağ sınıfları, katmanlar, stackup, tasarım kuralları
  project_tools.py   metin değişkenleri, başlık bloğu
  schematic_tools.py şema okuma/yazma
  export_tools.py    kicad-cli sarmalayıcıları
  exec_tools.py      execute_kipy
run_server.py        başlatıcı
pyproject.toml

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for creating, modifying, and analyzing KiCAD schematic files using natural language.
    20
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables AI assistants to analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code for KiCad projects.
    39
    129
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that gives AI agents end-to-end control of KiCad 9+ for rule checks, manufacturing exports, production-readiness certification, and live PCB editor control.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server for controlling KiCad EDA software, enabling schematics, PCB design, manufacturing outputs, design checks, and library management through any MCP-compatible AI assistant.
    MIT