poker-mcp 1.8.3 → 1.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +160 -15
- package/package.json +70 -62
- package/src/mcp/handlers/cadHandlers.js +202 -1
- package/src/mcp/handlers/calculationHandlers.js +7 -3
- package/src/mcp/handlers/index.js +6 -2
- package/src/mcp/handlers/schemaHandlers.js +78 -0
- package/src/mcp/middleware/errorHandler.js +19 -1
- package/src/mcp/server.js +15 -1
- package/src/mcp/tools/cadTools.js +91 -65
- package/src/mcp/tools/index.js +6 -3
- package/src/mcp/tools/schemaTools.js +30 -0
- package/src/mcp/tools/thinnedIndicesTools.js +86 -78
- package/src/services/TaskManager.js +114 -103
- package/src/utils/doseMapParser.js +168 -109
- package/tools/gen_input.py +717 -0
- package/tools/gen_paths.py +549 -470
- package/tools/ray_trace_tri.py +10 -0
- package/tools/scatter.py +474 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Yoshihiro Hirao
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -4,14 +4,82 @@ YAML-based input file management tool for radiation-shielding calculation code P
|
|
|
4
4
|
|
|
5
5
|
## 📋 クイック情報
|
|
6
6
|
|
|
7
|
-
- **バージョン**: 1.
|
|
7
|
+
- **バージョン**: 1.9.9
|
|
8
|
+
- **ツール数**: 36メソッド
|
|
8
9
|
- **プロトコル**: MCP (Model Context Protocol) 1.0.0 完全準拠
|
|
9
10
|
- **メインサーバー**: `src/mcp_server_stdio_v4.js`
|
|
10
11
|
- **データ保存**: `~/.poker-mcp/`(`POKER_MCP_HOME`環境変数で変更可)
|
|
11
12
|
- **核種データ**: `${POKER_INSTALL_PATH}/LIB/ICRP-07.NDX` を直接参照
|
|
12
13
|
- **実行方式**: STDIO通信(MCPプロトコル標準)
|
|
13
14
|
|
|
14
|
-
##
|
|
15
|
+
## 🐛 バージョン1.9.9の修正
|
|
16
|
+
|
|
17
|
+
npm で入れた環境(`npx poker-mcp`)でだけ現れる不具合と、失敗の伝え方の不具合を
|
|
18
|
+
直しました。まっさらな Windows に npm パッケージから入れた環境で、CAD 連携を含む
|
|
19
|
+
計算結果がリポジトリ上の実行と全行一致することを確認しています。
|
|
20
|
+
|
|
21
|
+
### `poker_generateInput` が npm 版で動かなかった
|
|
22
|
+
|
|
23
|
+
`tools/gen_input.py` と、それが読み込む `tools/scatter.py` が `package.json` の
|
|
24
|
+
`files` から漏れていました。リポジトリから動かすと問題なく、npm から入れた環境で
|
|
25
|
+
だけ `No module named 'gen_input'` で失敗していました。
|
|
26
|
+
|
|
27
|
+
### 失敗が成功として返っていた
|
|
28
|
+
|
|
29
|
+
CAD 系などのハンドラが返す `{ content, isError }` を、共通の処理がもう一度包んで
|
|
30
|
+
いたため、`isError: true` が本文の中に埋もれ、MCP の上では成功として伝わって
|
|
31
|
+
いました。AI クライアントは失敗に気づかないまま次の手順へ進みます。
|
|
32
|
+
|
|
33
|
+
すでに MCP の応答形式になっている戻り値はそのまま返し、`{ success: false, ... }`
|
|
34
|
+
を返すハンドラには `isError: true` を付けるようにしました。立体・ゾーン・線源など
|
|
35
|
+
の検証エラーも、MCP の上で失敗として伝わります。
|
|
36
|
+
|
|
37
|
+
### 計算エラーの処理そのものが落ちていた
|
|
38
|
+
|
|
39
|
+
`poker_executeCalculation` が計算エラーを返す途中で
|
|
40
|
+
`Cannot read properties of undefined (reading '_isRecoverableError')` になり、
|
|
41
|
+
本来のエラー内容が隠れていました。ハンドラがオブジェクトから切り離して呼ばれる
|
|
42
|
+
ため `this` が未定義になっていたのが原因です。
|
|
43
|
+
|
|
44
|
+
## 🆕 バージョン1.9.8の新機能
|
|
45
|
+
|
|
46
|
+
### 📜 `poker_getSchema` — ファイル書式を JSON Schema で取得
|
|
47
|
+
|
|
48
|
+
POKER が扱う4種類のファイルの書式を、機械可読な形で取得できます。
|
|
49
|
+
|
|
50
|
+
```javascript
|
|
51
|
+
poker_getSchema() // 入力 YAML
|
|
52
|
+
poker_getSchema({ kind: "paths" }) // CAD から抽出した経路ファイル
|
|
53
|
+
poker_getSchema({ kind: "summary" })
|
|
54
|
+
poker_getSchema({ kind: "dose" })
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
スキーマは静的なファイルではなく、`poker_cui --schema` をその場で呼んで
|
|
58
|
+
生成します。そのため実行環境の POKER の版と材料ライブラリに必ず一致し、
|
|
59
|
+
`lib_material.dat` に材料を追加していれば、その材料も材料名の一覧
|
|
60
|
+
(`$defs` の `x-poker-names`)に現れます。
|
|
61
|
+
|
|
62
|
+
規定するのは書式・型・値域までです。参照の解決(`zone.body_name` が
|
|
63
|
+
`body` に在るか)や名前の存在確認は従来どおり `poker_cui --validate`
|
|
64
|
+
(`poker_executeCalculation` が内部で実施)の担当で、両者で役割が分かれます。
|
|
65
|
+
|
|
66
|
+
`.dose` のスキーマには、YAML の頭部に続く数値表の読み方
|
|
67
|
+
(ブロックの区切り・列の索引 `[dose, ray, energy]`・行の索引
|
|
68
|
+
`i + j*number_i + k*number_i*number_j`)が `x-poker-data-layout` として
|
|
69
|
+
書かれています。
|
|
70
|
+
|
|
71
|
+
### 🐛 `poker_getDoseMap` が線量種別の増加に追随
|
|
72
|
+
|
|
73
|
+
`.dose` の列構成を、線量種別3種・線種4種と決め打ちしていました。線量種別は
|
|
74
|
+
ライブラリ設定で増えるため(`E(PA)` や空気カーマを足した場合)、その環境では
|
|
75
|
+
誤った列を読むか、集計ブロックを見つけられず失敗していました。
|
|
76
|
+
|
|
77
|
+
冒頭の `information` から `dose_type` / `ray_type` / 線源ごとの `energy_bin` を
|
|
78
|
+
数えて列構成を決めるようにしました。1D/2D/3D 検出器の全評価点について、
|
|
79
|
+
`.summary` の `statistics_total`(min/max)と一致することを
|
|
80
|
+
`npm run test:schema` で検証しています。
|
|
81
|
+
|
|
82
|
+
## 🆕 バージョン1.8.0〜1.8.3の新機能
|
|
15
83
|
|
|
16
84
|
### 📐 CAD連携が MCP だけで完結
|
|
17
85
|
従来、CAD からの経路抽出は MCP を経由せず、FreeCAD を手で起動する必要が
|
|
@@ -19,6 +87,7 @@ YAML-based input file management tool for radiation-shielding calculation code P
|
|
|
19
87
|
スクリプトを渡す。3 手順すべてが手作業でした。
|
|
20
88
|
|
|
21
89
|
```javascript
|
|
90
|
+
poker_generateInput({ fcstd: "C:/path/to/model.FCStd" }) // YAML を生成
|
|
22
91
|
poker_generatePaths({ fcstd: "C:/path/to/model.FCStd" })
|
|
23
92
|
poker_executeCalculation({ yaml_file: "poker.yaml", path_input: "poker.paths" })
|
|
24
93
|
```
|
|
@@ -43,6 +112,15 @@ FreeCAD の場所を、環境変数 → PATH → 既定のインストール先
|
|
|
43
112
|
解決されていました。MCP サーバの起動場所によっては別の場所を指します。
|
|
44
113
|
|
|
45
114
|
|
|
115
|
+
### 📦 CAD連携ツールを npm パッケージに同梱(v1.8.2)
|
|
116
|
+
`poker_generatePaths` が使う Python スクリプトが `files` に含まれておらず、
|
|
117
|
+
GitHub から clone した環境でしか動きませんでした。`npm install` / `npx` でも
|
|
118
|
+
使えるようにしています。
|
|
119
|
+
|
|
120
|
+
### 🐛 サマリーの衝突を修正(v1.8.3)
|
|
121
|
+
`generatePaths` が `-p` 付きで作ったサマリーを `executeCalculation` が上書きし、
|
|
122
|
+
次に `generatePaths` を呼ぶと失敗していました。専用ファイルに分離しています。
|
|
123
|
+
|
|
46
124
|
## 🆕 バージョン1.7.0〜1.7.2の新機能
|
|
47
125
|
|
|
48
126
|
### 📉 サマリー出力量の制御(ThinnedIndices 操作系 3メソッド)
|
|
@@ -50,6 +128,9 @@ FreeCAD の場所を、環境変数 → PATH → 既定のインストール先
|
|
|
50
128
|
線源分割点と検出器評価点が必要ですが、既定では間引かれるため手で書き足す
|
|
51
129
|
必要がありました。
|
|
52
130
|
|
|
131
|
+
**`poker_generatePaths` が自動で合わせる**ので、通常は意識する必要はありません。
|
|
132
|
+
手で設定したい場合はこうします。
|
|
133
|
+
|
|
53
134
|
```javascript
|
|
54
135
|
poker_updateThinnedIndices({ fit_for_paths: true })
|
|
55
136
|
// → 入力の分割定義と検出器グリッドから必要数を計算して設定
|
|
@@ -104,16 +185,18 @@ poker_getThinnedIndices()
|
|
|
104
185
|
|
|
105
186
|
### 📡 CAD連携レイトレース
|
|
106
187
|
FreeCAD のソリッドモデルを、STEP のような中間フォーマットを介さず、CSG で
|
|
107
|
-
表現し直す作業も無しに遮蔽体系として扱えます。**MCP の
|
|
188
|
+
表現し直す作業も無しに遮蔽体系として扱えます。**MCP の 3 呼び出しで完結**します。
|
|
108
189
|
|
|
109
190
|
```javascript
|
|
191
|
+
poker_generateInput({ fcstd: "C:/path/to/model.FCStd" })
|
|
110
192
|
poker_generatePaths({ fcstd: "C:/path/to/model.FCStd" })
|
|
111
193
|
poker_executeCalculation({ yaml_file: "poker.yaml", path_input: "poker.paths" })
|
|
112
194
|
```
|
|
113
195
|
|
|
196
|
+
CAD が正本です。**YAML を手で書く必要はありません。** ソリッドに材質・線源・
|
|
197
|
+
検出器をカスタムプロパティで設定しておけば、そこから入力が生成されます。
|
|
114
198
|
線源点→検出器の直線を FreeCAD 側で追跡し、通過した材質と厚さを `.paths` に
|
|
115
|
-
記録して POKER
|
|
116
|
-
等価材料の解決はすべて自動です。
|
|
199
|
+
記録して POKER に渡します。
|
|
117
200
|
|
|
118
201
|
CSG 経由と一致することを平板・円筒・球の 5 体系で確認済みです。フィレットや
|
|
119
202
|
自由曲面のように CSG で表現できない形状も扱えます。**複数線源・グリッド検出器・
|
|
@@ -156,6 +239,7 @@ numpy はレイトレーサが使いますが、FreeCAD に同梱されている
|
|
|
156
239
|
他の CAD で作ったモデルを STEP で読み込んだ場合、材質情報は失われるので
|
|
157
240
|
FreeCAD 上で設定してください。一度設定すれば `.FCStd` に保存されます。
|
|
158
241
|
|
|
242
|
+
まずは [CAD_QUICKSTART.md](./docs/manuals/CAD_QUICKSTART.md)(最短手順と実例)を、
|
|
159
243
|
詳細は [CAD_RAYTRACE.md](./docs/manuals/CAD_RAYTRACE.md)、フォーマットは
|
|
160
244
|
[PATHS_FORMAT.md](./docs/manuals/PATHS_FORMAT.md)。
|
|
161
245
|
|
|
@@ -401,14 +485,14 @@ Claude Desktopで以下のようにテストできます:
|
|
|
401
485
|
## 🏆 主要機能
|
|
402
486
|
|
|
403
487
|
### ✅ **MCP完全対応**
|
|
404
|
-
- **
|
|
488
|
+
- **36メソッド完全実装**: 全ての放射線遮蔽計算入力管理機能
|
|
405
489
|
- **JSON-RPC 2.0準拠**: 標準プロトコル完全対応
|
|
406
490
|
- **STDIO通信**: MCPクライアントとの標準通信方式
|
|
407
491
|
- **自動バックアップ・ロールバック**: 企業品質のデータ保護
|
|
408
492
|
|
|
409
493
|
### ✅ **放射線遮蔽計算専用設計**
|
|
410
494
|
- **10種類の立体形状**: SPH, RCC, RPP, BOX, CMB, TOR, ELL, REC, TRC, WED
|
|
411
|
-
- **
|
|
495
|
+
- **23種類の材料**: 鉄・鉛・コンクリート(普通/重量3種)・SUS・ポリエチレン等(`lib_material.dat` から読み込み)
|
|
412
496
|
- **複数線源対応**: 点・体積線源の完全管理
|
|
413
497
|
- **検出器配置**: 0D/1D/2D/3D検出器の柔軟な配置
|
|
414
498
|
|
|
@@ -420,7 +504,7 @@ Claude Desktopで以下のようにテストできます:
|
|
|
420
504
|
|
|
421
505
|
## 🎯 API構成
|
|
422
506
|
|
|
423
|
-
### 🔧 **
|
|
507
|
+
### 🔧 **36メソッド完全実装**
|
|
424
508
|
|
|
425
509
|
| **カテゴリ** | **メソッド数** | **機能** | **主要操作** |
|
|
426
510
|
|-------------|---------------|----------|-------------|
|
|
@@ -431,9 +515,12 @@ Claude Desktopで以下のようにテストできます:
|
|
|
431
515
|
| **📡 Source** | 3個 | 線源管理 | propose・update・delete |
|
|
432
516
|
| **🎯 Detector** | 3個 | 検出器管理 | propose・update・delete |
|
|
433
517
|
| **📏 Unit** | 5個 | 単位設定管理 | propose・get・update・validateIntegrity・analyzeConversion |
|
|
434
|
-
|
|
|
518
|
+
| **📉 ThinnedIndices** | 3個 | サマリー出力量の制御 | propose・get・update |
|
|
519
|
+
| **📐 CAD** | 2個 | CAD から入力と経路を生成 | generateInput・generatePaths |
|
|
520
|
+
| **⚙️ System** | 6個 | システム制御 | applyChanges・executeCalculation・resetYaml・confirmDaughterNuclides・openGui・getDoseMap |
|
|
521
|
+
| **📜 Schema** | 1個 | ファイル書式の取得 | getSchema |
|
|
435
522
|
|
|
436
|
-
### 📋 **全
|
|
523
|
+
### 📋 **全36メソッド一覧**
|
|
437
524
|
```
|
|
438
525
|
Body系 (3): poker_proposeBody, poker_updateBody, poker_deleteBody
|
|
439
526
|
Zone系 (3): poker_proposeZone, poker_updateZone, poker_deleteZone
|
|
@@ -444,8 +531,12 @@ Source系 (3): poker_proposeSource, poker_updateSource, poker_deleteSourc
|
|
|
444
531
|
Detector系 (3): poker_proposeDetector, poker_updateDetector, poker_deleteDetector
|
|
445
532
|
Unit系 (5): poker_proposeUnit, poker_getUnit, poker_updateUnit,
|
|
446
533
|
poker_validateUnitIntegrity, poker_analyzeUnitConversion
|
|
534
|
+
ThinnedIndices系 (3): poker_proposeThinnedIndices, poker_getThinnedIndices,
|
|
535
|
+
poker_updateThinnedIndices
|
|
536
|
+
CAD系 (2): poker_generateInput, poker_generatePaths
|
|
447
537
|
System系 (6): poker_applyChanges, poker_executeCalculation, poker_resetYaml,
|
|
448
|
-
poker_confirmDaughterNuclides, poker_openGui,
|
|
538
|
+
poker_confirmDaughterNuclides, poker_openGui, poker_getDoseMap
|
|
539
|
+
Schema系 (1): poker_getSchema
|
|
449
540
|
```
|
|
450
541
|
|
|
451
542
|
## 📁 プロジェクト構造
|
|
@@ -462,9 +553,10 @@ poker_mcp/
|
|
|
462
553
|
│ │ ├── logger.js # ログ出力(絶対パス)
|
|
463
554
|
│ │ └── ...
|
|
464
555
|
│ └── 📁 config/ # 設定管理
|
|
556
|
+
├── 📁 tools/ # 🔧 CAD連携(レイトレーサ・経路生成)
|
|
465
557
|
├── 📁 docs/ # 📚 完全ドキュメント
|
|
466
558
|
├── .mcp.json # MCPクライアント接続設定
|
|
467
|
-
├── package.json #
|
|
559
|
+
├── package.json # パッケージ定義
|
|
468
560
|
└── README.md # このファイル
|
|
469
561
|
|
|
470
562
|
# 実行時に自動作成されるディレクトリ(POKER_MCP_HOME配下)
|
|
@@ -542,7 +634,7 @@ POKER_MCP_HOME/
|
|
|
542
634
|
|
|
543
635
|
### **✅ 放射線遮蔽計算特化**
|
|
544
636
|
- **物理的妥当性**: 全パラメータの物理検証
|
|
545
|
-
- **材料データベース**: 標準遮蔽材料
|
|
637
|
+
- **材料データベース**: 標準遮蔽材料23種(lib_material.dat 準拠)
|
|
546
638
|
- **単位系管理**: 4キー完全性保証(長さ・角度・密度・放射能)
|
|
547
639
|
- **計算品質保証**: 自動整合性チェック
|
|
548
640
|
|
|
@@ -562,6 +654,7 @@ POKER_MCP_HOME/
|
|
|
562
654
|
|
|
563
655
|
- **POKER**: 放射線遮蔽計算メインコード
|
|
564
656
|
- **poker_cui**: コマンドライン実行インターフェース
|
|
657
|
+
- **FreeCAD**: CAD連携レイトレース(`poker_generatePaths` を使う場合のみ)
|
|
565
658
|
|
|
566
659
|
## 🔗 システム要件
|
|
567
660
|
|
|
@@ -569,6 +662,8 @@ POKER_MCP_HOME/
|
|
|
569
662
|
- **OS**: Windows, macOS, Linux
|
|
570
663
|
- **MCP Client**: Claude Desktop (推奨)、その他MCPクライアント
|
|
571
664
|
- **メモリ**: 512MB以上推奨(大規模検出器使用時は1GB以上)
|
|
665
|
+
- **POKER 本体**: v2.1.5 以降(`POKER_INSTALL_PATH` で場所を指定)
|
|
666
|
+
- **FreeCAD**: 1.0 以降(CAD連携を使う場合。`FREECAD_PATH`、未設定なら自動探索)
|
|
572
667
|
|
|
573
668
|
## 🎯 実際の使用ワークフロー
|
|
574
669
|
|
|
@@ -593,6 +688,46 @@ POKER_MCP_HOME/
|
|
|
593
688
|
|
|
594
689
|
## 📝 更新履歴
|
|
595
690
|
|
|
691
|
+
### v1.9.9 (2026-10)
|
|
692
|
+
- 🐛 `tools/gen_input.py` と `tools/scatter.py` を npm パッケージに同梱(`poker_generateInput` が npm 版で動かなかった)
|
|
693
|
+
- 🐛 ツールの失敗が `isError: true` として伝わるよう修正(応答の二重包みを解消、`success: false` に `isError` を付与)
|
|
694
|
+
- 🐛 `poker_executeCalculation` の計算エラー処理が `this` 未定義で落ちていた問題を修正
|
|
695
|
+
|
|
696
|
+
### v1.9.8 (2026-10)
|
|
697
|
+
- ✨ `poker_getSchema`(入力YAML・`.paths`・`.summary`・`.dose` の書式を JSON Schema で取得)
|
|
698
|
+
- 🐛 `poker_getDoseMap` が `.dose` の列構成を `information` から読むようになり、線量種別の増加に追随
|
|
699
|
+
- ✅ `npm run test:schema` を追加
|
|
700
|
+
|
|
701
|
+
### v1.9.0〜v1.9.7 (2026-09)
|
|
702
|
+
- ✨ `poker_generateInput`(CAD から入力 YAML を生成)
|
|
703
|
+
- ✨ `generatePaths` が `thinnedindices` を `.paths` 生成に必要な値へ自動調整
|
|
704
|
+
- ✨ `.paths` の座標・個数照合を強化
|
|
705
|
+
|
|
706
|
+
### v1.8.0〜v1.8.3 (2026-09)
|
|
707
|
+
- ✨ CAD連携が MCP だけで完結(`poker_generatePaths` と `path_input`)
|
|
708
|
+
- ✨ `FREECAD_PATH` 環境変数(未設定なら PATH と既定の場所を自動探索)
|
|
709
|
+
- 🐛 相対パスの解決をプロセスのカレントから `TASKS_DIR` 基準に修正
|
|
710
|
+
- 🐛 `generatePaths` と `executeCalculation` のサマリー衝突を修正
|
|
711
|
+
|
|
712
|
+
### v1.7.0〜v1.7.2 (2026-09)
|
|
713
|
+
- ✨ ThinnedIndices 操作系 3メソッド(サマリー出力量の制御)
|
|
714
|
+
- ✨ `get` 系が保留中の変更を `pending` として併記
|
|
715
|
+
- ✨ `.paths` の座標照合(検出器を動かして再生成し忘れた場合を検出)
|
|
716
|
+
|
|
717
|
+
### v1.6.0 (2026-09)
|
|
718
|
+
- ✨ CAD連携レイトレースのツール群と `.paths` フォーマット
|
|
719
|
+
- ✨ 材料システムを `lib_material.dat` 準拠に
|
|
720
|
+
|
|
721
|
+
### v1.5.0 (2026-08)
|
|
722
|
+
- ✨ `poker_openGui` で POKER を閉じずに表示を切り替え(POKER 2.1.1 以降)
|
|
723
|
+
- 🐛 起動失敗時の偽の成功報告を修正
|
|
724
|
+
|
|
725
|
+
### v1.4.0 (2026-07)
|
|
726
|
+
- ✨ 子孫核種の自動管理(ICRP-07 準拠)
|
|
727
|
+
|
|
728
|
+
### v1.3.0 (2026-06)
|
|
729
|
+
- ✨ `poker_getDoseMap`(グリッド検出器の線量マップ取得)
|
|
730
|
+
|
|
596
731
|
### v1.2.8 (2026-05-16)
|
|
597
732
|
- ✨ `poker_openGui` メソッドを新設(POKER.exe でGUI確認)
|
|
598
733
|
- ✨ 起動前に `applyChanges` を自動実行
|
|
@@ -628,6 +763,16 @@ POKER_MCP_HOME/
|
|
|
628
763
|
- 初期リリース
|
|
629
764
|
- YAML管理基本機能
|
|
630
765
|
|
|
766
|
+
## 📜 ライセンス
|
|
767
|
+
|
|
768
|
+
**MIT License** — 著作権 (c) 2025-2026 Yoshihiro Hirao。全文は
|
|
769
|
+
[LICENSE](LICENSE) を参照してください。
|
|
770
|
+
|
|
771
|
+
このライセンスが及ぶのは本リポジトリの内容(poker-mcp)だけです。POKER itself is
|
|
772
|
+
obtained separately and licensed separately. poker-mcp は `poker_cui` を外部
|
|
773
|
+
プロセスとして起動するだけなので、POKER 本体の許諾には影響しません。FreeCAD も
|
|
774
|
+
別途入手が必要で、それぞれのライセンスに従います。
|
|
775
|
+
|
|
631
776
|
## 📞 サポート・詳細情報
|
|
632
777
|
|
|
633
778
|
- **📖 詳細README**: [docs/README.md](docs/README.md)
|
|
@@ -638,6 +783,6 @@ POKER_MCP_HOME/
|
|
|
638
783
|
|
|
639
784
|
---
|
|
640
785
|
|
|
641
|
-
**🎯 Poker MCP Server v1.
|
|
786
|
+
**🎯 Poker MCP Server v1.9.9**
|
|
642
787
|
**プロトコル**: MCP 1.0.0 完全準拠
|
|
643
|
-
**作者**: Yoshihiro Hirao | **ライセンス**:
|
|
788
|
+
**作者**: Yoshihiro Hirao | **ライセンス**: MIT
|
package/package.json
CHANGED
|
@@ -1,62 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "poker-mcp",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "YAML-based input file management tool for radiation shielding calculation code POKER with MCP support - Enhanced with collision detection, daughter nuclide auto-completion, and environment variable support",
|
|
5
|
-
"main": "src/mcp_server_stdio_v4.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"bin": {
|
|
8
|
-
"poker-mcp": "src/mcp_server_stdio_v4.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "node src/mcp_server_stdio_v4.js",
|
|
12
|
-
"dev": "nodemon src/mcp_server_stdio_v4.js",
|
|
13
|
-
"prepare": "echo 'NPX ready: npx poker-mcp'",
|
|
14
|
-
"check:manifest": "node scripts/check-manifest-sync.mjs",
|
|
15
|
-
"test:pending": "node tests/pending-view.test.mjs",
|
|
16
|
-
"test:cad": "node tests/cad-e2e.test.mjs"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
".
|
|
61
|
-
|
|
62
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "poker-mcp",
|
|
3
|
+
"version": "1.9.9",
|
|
4
|
+
"description": "YAML-based input file management tool for radiation shielding calculation code POKER with MCP support - Enhanced with collision detection, daughter nuclide auto-completion, and environment variable support",
|
|
5
|
+
"main": "src/mcp_server_stdio_v4.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"poker-mcp": "src/mcp_server_stdio_v4.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node src/mcp_server_stdio_v4.js",
|
|
12
|
+
"dev": "nodemon src/mcp_server_stdio_v4.js",
|
|
13
|
+
"prepare": "echo 'NPX ready: npx poker-mcp'",
|
|
14
|
+
"check:manifest": "node scripts/check-manifest-sync.mjs",
|
|
15
|
+
"test:pending": "node tests/pending-view.test.mjs",
|
|
16
|
+
"test:cad": "node tests/cad-e2e.test.mjs",
|
|
17
|
+
"test:cad-full": "node tests/cad-full.test.mjs",
|
|
18
|
+
"test:cad-validate": "node tests/cad-validate.test.mjs",
|
|
19
|
+
"test:cad-pipe": "node tests/cad-pipe.test.mjs",
|
|
20
|
+
"test:cad-thinned": "node tests/cad-thinned-fit.test.mjs",
|
|
21
|
+
"test:schema": "node tests/schema-dose.test.mjs"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"mcp",
|
|
25
|
+
"model-context-protocol",
|
|
26
|
+
"yaml",
|
|
27
|
+
"radiation",
|
|
28
|
+
"shielding",
|
|
29
|
+
"nuclear",
|
|
30
|
+
"radioisotope",
|
|
31
|
+
"medical",
|
|
32
|
+
"accelerator",
|
|
33
|
+
"POKER",
|
|
34
|
+
"physics",
|
|
35
|
+
"validation",
|
|
36
|
+
"npx",
|
|
37
|
+
"point-kernel",
|
|
38
|
+
"collision-detection",
|
|
39
|
+
"daughter-nuclide"
|
|
40
|
+
],
|
|
41
|
+
"author": "Yoshihiro Hirao <tora@pointkernel.com>",
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"repository": {
|
|
44
|
+
"type": "git",
|
|
45
|
+
"url": "git+https://github.com/Hirao-Y/poker_mcp.git"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/Hirao-Y/poker_mcp#readme",
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=18.0.0"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
53
|
+
"js-yaml": "^4.1.0",
|
|
54
|
+
"winston": "^3.17.0",
|
|
55
|
+
"zod": "^3.24.2"
|
|
56
|
+
},
|
|
57
|
+
"files": [
|
|
58
|
+
"src/",
|
|
59
|
+
"tools/gen_input.py",
|
|
60
|
+
"tools/gen_paths.py",
|
|
61
|
+
"tools/scatter.py",
|
|
62
|
+
"tools/ray_trace_tri.py",
|
|
63
|
+
"tools/poker_lib.py",
|
|
64
|
+
"tools/audit_mfp.py",
|
|
65
|
+
"tools/compare_poker_trace.py",
|
|
66
|
+
"README.md",
|
|
67
|
+
"LICENSE",
|
|
68
|
+
".mcp.json"
|
|
69
|
+
]
|
|
70
|
+
}
|