SCAPS-1D について
SCAPS-1D MCP サーバーは、ローカルの SCAPS-1D を操作し、薄膜太陽電池の研究者向けにデバイス編集、シミュレーション、フィッティング、分析、妥当性チェックを提供します。
主な機能
- 01デバイス定義の作成と編集
- 02J-V、QE、C-V、C-f のシミュレーション
- 03パラメーターの一括スイープ
- 04測定曲線のフィットと指標の最適化
- 05結果分析と妥当性チェック
- 06バックグラウンドジョブの管理
活用シーン
- 01パラメーター別にデバイス設計を比較
- 02測定データにシミュレーション曲線を適合
- 03太陽電池の結果に含まれる不合理な仮定を確認
MCP 対応
MCP クライアントに SCAPS-1D のデバイス編集、シミュレーション、一括処理、最適化、結果分析を提供します。デバイス定義と実行ファイルは MCP リソースとしても利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx scaps-mcpSCAPS_HOMESCAPS installation folder, the one that contains scapsXXXX.exe; found automatically in the usual locations when unsetSCAPS_TIMEOUTSeconds allowed per SCAPS runSCAPS_RUNS_DIRFolder that keeps run inputs and results; defaults to the user cache folderローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
16掲載時のツール一覧 · 2 日前に更新
このツールにパラメーターはありません。
詳細
scaps-mcp
ゲント大学の一次元太陽電池シミュレーターであるSCAPS-1D用のMCP サーバーです。お使いのSCAPSインストールをヘッドレスで操作し、あらゆるMCPクライアントからデバイス設計、シミュレーション、バッチ処理、曲線フィッティング、結果分析、妥当性チェックを利用できます。
SCAPSは含まれていません。SCAPSのウェブサイトに記載されている手順に従って開発者に申請し、SCAPSを論文で引用することを含む利用条件を遵守してください。
機能
- デバイス:任意の
.defファイルの内容を確認し、すべてのSCAPSsetコマンドで編集し、.materialファイルを各層に読み込み、デバイスをゼロから作成できます(最大7層、層ごとに最大7個の欠陥、界面ごとに最大3個の欠陥)。スクリプトからは設定できないソルバーの数値パラメーターも設定できます。 - シミュレーション:任意の動作点、照射側、スペクトルまたは生成モデル、NDフィルターとカットオフを指定して、J-V、QE、C-V、C-fを実行できます。エネルギーバンド、生成・再結合、ACプロファイルにも対応します。
- バッチ処理:温度、照射強度、バイアスなど、任意の
setまたはactionキーを対象に、グリッドまたはペア方式のスイープを実行できます。 - フィッティングと最適化:測定曲線(光照射時および暗状態のJ-V、QE、C-V)の1つ以上に対して、境界付きNelder-Mead法でフィッティングできます。また、効率、Voc、Jsc、FFを最大化、最小化、または目標値に近づけることができます。
- 入力ファイル:共有されている
.def、.material、吸収、スペクトル、生成、フィルター、グレーディング、測定ファイルをインポートできます。また、データから単位変換を行ってファイルを書き出すこともできます(吸収はαまたは消衰係数kから作成できます)。 - 分析:使用したスペクトルに対する吸収体のShockley-Queisser限界、QE積分によるJsc、Mott-Schottky法による内蔵電圧とドーピング濃度、すべての界面におけるバンドオフセットを分析できます。
- 妥当性チェック:詳細釣り合い限界を超える結果、放射再結合の欠如、理想的な界面、バンドスパイクやバンドクリフ、補償欠陥、あり得ない状態密度、デフォルトの吸収モデルなど、SCAPSの非物理的な解析によくある原因を検出します。
- ジョブ:時間のかかる実行はバックグラウンドで継続し、進捗の確認、完了待ち、キャンセルができます。
- 検証:SCAPSの起動前に、すべてのキーと値をインストールされているSCAPSのバージョンのコマンド一覧と照合して検証します。
要件
- SCAPS-1D 3.3(3.3.12でテスト済み)
- Python 3.11以降
Windowsでのセットアップ
書き込み可能なフォルダーに、インストーラーを使ってSCAPSをインストールします。SCAPSはインストールフォルダーを作業フォルダーとして使用するため、開発者はProgram Filesへのインストールを推奨していません。SCAPSの更新ファイルがあればインストール済みのファイルに上書きし、サーバーがSCAPSを検出できることを確認します。
uvx scaps-mcp doctor
Linuxでのセットアップ(任意)
SCAPSはWindowsプログラムです。LinuxではWineとXvfbを使ってヘッドレスで実行します。両方をインストールします(DebianおよびUbuntuの場合)。
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine wine32:i386 xvfb
32ビットのプレフィックスを作成し、展開済みのSCAPSインストーラーがあるフォルダーからSCAPSをインストールします。
export WINEARCH=win32 WINEPREFIX="$HOME/scaps/prefix"
xvfb-run -a bash -c 'wineboot -i && wineserver -w'
xvfb-run -a bash -c 'wine setup.exe /q /AcceptLicenses yes /r:n && wineserver -w'
SCAPSの更新ファイルがあればインストール済みのファイルに上書きし、サーバーがSCAPSを検出できることを確認します。
uvx scaps-mcp doctor
SCAPSの検索
SCAPS_HOMEが設定されていない場合、サーバーは「scaps」を名前に含むフォルダーを対象に、1階層または2階層下まで検索します。scapsXXXX.exeと、そのdef、results、scriptフォルダーがあるフォルダーを探します。
- Windows:システムドライブ、ユーザーフォルダー、Documents、Desktop、Downloads、Program Files、Program Files (x86)。
- Linux:ホームフォルダー、およびWineプレフィックスの
drive_cとProgram Filesフォルダー。対象となるプレフィックスは、~/.wine、$WINEPREFIX、$SCAPS_WINEPREFIX、winetricksのプレフィックス、ホームフォルダー内にある「scaps」のような名前のフォルダー内のプレフィックスです。
複数のインストールが見つかった場合は、最新バージョンのSCAPSが使用されます。scaps_statusとdoctorで、使用中のフォルダーとその他のフォルダーを確認できます。SCAPS_HOMEを設定すると、使用するフォルダーを指定できます。
設定
| 変数 | 意味 | デフォルト |
|---|---|---|
SCAPS_HOME | scapsXXXX.exe を含む SCAPS フォルダー | 自動検出 |
SCAPS_EXE | 実行ファイル名 | 最新の scaps*.exe |
SCAPS_TIMEOUT | SCAPS の実行ごとの秒数 | 300 |
SCAPS_RUNS_DIR | 実行の入力ファイルと結果の保存場所 | ユーザーのキャッシュフォルダー |
SCAPS_WINEPREFIX | Linux のみ:Wine のプレフィックス | SCAPS フォルダーを含むプレフィックス |
SCAPS_WINE、SCAPS_WINESERVER | Linux のみ:Wine バイナリー | システム上で自動検出 |
SCAPS_XVFB | Linux のみ:Xvfb の代わりに現在のディスプレイを使う場合は 0 | 1 |
プロットにはオプションの追加パッケージが必要です:uvx --with matplotlib scaps-mcp、または scaps-mcp[plot] をインストールしてください。
クライアント
Claude Code:
claude mcp add --transport stdio scaps -- uvx scaps-mcp
PyPI ではなく、リポジトリから直接実行する場合:
claude mcp add --transport stdio scaps -- uvx --from git+https://github.com/asiff00/scaps-mcp scaps-mcp
SCAPS がサーバーの検索対象外の場所にある場合は、scaps の前に --env SCAPS_HOME=<folder> を追加してください。
バッチやフィッティングで長いツールタイムアウトを設定するプロジェクト設定(.mcp.json):
{
"mcpServers": {
"scaps": {
"command": "uvx",
"args": ["scaps-mcp"],
"timeout": 3600000
}
}
}
その他の MCP クライアントも同じコマンドを起動します。SCAPS がサーバーの検索対象外の場所にある場合に限り、サーバー環境に SCAPS_HOME を設定してください。
ツール
| ツール | 目的 |
|---|---|
scaps_status | インストール状況、バージョン、実行フォルダー、プロット対応状況、実行中のジョブ |
scaps_list_files | 定義、材料、スペクトル、吸収、グレーディング、測定、その他のファイル |
scaps_script_reference | インストール済みの SCAPS コマンド一覧を検索 |
scaps_describe_device | 層、欠陥、バンドオフセットを含む界面、接点、現実性チェック |
scaps_edit_device | コマンド、材料、ソルバーの数値設定を行い、新しい定義として保存 |
scaps_create_device | 層、欠陥、界面、接点の記述から新しいデバイスを作成 |
scaps_import_file | SCAPS の共有ファイルを追加し、参照先の欠落ファイルを報告 |
scaps_write_data | データから吸収、スペクトル、生成、フィルター、グレーディング、測定ファイルを書き込み |
scaps_simulate | 指標、曲線、プロファイル、解析、チェックを含む単一のシミュレーション |
scaps_batch | 設定キーとアクションキーに対するグリッドまたはペアのスイープ |
scaps_optimize | 測定曲線をフィッティングするか、性能指数を最適化 |
scaps_jobs | 実行の一覧表示、確認、待機、キャンセル |
scaps_results | 任意の結果ファイルからページ分割されたテーブルを取得 |
scaps_plot | 結果の曲線とプロファイルの PNG プロット |
scaps_run_script | レコーダー、数式、ループ、タンデムのワークフロー向けに検証済みの SCAPS スクリプト |
scaps_sq_limit | 指定されたバンドギャップとスペクトルに対する詳細釣り合い限界 |
定義と実行ファイルは、scaps://definitions/{name} および scaps://runs/{run_id}/{file} リソースからも利用できます。
規約
キーと単位は SCAPS スクリプト言語に準拠します:厚さは um、密度は cm^-3、界面密度は cm^-2、移動度は cm^2/Vs、速度は cm/s、断面積は cm^2、エネルギーは eV、温度は K です。層、欠陥、界面の番号は 1 から始まり、層 1 は左側(裏面)の接点に接しています。接点は contactleft と contactright で指定します。
スクリプトでは、層に最初のバルク欠陥を追加できません。scaps_create_device が欠陥を挿入して設定します。グレーディング則、多価欠陥の準位ごとのパラメーター、GUI の曲線フィッターにはスクリプトコマンドがありません。グレーディングファイル、scaps_optimize、GUI で作成した定義を使用してください。
安全性
1 つのインストールにつき、同時に実行できる SCAPS プロセスは 1 つです。すべてのプロセスが順守するファイルロック(Linux では fcntl、Windows では msvcrt)によって制御されます。SIGTERM を含め、サーバーを停止すると、サーバーが起動した SCAPS プロセスも停止します。クラッシュで残されたプロセスは、次回の実行時に停止されます。ファイル名には SCAPS フォルダー内の単独の名前を指定してください。スクリプトからシステムコマンドを実行したり、操作を妨げるダイアログを開いたりすることはできません。分離のため、プレフィックスからホストのルートへの Wine ドライブマッピングを削除してください。
関連スキル
scaps-1d スキルは、エージェントに SCAPS のワークフローと現実性のルールを教えます。単独で動作し、これらのツールが利用可能な場合は使用します。
開発
uv sync
uv run pytest
uv run pytest -m scaps
uv run ruff check src tests
引用
SCAPS を使用したシミュレーションでは、M. Burgelman, P. Nollet and S. Degrave, Modelling polycrystalline semiconductor solar cells, Thin Solid Films 361-362 (2000) 527-532, doi:10.1016/S0040-6090(99)00825-1 を引用してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。