mcpField
K
KiCad Schematics

KiCad Schematics

ローカル
github.com/unmateria科学・教育311 週間前に更新

KiCad Schematics について

KiCad Schematicsは、ClaudeなどのMCPクライアントから自然言語でKiCadの回路図を生成するMCPサーバーです。編集可能な`.kicad_sch`ファイルをコンパイルし、接続とKiCad ERCを検証してから出力します。

主な機能

  1. 01宣言的な回路図設計のコンパイル
  2. 02部品配置とネット接続
  3. 03シンボルの検索とインポート
  4. 04接続検証とERCの実行
  5. 05プレビューやPDFの出力

活用シーン

  1. 01文章による回路図の作成
  2. 02電気ルールの確認と違反の調査
  3. 03KiCadにない部品シンボルの導入
  4. 04設計修正後の回路図再コンパイル

MCP 対応

回路図コンパイル、部品管理、ファイル検査、エクスポート用の33個のツールをMCPクライアントに公開します。生成ファイルはKiCadで開いて編集できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbmcp-kicad.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP-KiCad

Claude と会話して電子回路図を設計できます。 これは、言語モデルが実際の KiCad 回路図を描けるようにする MCP サーバーです。部品の配置、ネットの配線、電源シンボルの追加、KiCad 独自の電気ルールチェックの実行を行い、開いて編集し、製造に利用できる .kicad_sch ファイルを作成します。

スペイン語で読む

MCP-KiCad が生成した LM2596 降圧コンバーターの回路図

LM2596 降圧コンバーターです。誰かが手作業で描いたものではありません。テキストによる説明からコンパイルされ、ERC に合格しています。


実際にできること

平易な言葉で回路を依頼します。Claude がその回路の短い宣言型の説明を書き、compile_schematic という 1 つのツールを呼び出して、その説明を完成した回路図ファイルに変換します。

あなた: 5 V 電源で約 1 Hz で動作する 555 の非安定マルチバイブレーターを作ってください。

Claude: [NE555 の実際のピン名を調べ、設計を書き、コンパイルします] 完了しました — 7 個のコンポーネントがあり、ERC に問題はありません。プレビューはこちらです。

生成されたファイルは、他の回路図と同じように KiCad で開けます。単なる画像ではなく、実際のネットリストを含むファイルで、PCB レイアウトにすぐ利用できます。

出力を実用可能にする仕組み

何かを生成するのは簡単ですが、人が受け入れられる回路図を生成するのは簡単ではありません。コンパイルされた回路図はすべて、表示される前にチェックされます。コンパイラーは、次の条件を満たさないものは出力しません。

保証適用方法
別のネットの配線と交差しない幾何学的なゲートがすべての線分を再チェックします。問題のある配線はネットラベルに置き換えられます
コンポーネントの本体を配線が通らない同じゲートで、各シンボルの実際の輪郭を基準にチェックします
宣言された接続がすべて存在する完成したファイルを再読み込みし、ネットリストを依頼内容と照合します
意図しない余分な接続がない同じチェックを逆方向にも行います — 接続すべきでないピンに触れる配線はエラーになります
電源シンボルが実際にピンに接触しているネット名ではなく、物理的な接触によって確認します
配線が交わる場所には必ずジャンクションがあるKiCad に付属する 115 個の回路図を調べてルールを確認しました。3 本以上の配線端が交わる場所、およびピン上で 2 本が交わる場所にはドットを付けます
KiCad が問題ないと判定するkicad-cli が出力に対して ERC を実行し、レポートも一緒に返します

接続をきれいに配線できない場合は、誤った配線を出力するのではなく、ネットラベルに置き換えます。回路図が気付かないうちに間違った状態になることはありません。

ネットがそれ自体と交差する場合は、これらのケースには当たりません。どちらにしても同じネットなので、交差箇所で配線を分割し、破棄するのではなくジャンクションを付けます。別のネットとの実際の競合がある場合にのみ、配線が失われます。

できないこと
  • PCB 作業は行いません。 基板レイアウト、銅箔配線、ガーバーデータの作成には対応しません。意図的に回路図のみに絞っています — 悪い回路図から作った PCB に価値はありません。
  • コンポーネントを創作しません。 インストール済みの KiCad シンボルライブラリを使用し、外部の KiCad ライブラリから不足しているものを find_part / import_part で取り込みます — インストール前に検証します。部品がどこにも存在しない場合は、描いて済ませるのではなく、その旨を伝えます。
  • シミュレーターではありません。 説明された内容を描画しますが、その回路が適切かどうかは判断しません。

要件

