mcpField
P
PHM Physics Check

PHM Physics Check

ローカル
github.com/PHM-Audit科学・教育01 日前に更新

PHM Physics Check について

PHM Physics Check は、LLM の出力やロボティクスデータの物理的妥当性を検証するオフラインライブラリ兼ローカル MCP サーバーです。Python 標準ライブラリのみで決定論的に検査し、PASS、WARN、FAIL の構造化判定を返します。

主な機能

  1. 01次元と単位の整合性検査
  2. 02物理限界と確率の検証
  3. 03運動学・保存則の検査
  4. 04ロボティクスの四元数とタイムスタンプ検査
  5. 05PASS、WARN、FAIL の構造化結果
  6. 06依存関係なしのオフライン動作

活用シーン

  1. 01生成テキスト内の物理量の確認
  2. 02ロボティクスデータ記録の検証
  3. 03無効な単位や物理値の検出

MCP 対応

stdio でローカル実行し、`physics_text_check`、`physics_quantity_check`、`robotics_data_check` ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbphm-lite-check-mcpb-1.0.1.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

phm-lite-check

LLM の出力およびロボティクス/エンボディド AI データセットの物理的妥当性を決定論的にチェックします。依存関係はなく、標準ライブラリのみを使用し、Python >= 3.8 に対応しています。

このパッケージは、コミュニティが提供する独立したライブラリです。PHM 物理判断エンジンのオフラインサブセットであり、独自のコアメソッドは意図的に含めていません。コンパニオンプラグイン (phm-physics-check)は Dify Marketplace に掲載されています。

LangChain、AutoGen、Dify との提携、推奨、または支援を受けているものではありません。統合アダプターはコミュニティが提供しています。

MCP サーバー

このパッケージは、ローカル MCP サーバー(stdio トランスポート)としても動作します。インストール後、MCP クライアントの接続先に以下を指定してください。

python3 -m phm_lite_check.mcp_server

次の 3 つのツールを公開します。physics_text_check、physics_quantity_check、robotics_data_check。

チェック項目

テキスト/数量(check_text、full_check)
  • 次元/単位の整合性(SI 単位および一般的な単位)
  • 万有速度の上限(c)
  • 絶対温度の下限(0 K)
  • 質量/長さ/エネルギーが負でないこと
  • 確率の範囲 [0, 1]
  • 運動学的関係(自由落下の一連の関係式。許容誤差をチェック)
  • 保存則のチェック(エネルギー/運動量。許容誤差をチェック)
ロボティクスレコード(check_robotics_record)
  • クォータニオンの正規化(|q| が 1.0 から許容誤差内であること)
  • タイムスタンプの妥当性:単調性、重複、NaN/Inf、外れ値となる間隔 (フレーム欠落の可能性)
  • 数値配列の NaN/Inf スキャン
  • 一般的なモーションフィールドにおける単位注釈の有無

設計上の保証

  • 決定論的:同じ入力には常に同じ出力を返し、再現性があります。
  • 依存関係なし:標準ライブラリのみを使用します。フレームワークアダプターはホストを遅延インポートします。
  • 判定結果:PASS / WARN / FAIL を、構造化された違反レコードとともに返します。
  • ネットワーク呼び出しなし:すべてオフラインでプロセス内実行されます。

NOTE:このパッケージに含まれるのは、PHM 物理判断エンジンの決定論的なオフラインサブセットのみです。独自のコアメソッドは意図的に含めていません。(デプロイ環境固有の詳細なチェックは、設定可能なリモートエンジンエンドポイントから別途利用できますが、このパッケージには含まれていません。)

インストール

オプション A — GitHub リポジトリから(パッケージインデックスは不要です):

pip install git+https://github.com/PHM-Audit/phm-lite-check

オプション B — Release wheel から(高速で、git clone は不要です):

pip install https://github.com/PHM-Audit/phm-lite-check/releases/download/v1.0.0/phm_lite_check-1.0.0-py3-none-any.whl

オプションの追加機能(インストール後):

pip install "phm-lite-check[langchain]"   # + langchain-core (adapter tests)
pip install "phm-lite-check[autogen]"     # + autogen-agentchat

PyPI への掲載を予定しています。上記の両オプションは現在利用できます。

クイックスタート — ライブラリ

from phm_lite_check import check_text, check_robotics_record

check_text("The drone descends at 450 km/h and confidence is 1.8.")
# {"verdict": "FAIL", "violations": [...], ...}

check_robotics_record({
    "quaternion": [1.395, 0.0, 0.0, 0.0],   # |q| >> 1 -> FAIL
    "timestamps": [0.0, 0.1, 0.05],          # not monotonic -> FAIL
    "position": [1.0, 2.0],                  # no unit annotated -> WARN
})

クイックスタート — LangChain

from phm_lite_check.integrations import langchain_tool

tools = langchain_tool.get_langchain_tools()   # 3 @tool callables
agent = create_react_agent(llm, tools)         # your usual wiring

クイックスタート — AutoGen(v0.4+)

from autogen_agentchat.agents import AssistantAgent
from phm_lite_check.integrations import autogen_tool

assistant = AssistantAgent(
    name="checked_assistant",
    model_client=...,                    # your model client
    tools=autogen_tool.get_autogen_tools(),
)

両方のアダプターが公開するツール

ツール入力チェック項目
physics_text_check数量を含む自由形式のテキスト単位の整合性、上限、確率
physics_quantity_check値 + 単位物理法則に照らした単一の数量
robotics_data_checkJSON レコードクォータニオン、タイムスタンプ、NaN/Inf、単位

テスト

pip install -e ".[dev]"
pytest tests/ -q

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。