KiCAD MCP: AI支援PCB設計
KiCAD MCPは、Claudeのような大規模言語モデル(LLM)がKiCADと直接連携してプリント基板設計を行えるようにするモデルコンテキストプロトコル(MCP)実装です。AIアシスタントとKiCAD PCB設計ソフトウェアの間に標準化された通信ブリッジを構築し、高度なPCB設計操作を自然言語で制御できるようにします。
🎉 新機能!回路図生成
回路図生成機能の追加を発表できることを嬉しく思います。PCB設計に加えて、KiCAD MCPではAIアシスタントが以下のことも可能になります。
- 自然言語で KiCAD 回路図を作成および管理する
- 抵抗器、コンデンサ、ICなどのコンポーネントを回路図に追加する
- コンポーネントをワイヤーで接続して完全な回路を作成します
- KiCAD 形式で回路図ファイルを保存および読み込みます
- 回路図をPDFにエクスポート
この強力な追加機能により、PCB 設計ワークフローが完成し、AI アシスタントが単一の統合環境で回路図のキャプチャと PCB レイアウトの両方を支援できるようになります。
プロジェクトのステータス
このプロジェクトは完了しており、本番環境での使用が可能です。
- KiCAD 9.0との完全なPythonインターフェース互換性を実装しました
- モジュール式で保守可能なコンポーネントアーキテクチャを作成
- ボード操作、コンポーネント配置、配線のための包括的なツールを実装しました
- プロジェクトの作成からコンポーネントの配置とルーティングまでの操作が正常にテストされました
- KiCADに確実にコマンドを渡す、合理化されたMCPサーバー実装を作成しました
サーバーは Cline/Claude とシームレスに連携し、自然言語による AI 支援の PCB 設計を可能にします。
何をするのか
KiCAD MCP は、AI アシスタントを有効にして、エンジニアと設計者が KiCAD で作業する方法を変革します。
- 自然言語リクエストを通じて KiCAD PCB プロジェクトを作成および管理します
- コンポーネントと接続を含む回路図を作成する
- ボードの形状、アウトライン、レイヤー、プロパティを操作する
- さまざまなパターン(グリッド、円形、整列)でコンポーネントを配置および整理します
- トレース、差動ペアを配線し、銅箔を作成する
- 設計ルールを実装し、設計ルールチェックを実行する
- さまざまな形式(Gerber、PDF、SVG、3D モデル)でエクスポートを生成
- AIアシスタントに回路基板に関する包括的なコンテキストを提供する
これにより、自然言語駆動型の PCB 設計ワークフローが可能になり、エンジニアによる完全な監視と制御を維持しながら、複雑な操作を平易な英語で要求できるようになります。
コアアーキテクチャ
- TypeScript MCP サーバー: Claude やその他の互換性のある AI アシスタントと通信するための Anthropic Model Context Protocol 仕様を実装します。
- Python KiCAD インターフェース: pcbnew Python API と kicad-skip ライブラリを介して、包括的なエラー処理を備えた KiCAD の実際の操作を処理します。
- モジュラー設計: 保守性と拡張性を考慮して、機能をドメイン(プロジェクト、回路図、ボード、コンポーネント、ルーティング)ごとに整理します。
システム要件
- KiCAD 9.0 以上(完全にインストールされている必要があります)
- Node.js v18以上およびnpm
- Python 3.8 以降とpip (KiCAD 9.0 に付属のバージョンで十分です)
- Cline (VSCode Claude 拡張機能) または他の MCP 互換クライアント
- Windows 10/11 (現在のバージョンは Windows 向けに最適化されています。Linux/Mac のサポートも予定されています)
インストール
ステップ1: KiCAD 9.0をインストールする
- KiCAD 9.0 をKiCAD の公式ウェブサイトからダウンロードします。
- インストーラーを実行し、デフォルトのインストールオプションを選択します
- Python モジュールがインストールされていることを確認します (これはデフォルトのインストールに含まれています)
ステップ2: KiCAD MCPリポジトリのクローンとセットアップ
ステップ3: Cline (VSCode Claude拡張機能) を構成する
- まだインストールされていない場合は、公式サイトからVSCodeをインストールしてください。
- VSCodeマーケットプレイスからCline拡張機能(VSCode用Claude)をインストールします。
- Cline MCP 設定ファイルを編集します。
- Windows:
%USERPROFILE%\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Windows:
- 次の構成をファイルに追加します (システムの必要に応じてパスを更新します)。
- 変更を有効にするには、VSCode を再起動するか、ウィンドウを再読み込みしてください。
ステップ4: インストールの確認
- Cline拡張機能でVSCodeを開く
- クロードと新しい会話を始める
- Claude に新しい KiCAD プロジェクトを作成するように依頼します。
- クロードはKiCAD MCPを使用してプロジェクトを作成し、成功を報告する必要があります。
使用例
KiCAD MCP を使用して Claude に依頼できる作業の例をいくつか示します。
プロジェクト管理
概略設計
ボードデザイン
部品配置
ルーティング
デザインルールとエクスポート
カテゴリー別の機能
プロジェクト管理
- カスタマイズ可能な設定で新しい KiCAD プロジェクトを作成する
- ファイルパスから既存の KiCAD プロジェクトを開く
- オプションの新しい場所を指定してプロジェクトを保存する
- プロジェクトのメタデータとプロパティを取得する
概略設計
- カスタマイズ可能な設定で新しい回路図を作成する
- シンボル ライブラリからコンポーネント (抵抗器、コンデンサ、IC など) を追加します。
- コンポーネントをワイヤーで接続して回路を作成する
- 回路図にラベル、注釈、ドキュメントを追加する
- KiCAD 形式で回路図を保存および読み込みます
- ドキュメント化のために回路図を PDF にエクスポート
ボードデザイン
- メートル法とヤードポンド法をサポートし、正確なボード寸法を設定できます
- カスタムボードアウトライン(長方形、角丸長方形、円、多角形)を追加します
- さまざまな構成のボードレイヤーを作成および管理します
- 取り付け穴、テキスト注釈、その他のボード機能を追加する
- 現在のボードの状態を視覚化する
コンポーネント
- 指定されたフットプリントを持つコンポーネントを正確な位置に配置します
- グリッドまたは円形パターンでコンポーネント配列を作成する
- 既存のコンポーネントを移動、回転、変更する
- コンポーネントを均等に整列させて分配する
- カスタマイズ可能なプロパティを持つコンポーネントを複製する
- 詳細なコンポーネントのプロパティとリストを取得する
ルーティング
- 特定のプロパティを持つネットを作成および管理する
- コンポーネントパッド間または任意のポイント間のトレースを配線する
- ブラインドビアや埋め込みビアを含むビアを追加する
- 高速信号用の差動ペアルートを作成する
- 銅箔(グランドプレーン、電源プレーン)を生成する
- 特定の設計ルールでネットクラスを定義する
デザインルール
- クリアランス、トラック幅などのグローバル設計ルールを設定します。
- 異なるネットクラスに特定のルールを定義する
- 設計ルールチェック(DRC)を実行して設計を検証する
- DRC違反の表示と管理
輸出
- 製造用の業界標準のガーバーファイルを生成
- PCBのPDFドキュメントをエクスポートする
- ボードのSVGベクターグラフィックを作成する
- STEP または VRML 形式で 3D モデルを生成します
- さまざまな形式で部品表(BOM)を作成します
実装の詳細
KiCAD MCP 実装では、モジュール式の保守可能なアーキテクチャが使用されます。
TypeScript MCP サーバー (Node.js)
- kicad-server.ts : MCPプロトコルを実装するメインサーバー
- Clineとの信頼性の高い通信のためにSTDIOトランスポートを使用する
- KiCAD 操作の Python プロセスを管理します
- コマンドキューイング、エラー回復、応答フォーマットを処理
Pythonインターフェース
- kicad_interface.py : 次の機能を果たすメインの Python インターフェース:
- stdin経由でJSONとして受信したコマンドを解析します
- コマンドを適切な専用ハンドラーにルーティングします
- 結果をstdout経由でJSONとして返します
- 詳細な情報でエラーを適切に処理します
- モジュラーコマンド構造:
commands/project.py
: プロジェクトの作成、開く、保存commands/schematic.py
: 回路図の作成と管理commands/component_schematic.py
: 回路図コンポーネントの操作commands/connection_schematic.py
: 配線と接続の管理commands/library_schematic.py
: シンボルライブラリの統合commands/board/
: モジュール式ボード操作関数size.py
: ボードサイズの操作layers.py
: レイヤー管理outline.py
: ボードのアウトライン作成view.py
: 可視化関数
commands/component.py
: PCBコンポーネントの配置と操作commands/routing.py
: トレースルーティングとネット管理commands/design_rules.py
: DRCとルールの設定commands/export.py
: さまざまな形式での出力生成
このアーキテクチャにより、クリーンかつ一貫性のあるインターフェース レイヤーを維持しながら、PCB 設計の各側面が専用モジュールによって処理されるようになります。
トラブルシューティング
よくある問題と解決策
問題: KiCAD MCP が Claude のツールに表示されない
- Cline MCP設定を更新した後、VSCodeが完全に再起動されていることを確認してください。
- 設定内のパスがシステムに合っているか確認します
npm run build
正常に完了したことを確認します
問題: サーバーの起動時に Node.js エラーが発生する
- Node.js v18以降を使用していることを確認してください
- すべての依存関係が適切にインストールされていることを確認するために、
npm install
再度実行してみてください。 - コンソール出力で具体的なエラーメッセージを確認します
問題: PythonエラーまたはKiCADコマンドが失敗する
- KiCAD 9.0が正しくインストールされていることを確認する
- 設定内のPYTHONPATHが正しい場所を指していることを確認してください
- pcbnewモジュールにアクセスできることを確認するために、簡単なKiCAD Pythonスクリプトを直接実行してみてください。
問題: Claude が KiCAD プロジェクトを見つけられない、または読み込めない
- プロジェクトの場所を参照するときは絶対パスを使用します
- VSCodeを実行しているユーザーがディレクトリへのアクセス権限を持っていることを確認する
ヘルプの取得
このトラブルシューティングのセクションで説明されていない問題が発生した場合:
- コンソール出力でエラーメッセージを確認します
- GitHubリポジトリのIssuesセクションで同様の問題を探します
- 問題に関する詳細情報を記載した新しい問題を開く
貢献
このプロジェクトへの貢献を歓迎します!ご協力いただける方法は以下の通りです。
- バグ報告: 何が問題で、どのように再現したかを記載した問題を報告してください
- 機能の提案: アイデアをお持ちですか? Issue で共有してください
- プル リクエストを送信: バグを修正しましたか? または機能を追加しましたか? PR を送信してください。
- ドキュメントの改善: ドキュメントの明確化や拡張にご協力ください
既存のコード スタイルに従い、新しい機能のテストを含めてください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
KiCAD-MCP-サーバー
Related MCP Servers
- Python
- TypeScriptApache 2.0
- TypeScriptMIT License
- RustMIT License