KiCad 10ERC とレンダリングに使用する kicad-cli を提供します。以前のバージョンはテストされていません。
Claude Desktop または Claude Codeまたは、その他の MCP クライアント。
Go 1.24+ソースからビルドする場合のみ必要です。

インストール

オプション A — ワンクリック(推奨)

Releases から mcp-kicad.mcpb をダウンロードして、ダブルクリックします。Claude Desktop が拡張機能としてインストールします。JSON の編集もパスの入力も必要ありません。このバンドルには Windows、macOS、Linux 用のビルドが含まれているため、どの環境でも同じファイルを使えます。

その後、動作確認に進んでください。

Apple Silicon では、バンドルされている macOS ビルドは Rosetta 経由で動作します。ネイティブ版が必要な場合は、オプション B の mcp-kicad-darwin-arm64 をダウンロードしてください。

オプション B — バイナリをダウンロード
  1. Releases にアクセスし、お使いのシステム用のファイルをダウンロードします。

    システムファイル
    Windows(Intel/AMD)mcp-kicad-windows-amd64.exe
    Linux(Intel/AMD)mcp-kicad-linux-amd64
    Linux(ARM、例:Raspberry Pi)mcp-kicad-linux-arm64
    macOS(Apple Silicon)mcp-kicad-darwin-arm64
    macOS(Intel)mcp-kicad-darwin-amd64
  2. 任意の場所に配置します。たとえば、C:\Tools\mcp-kicad.exe または ~/bin/mcp-kicad です。

  3. Linux と macOS では、実行可能にします。

    chmod +x ~/bin/mcp-kicad
    

    macOS では、バイナリが署名されていないため、初回の実行がブロックされます。次のコマンドで許可してください。

    xattr -d com.apple.quarantine ~/bin/mcp-kicad
    

ほかにインストールするものはありません。このバイナリは自己完結型で、設定ファイルも必要ありません。KiCad は自動的に検出されます。

オプション C — ソースからビルド
git clone https://github.com/unmateria/MCP-Kicad.git
cd MCP-Kicad
go build -o mcp-kicad ./cmd/server      # add .exe on Windows

Claude への接続

.mcpb バンドルをインストールした場合は不要です。バンドルが自動的に登録されます。

Claude Desktop

設定ファイルを編集します。存在しない場合は作成してください。

システム場所
Windows%APPDATA%\Claude\claude_desktop_config.json
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

サーバーを追加します。

{
  "mcpServers": {
    "kicad": {
      "command": "C:\\Tools\\mcp-kicad.exe",
      "args": []
    }
  }
}

Linux または macOS では、コマンドに通常のパス "/home/you/bin/mcp-kicad" を指定します。

Windows に関する注意: JSON ではバックスラッシュを二重にする必要があります(C:\\Tools\\...)。バックスラッシュが 1 つだけになっていることは、サーバーが起動しない最も一般的な原因です。

Claude Desktop を完全に終了してから、再度開いてください。 ウィンドウの再読み込みだけでは不十分です。サーバーは子プロセスとして実行されるため、完全に再起動したときにのみ起動します。

Claude Code
claude mcp add kicad -- /path/to/mcp-kicad
動作確認

Claude に次のように尋ねます。

get_project_info を使って、KiCad のセットアップを確認してください。

検出された kicad-cli のパス、ライブラリディレクトリ、出力ディレクトリが返されます。kicad-cli が見つからなかったと報告された場合は、以下の設定を参照してください。


使用方法

回路の内容を説明してください。電源電圧、使用したい部品番号、すでに決めている値など、重要な点を具体的に伝え、残りは Claude に任せましょう。

効果的なプロンプトの例:

12 V 入力から LM7805 を使って 5 V の安定化電源を設計してください。入力と出力のデカップリング、および電源 LED を含めてください。

ATmega328P の最小構成ボードを作成してください。16 MHz の水晶振動子と負荷コンデンサー、リセットのプルアップ、ICSP ヘッダー、両方の電源ピンのデカップリングを含めてください。

2 個の LED が約 2 Hz で点滅する、2 トランジスタ式の無安定マルチバイブレーターを作成してください。

作成後に役立つ依頼:

  • 「回路図を見せて」 — プレビュー画像を表示します。
  • 「PDF としてエクスポートして」 — kicad-cli 経由でエクスポートします。
  • 「ERC を実行して」 — KiCad の電気ルールチェックを実行し、違反内容を説明します。
  • 「デカップリングコンデンサーを U1 に近づけて、再コンパイルして」 — 設計ソースはテキストなので、手軽に修正できます。

生成されたファイルは出力ディレクトリに保存されます(場所は get_output_dir で確認でき、set_output_dir で変更できます)。

設計ソース

