local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Integrates with .env files for configuration, allowing users to customize KiCad project search paths and other server settings through environment variables.
Provides tools for KiCad PCB design projects including listing projects, viewing project details, running Design Rule Checks (DRC), generating PCB thumbnails, and launching KiCad applications with specific projects.
KiCad MCP サーバー
⚠️警告:このプロジェクトは急ごしらえで作られたため、ほとんどテストされていません。不具合が発生する可能性があります。ご利用は自己責任でお願いします。今後改善していく予定ですが、バグを見つけた場合は、問題を報告するか、プルリクエストを送信して修正をお願いします(下記の「貢献」セクションをご覧ください)。
⚠️警告:このプロジェクトはMac向けに最適化されています。WindowsとLinuxでも基本的なサポートはありますが、すべての機能が動作することを保証するものではありません。
このガイドは、KiCad用のモデルコンテキストプロトコル(MCP)サーバーの設定方法を説明します。このガイドの例ではClaude Desktopをよく使用しますが、サーバーはMCP準拠のクライアントであればどれでも使用できます。Claude Desktop、カスタムMCPクライアント、あるいはモデルコンテキストプロトコルを実装した他のアプリケーションでも使用できます。
目次
前提条件
- KiCad がインストールされた macOS、Windows、または Linux
- Python 3.10以上
- KiCad 9.0以上
- Claude Desktop(または他のMCPクライアント)
- 端末の基本的な知識
インストール手順
1. Python環境をセットアップする
まず、依存関係をインストールして環境を設定しましょう。
2. 環境を設定する
サーバーが KiCad プロジェクトを検索する場所をカスタマイズするには、 .env
ファイルを作成します。
.env
ファイルに、カスタム プロジェクト ディレクトリを追加します。
3. サーバーを実行する
環境が設定されたら、サーバーを実行できます。
4. MCPクライアントを構成する
次に、Claude Desktop が MCP サーバーを使用するように構成します。
- Claude Desktop 構成ファイルを作成または編集します。
- KiCad MCP サーバーを構成に追加します。
/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp
プロジェクト ディレクトリへの実際のパスに置き換えます。
5. MCPクライアントを再起動します
新しい構成をロードするには、MCP クライアントを閉じて再度開きます。
MCPコンポーネントの理解
モデル コンテキスト プロトコル (MCP) は、機能を提供するための 3 つの主な方法を定義します。
リソース vs ツール vs プロンプト
リソースは、LLM が参照できる読み取り専用のデータ ソースです。
- REST APIのGETエンドポイントに似ている
- 大きな計算を実行せずにデータを提供する
- LLMが情報を読み取る必要があるときに使用される
- 通常、クライアントアプリケーションによってプログラム的にアクセスされます
- 例:
kicad://projects
すべての KiCad プロジェクトのリストを返します
ツールはアクションや計算を実行する機能です。
- REST APIのPOST/PUTエンドポイントに似ています
- 副作用が発生する可能性がある(アプリケーションの起動やファイルの生成など)
- LLMが世界でアクションを実行する必要があるときに使用されます
- 通常、LLM によって直接呼び出されます (ユーザーの承認が必要)
- 例:
open_project()
特定のプロジェクトで KiCad を起動します
プロンプトは、一般的なやり取りのための再利用可能なテンプレートです。
- 事前に定義された会話のきっかけや指示
- ユーザーがよくある質問やタスクを明確に表現できるように支援する
- ユーザーの選択によって呼び出される(通常はメニューから)
- 例:
debug_pcb_issues
プロンプトは、ユーザーが PCB の問題をトラブルシューティングするのに役立ちます。
特集のハイライト
KiCad MCP サーバーはいくつかの重要な機能を提供しており、それぞれに詳細なドキュメントが付属しています。
- プロジェクト管理: KiCad プロジェクトの一覧表示、調査、および開く
- 例: 「最近の KiCad プロジェクトをすべて表示」 → 変更日順にすべてのプロジェクトを一覧表示します
- PCB設計分析:PCB設計と回路図に関する洞察を得る
- 例: 「温度センサーボードの部品密度を分析する」→部品間隔の分析を提供します
- ネットリスト抽出: 回路図からコンポーネントの接続を抽出して分析します
- 例: 「ArduinoシールドのMCUに接続されているコンポーネントは何ですか?」→マイクロコントローラへのすべての接続を表示します
- BOM管理:部品表の分析とエクスポート
- 例: 「スマートウォッチプロジェクトの部品表を生成する」 → 詳細な部品表を作成します
- 設計ルールチェック: DRCチェックを実行し、時間の経過に伴う進捗状況を追跡します。
- 例: 「電源ボードでDRCを実行し、先週と比較する」→違反の修正の進捗状況を表示します
- *KiCad 9.0+ 互換:*新しい KiCad CLI または IPC API を自動的に使用します
- PCB の視覚化: PCB レイアウトの視覚的な表現を生成します
- 例: 「オーディオアンプのPCBのサムネイルを表示」→ボードのビジュアルレンダリングを表示します
- 回路パターン認識: 回路図内の一般的な回路パターンを自動的に識別します
- 例: 「IoTデバイスではどのような電源トポロジを使用していますか?」→降圧、昇圧、またはリニアレギュレータを識別します
各機能の詳細な例と詳細については、ドキュメント内の専用ガイドを参照してください。
自然言語インタラクション
弊社のドキュメントでは次のような例がよく示されています:
ファイルのフルパスを入力する必要はありません。LLM はより自然な言語リクエストを理解できます。
たとえば、上記の正式なコマンドの代わりに、次のように単純に尋ねることができます。
または:
LLMはあなたの意図を理解し、KiCad MCPサーバーに関連情報を要求します。どのプロジェクトを参照しているのか明確にする必要がある場合は、その旨を尋ねます。
ドキュメント
各機能の詳細なドキュメントは、 docs/
ディレクトリにあります。
構成
KiCad MCP サーバーは、環境変数または.env
ファイルを使用して構成できます。
主要な設定オプション
環境変数 | 説明 | 例 |
---|---|---|
KICAD_SEARCH_PATHS | KiCad プロジェクトを検索するディレクトリのコンマ区切りリスト | ~/pcb,~/Electronics,~/Projects |
KICAD_USER_DIR | デフォルトのKiCadユーザーディレクトリを上書きする | ~/Documents/KiCadProjects |
KICAD_APP_PATH | デフォルトの KiCad アプリケーション パスを上書きする | /Applications/KiCad7/KiCad.app |
詳細については、構成ガイドを参照してください。
開発ガイド
プロジェクト構造
KiCad MCP サーバーはモジュール構造で構成されています。
新機能の追加
KiCad MCP サーバーに新しい機能を追加するには、次の手順に従います。
- 機能のカテゴリ(リソース、ツール、プロンプト)を特定します
- 適切なモジュールに実装を追加する
- 対応するレジスタ関数に機能を登録します
- 開発ツールで変更をテストする
詳細については開発ガイドを参照してください。
トラブルシューティング
問題が発生した場合:
- MCP クライアントにサーバーが表示されない:
- クライアントの設定ファイルにエラーがないか確認してください
- プロジェクトとPythonインタープリターへのパスが正しいことを確認してください
- Pythonが
mcp
パッケージにアクセスできることを確認する - KiCadのインストールが検出されているかどうかを確認する
- サーバー エラー:
- 開発モードでサーバーを実行しているときにターミナル出力を確認する
- Claude のログは次の場所で確認してください:
~/Library/Logs/Claude/mcp-server-kicad.log
(サーバー固有のログ)~/Library/Logs/Claude/mcp.log
(一般的な MCP ログ)
- 作業ディレクトリの問題:
- クライアント設定で起動されたサーバーの作業ディレクトリが未定義である可能性があります
- 設定ファイルと.envファイルでは常に絶対パスを使用してください
- コマンドライン経由でサーバーをテストする場合、作業ディレクトリはコマンドを実行する場所になります。
詳細については、トラブルシューティング ガイドを参照してください。
貢献
KiCad MCP サーバーに貢献したいですか? このプロジェクトの改善にご協力いただける方法は次のとおりです:
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を追加する
- プルリクエストを送信する
貢献できる主な分野:
- 回路パターン認識システムにさらに多くのコンポーネントパターンのサポートを追加
- ドキュメントと例の改善
- 新しい機能の追加や既存の機能の強化
- バグの修正とエラー処理の改善
詳細な貢献ガイドラインについては、 CONTRIBUTING.md を参照してください。
将来の開発アイデア
貢献に興味がありますか?今後の開発のためのアイデアをいくつかご紹介します。
- 3Dモデルの視覚化- PCBの3Dモデルを視覚化するツールを実装する
- PCBレビューツール- 設計レビュー用の注釈機能を作成する
- 製造ファイルの生成- ガーバーファイルやその他の製造出力の生成のサポートを追加します。
- コンポーネント検索- KiCadライブラリ全体のコンポーネントの検索機能を実装します
- BOM の強化- コンポーネントの調達と価格設定のためのサプライヤー統合の追加
- インタラクティブなデザインチェック- 設計品質をチェックするためのインタラクティブなツールを開発する
- Web UI - 設定と監視のためのシンプルなWebインターフェースを作成する
- 回路解析- 自動回路解析機能を追加
- テストカバレッジ- コードベース全体のテストカバレッジを向上させる
- 回路パターン認識- より多くのコンポーネントタイプと回路トポロジーでパターンデータベースを拡張します
ライセンス
このプロジェクトは MIT ライセンスに基づくオープンソースです。
This server cannot be installed
KiCad 電子設計プロジェクトとのやり取りを可能にするモデル コンテキスト プロトコル サーバー。これにより、ユーザーはプロジェクトの一覧表示、PCB 設計の分析、設計ルール チェックの実行、自然言語による PCB レイアウトの視覚化が可能になります。
- Table of Contents
- Prerequisites
- Installation Steps
- Understanding MCP Components
- Feature Highlights
- Natural Language Interaction
- Documentation
- Configuration
- Development Guide
- Troubleshooting
- Contributing
- Future Development Ideas
- License