📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 170行目: | 170行目: | ||
KiCAD Python APIが正常にインポートできるか確認する。<br> | KiCAD Python APIが正常にインポートできるか確認する。<br> | ||
python3 -c "import pcbnew; print(pcbnew.Version())" | python3 -c "import pcbnew; print(pcbnew.Version())" | ||
<br><br> | |||
== クライアント接続設定 == | |||
==== Claude Desktopからの接続 ==== | |||
Claude Desktopの設定ファイルを編集する。<br> | |||
<br> | |||
設定ファイルの場所は、以下の通りである。<br> | |||
* Linuxの場合 | |||
*: ~/.config/Claude/claude_desktop_config.json | |||
* Windowsの場合 | |||
*: %APPDATA%\Claude\claude_desktop_config.json | |||
<br> | |||
設定ファイルの内容を編集する。<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"mcpServers": { | |||
"kicad-server": { | |||
"command": "/home/<ユーザ名>/kicad-mcp-server/venv/bin/python", | |||
"args": ["/home/<ユーザ名>/kicad-mcp-server/server.py"], | |||
"env": { | |||
# RHEL / SUSEの場合 | |||
"PYTHONPATH": "/usr/lib64/python3.x/site-packages" | |||
# Debianの場合 | |||
"PYTHONPATH": "/usr/lib/python3/dist-packages" | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
環境変数 <code>PYTHONPATH</code> を設定することにより、KiCAD Python APIにアクセスできるようにする。<br> | |||
<br> | |||
Claude Desktopを再起動して、KiCAD MCPサーバが利用可能であることを確認する。<br> | |||
<br><br> | |||
== 設定 == | |||
KiCAD MCPサーバは、環境変数 または .envファイル を使用して設定することができる。<br> | |||
<br> | |||
==== 主要な設定オプション ==== | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! 環境変数 | |||
! 説明 | |||
! 例 | |||
|- | |||
| KICAD_SEARCH_PATHS | |||
| KiCADプロジェクトを検索するディレクトリ<br>(カンマ区切りのリスト) | |||
| ~/pcb,~/Electronics,~/Projects | |||
|- | |||
| KICAD_USER_DIR | |||
| デフォルトのKiCADユーザディレクトリを上書きする。 | |||
| ~/Documents/KiCadProjects | |||
|- | |||
| KICAD_APP_PATH | |||
| デフォルトのKiCADアプリケーションパスを上書きする。 | |||
| /Applications/KiCad9/KiCad.app | |||
|} | |||
</center> | |||
<br> | |||
環境設定ファイル (.envファイル) を作成する。<br> | |||
<br> | |||
.envファイルは、KiCAD MCPサーバのプロジェクトルートディレクトリに配置する。<br> | |||
したがって、main.pyファイル や .env.exampleファイルと同じ階層、kicad-mcpディレクトリ直下に配置することが標準的である。<br> | |||
<br> | |||
* Linux | |||
*: <syntaxhighlight lang="sh"> | |||
# .envファイル | |||
KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects | |||
KICAD_USER_DIR=~/Documents/KiCadProjects | |||
KICAD_APP_PATH=/usr/bin/kicad | |||
</syntaxhighlight> | |||
<br> | |||
* Winodws | |||
*: <syntaxhighlight lang="powershell"> | |||
# .envファイル | |||
KICAD_SEARCH_PATHS=C:/Users/<ユーザ名>/pcb,C:/Users/<ユーザ名>/Electronics,C:/Users/<ユーザ名>/Projects | |||
KICAD_USER_DIR=C:/Users/<ユーザ名>/Documents/KiCadProjects | |||
KICAD_APP_PATH=C:/Program Files/KiCad/9.0/bin/kicad.exe | |||
</syntaxhighlight> | |||
<br><br> | |||
== プロジェクト構造 == | |||
KiCAD MCPサーバは、モジュール構造で構成されている。<br> | |||
<br> | |||
kicad-mcp/ | |||
├── README.md # プロジェクトドキュメント | |||
├── main.py # サーバを実行するエントリーポイント | |||
├── requirements.txt # Python依存関係 | |||
├── .env.example # 環境設定の例 | |||
├── kicad_mcp/ # メインパッケージディレクトリ | |||
│ ├── __init__.py | |||
│ ├── server.py # MCPサーバのセットアップ | |||
│ ├── config.py # 設定定数と設定項目 | |||
│ ├── context.py # ライフサイクル管理と共有コンテキスト | |||
│ ├── resources/ # リソースハンドラ | |||
│ ├── tools/ # ツールハンドラ | |||
│ ├── prompts/ # プロンプトテンプレート | |||
│ └── utils/ # ユーティリティ関数 | |||
├── docs/ # ドキュメント | |||
└── tests/ # ユニットテスト | |||
<br> | |||
下表に、各ディレクトリの役割を示す。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! ディレクトリ | |||
! 説明 | |||
|- | |||
| kicad_mcp/resources/ | |||
| KiCADプロジェクトファイル、回路図、PCBレイアウト等のリソースを処理するハンドラを格納する。<br>これらのハンドラは、MCPクライアントからのリソース要求に応答する。 | |||
|- | |||
| kicad_mcp/tools/ | |||
| KiCADの操作を実行するツールのハンドラを格納する。<br>各ツールは特定の機能 (DRCの実行、Gerberファイルの出力等) を提供する。 | |||
|- | |||
| kicad_mcp/prompts/ | |||
| AIアシスタントが使用するプロンプトテンプレートを格納する。<br>これらのテンプレートは、特定のタスクに対して適切なコンテキストを提供する。 | |||
|- | |||
| kicad_mcp/utils/ | |||
| ファイル操作、パスの検証、ログ処理等の共通ユーティリティ関数を格納する。 | |||
|- | |||
| docs/ | |||
| APIドキュメント、使用例、開発ガイド等の詳細なドキュメントを格納する。 | |||
|- | |||
| tests/ | |||
| 各モジュールのユニットテストおよび統合テストを格納する。 | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||