内部では、Claude が小さな JSON ドキュメントを書き、それをコンパイルします。これに触れる必要はほとんどありませんが、結果が安定する理由がわかるので、一度見ておく価値があります。位置はミリメートルで指定せず、ピンとピンを基準に固定します:

{
  "version": 1,
  "project": "led_18650",
  "sheet": "auto",

  "blocks": [
    {
      "name": "led",
      "symbols": [
        { "ref": "BT1", "lib": "Device:Battery_Cell", "value": "18650" },
        { "ref": "R1", "lib": "Device:R", "value": "100", "rot": 90,
          "place": { "pin": "1", "at": "BT1.+", "dir": "up", "cells": 1 } },
        { "ref": "D1", "lib": "Device:LED", "value": "LED_RED", "rot": 90,
          "place": { "pin": "A", "at": "R1.2", "dir": "right", "cells": 3 } }
      ]
    }
  ],

  "nets": {
    "VBAT":   ["BT1.+", "R1.1"],
    "_ANODE": ["R1.2", "D1.A"],
    "GND":    ["D1.K", "BT1.-"]
  },

  "power_nets": { "GND": "power:GND" }
}

上記のソースからコンパイルされた回路図

ブロック内の最初のシンボルを基準にし、ほかのシンボルはすべて、すでに配置されたシンボルのピンから、2.54 mm グリッドの整数マス分だけ離れた位置に配置します。これにより、モデルが順序を入れ替えても、回路図は常にグリッドに沿って読みやすく保たれます。

完全なフォーマットは internal/tools/design_format.md に記載されています(モデルに提供される design_guide ツールの内容と同じです)。また、docs/compiler/ には、2 部品の LED 回路から 27 個のコンポーネントを使用する温室コントローラーまで、13 個の実例があります。


設定

設定は不要です。サーバーは一般的な場所から KiCad を探します。

  • Windows — C:\Program Files\KiCad\<version>\bin\kicad-cli.exe、次に PATH
  • Linux — /usr/bin/kicad-cli、/usr/local/bin/kicad-cli、次に PATH
  • macOS — /Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli、次に PATH

インストール先が通常と異なる場合や、ファイルの出力先を変更する場合は、config.ini.example を config.ini にコピーし、実行ファイルと同じ場所に置いて必要な項目を設定してください。

[paths]
kicad_cli  = /opt/kicad/bin/kicad-cli
output_dir = /home/you/schematics
libs_root  = /home/you/mcp-kicad-libs

[api_keys]
mouser                =
digikey_client_id     =
digikey_client_secret =

API キーは任意で、メタデータの取得にのみ使用します。CAD ファイルを提供するディストリビューターはありません。シンボルやフットプリントを実際に含むソースは、いずれもキーを必要としません。

生成ファイルの既定の出力先は <your home>/mcp-kicad/output です。


ツール

33 個のツールが公開されています。実際には、Claude はほとんどの処理で compile_schematic を使用します。ほかのツールは、既存ファイルの確認や修復に使用します。

設計 compile_schematic · design_guide · get_design_context · kicad_workflow_help · apply_template · list_templates

部品を探す find_part · import_part · check_component_existence · symbol_pins · list_symbol_libraries · register_library

回路図を読み取る read_schematic · get_connectivity_summary · cluster_components · layout_metrics

手動で編集する create_schematic · add_symbol · connect_pins · disconnect_pin · add_wire · add_label · add_power_rail · junction · no_connect · connect_netlist · batch_schematic

確認とエクスポート validate_design(ERC/DRC)· export_schematic_image(SVG/PDF)· modify_pcb_layout

セットアップ get_project_info · get_output_dir · set_output_dir


KiCadにない部品

KiCadには約22,700個のシンボルが付属しています。必要なものが含まれていないこともよくあります。 find_part はすべてのソースを一度に検索し、import_part は候補をインストールします:

find_part   query="ESP32-C3-MINI-1"
import_part ref="espressif:symbols/Espressif.kicad_sym#ESP32-C3-MINI-1"
→ MCP_Imported:ESP32-C3-MINI-1   53 pins, footprint matched, ready for compile_schematic
ソース含まれるものライセンス
installedこのマシンのKiCadライブラリと、すでにインポート済みのすべて—
jlcpcbJLCPCBの実装カタログ:シンボル、フットプリント、3Dモデルがすべて一致MIT
cernCERN Open Hardware:実際の部品番号を持つ数千点のシンボルCERN-OHL-P-2.0
digikey-libDigi-Keyのライブラリ、150種類のカテゴリライブラリリポジトリごと
espressifEspressif独自のESP32ライブラリリポジトリごと
sparkfunSparkFunのブレークアウトボード、センサー、コネクターCC-SA-4.0
lcscLCSC / EasyEDAをKiCad用に変換したもの — C番号で整理された幅広い部品サードパーティのデータ
mouser、digikey部品の特定のみ:注文コードに対応する実際のMPN、メーカー、パッケージ、データシート。CADファイルはありません — 販売代理店は提供していません。APIキーが必要です—

各ソースは一度だけ libs/cache/ にインデックス化され、その後はオフラインで検索されます。検証が完了するまでは何もインストールされません:

  1. パースできること。
  2. kicad-cli で読み戻して再書き込みできること。
  3. ピンが解決された状態で、テスト用回路図に配置できること。
  4. ピンとフットプリントのパッドが照合されること。
  5. KiCadで描画され、図を確認できること。

検証に失敗した部品はインストールされません。 中途半端にインポートされたシンボルは、動作しているように見えるため、シンボルがないよりも厄介です。また、どのソースにも部品が存在しない場合、答えは「存在しない」です — 知らないうちに代替品を選ぶことも、想像で形状を描くこともありません。

すべての部品は、KiCadに登録され、GUIのシンボル選択画面にも表示される1つのライブラリ MCP_Imported に格納されます。インポートされた各シンボルには、出典、ライセンス、インポート日時を記録した MCP_Source プロパティが付与されます — そのため libs/ はバージョン管理されません。ソースから再現できるためです。


動作の仕組み

.design.json → コンパイル → .kicad_sch

  1. 配置。 各シンボルの位置はピンのアンカーを基準に決まり、2.54 mmグリッド上の絶対座標に変換されます。
  2. 配線。 短く、明らかに正しい接続は閉形式のジオメトリで描画し、長い接続にはコンポーネントの本体を避けるA*ルーターを使用します。
  3. 電源。 各ピンに電源シンボルを1つずつ配置し、ピンの向きに合わせてずらしてから、電源レールに整列します。
  4. ゲート。 すべての配線を再検査します。他のネットと交差するもの、シンボルを横切るもの、同一直線上で重なるものは削除し、ネットラベルに置き換えます — 接続性は維持し、誤りは残しません。
  5. 整頓。 リファレンスと値のテキストを本体や配線に重ならないよう移動し、シートを中央に配置します。回路が収まらない場合は用紙サイズを大きくします。
  6. 検証。 ファイルを最初から読み直し、ネットリストをたどってソースと比較し、kicad-cli でERCを実行します。

KiCadファイルの読み書きには、実際のS式パーサー(internal/sexp)を使用します — テキストのパターンマッチングは行いません。


既知の制限事項

  • 高密度なシートでは、テキストが重なることがあります。 リファレンス番号とネットラベルは、重なりが最も少ない位置に移動されますが、回路図が込み合っている場合、最適な位置でも何かに接触することがあります。コンパイラーは残った問題と、それぞれを解消するために必要な追加間隔を正確に報告します。
  • 一部の接続は配線ではなくラベルになります。 これはゲートが正しく機能しているためです。電気的には同じですが、見栄えは劣ります。
  • PNGプレビューにはChromium系ブラウザーが必要です(Edge、Chrome、Chromium、Brave)。利用できない場合は、品質の低い純粋なGo製レンダラーが代わりに使われます。実環境で検証済みなのはWindowsのパスのみです。
  • Claude DesktopとClaude Codeでテスト済みです。 他のMCPクライアントでも動作するはずですが、まだ試していません。

開発

go build -o mcp-kicad ./cmd/server   # build
go test ./...                        # all tests
go run ./cmd/verify_e2e              # end-to-end smoke test
go run ./cmd/compile -o out.kicad_sch docs/compiler/led_18650.design.json
go run ./cmd/measure_layout out.kicad_sch    # layout quality metrics
go run ./cmd/pininfo <library.kicad_sym>     # pin positions in a symbol library

# The component sources are claims about the outside world. `go test ./...`
# never touches the network; these re-measure them on demand.
MCP_KICAD_LIVE=1 go test ./internal/parts/providers/ -run TestLive -v
MCP_KICAD_LIVE=1 go test ./internal/tools/ -run TestLiveImportAndCompile -v

docs/compiler/ にある13のソースが参照コーパスです。パイプラインへの変更はすべて、これらすべてに照らして検証されます。

アーキテクチャに関する説明は CLAUDE.md にあります。


ライセンス

PolyForm Noncommercial License 1.0.0 — 個人プロジェクト、電子工作、教育、研究、非営利団体など、あらゆる非商用目的で、無料で使用、改変、共有できます。このライセンスでは商用利用は許可されていません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。