IAMF Sentinel について
IAMF Sentinelは、IAMF音声ファイルの検査・検証と、iamf-loomのパッケージングマニフェストのコンパイルを行うMCPサーバーです。実行は既定で無効で、起動時に明示的に有効化した場合のみ利用できます。
主な機能
- 01IAMF適合性レポート
- 02IAMF構造の検査
- 03マニフェストからプランをコンパイル
- 04コンパイル済みプランの説明
- 05任意でのパッケージング実行
活用シーン
- 01適合性ルールに沿ったIAMFファイルの確認
- 02プロファイル、コーデック、ストリーム構造の検査
- 03パッケージング前のターゲットルーティング確認
- 04有効化後のパッケージング実行と検証
MCP 対応
MCPクライアントにiamf-sentinelの検証・検査ツールと、iamf-loomのコンパイル・説明ツールを提供します。実行ツールは `--enable-run` を付けて起動した場合のみ登録されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | |
| strict | boolean | いいえ | |
| profile | string | いいえ |
詳細
iamf-sentinel-mcp
MCP サーバーで、iamf-sentinel(IAMF 適合性バリデーター)と iamf-loom(IAMF パッケージャー)を MCP クライアント(Claude Desktop、 Claude Code、およびこのプロトコルに対応するその他のエージェントランタイム)に公開します。
IAMF は Alliance for Open Media の Immersive Audio Model and Formats (v1.1.0)です。このサーバーが使用するバリデーターは IAMF v2.0.0 のストリームも読み取り、 6 つのプロファイルを識別して制限を確認し、オブジェクトベースのエレメントと v2.0.0 の レンダリング設定も読み取って検証します。ただし、時間経過に伴う位置情報とパラメーターブロックは検証されません。このサーバーを使うと、エージェントは仕様の適合性ルールに照らして IAMF ファイルを検証し、パッケージングマニフェストを検査可能で決定論的なプランにコンパイルできます。何も実行されることはありません(実行は起動ごとの個別のオプトインです。詳細は以下を参照してください)。
コード内のコメントでは、内部の番号付き設計ドキュメント集(doc NN)、ADR、および事前登録された期待値ラベルを参照しています。表記の説明と参照先ドキュメントの索引は DESIGN-NOTES.md をご覧ください。
ツール
| ツール | 機能 | ツールチェーンが必要 |
|---|---|---|
iamf_validate | .iamf / IAMF-in-MP4 ファイルの完全な適合性レポートを出力します。重要度付きの S コード指摘事項、概要、ストリーム情報が含まれます。strict を指定すると WARN が失敗として扱われます。 | いいえ |
iamf_inspect | 構造を把握するための情報を出力します。プロファイル、コーデック設定(Opus のプリスキップを含む)、エレメント/プレゼンテーション/フレーム数、OBU のトリム合計、MP4 の edts/elst の有無を確認できます。 | いいえ |
loom_compile | Loom マニフェスト(YAML/JSON)をパッケージングプランにコンパイルします。検証のみです。根拠を示したターゲットごとのバックエンド/マルチプレクサーのルーティング、または M コードの診断を出力します。 | いいえ |
loom_explain | loom explain をテキストとして出力します。コンパイル済みプラン自体がその根拠となります。 | いいえ |
loom_run | マニフェストをコンパイルして実行します。エンコード、マルチプレクス、測定を行い、すべての出力を Sentinel バリデーターで検証します。ターゲットごとの出力(sha256)、検証結果、測定されたラウドネス、実行台帳のパスを返します。サーバーの起動時に --enable-run を指定した場合にのみ登録されます。 | はい |
リソース
checks://catalog— バリデーターが出力するすべての S コード検査項目。重要度、 レイヤー、タイトル、説明、関連する F レジスター項目を含みます。mcodes://catalog— パッケージャーが報告するすべての M コードのコンパイル診断と、 安定した要約を含みます(廃止されたコードも記録として残されています)。fregister://catalog— 失敗モードレジスター(F_TO_CHECK.md)。WP1/WP3 の失敗カタログを Sentinel の検査項目に対応付けた Markdown 形式です。
検証済みプラットフォーム。 プッシュのたびに、このサーバーのテストスイートが Linux、macOS、Windows
上で Python 3.11 および 3.12 を対象に実行されます。これは ci.yml の
記述であり、マトリックスがその根拠です。ただし、これには 2 つの前提があります。まず、このパッケージは
薄いラッパーです。ここでマトリックスが成功していても、これらのプラットフォームで動作することが確認されるのは サーバー であり、適合性ロジックではありません。適合性ロジックは
iamf-sentinel と
iamf-loom のそれぞれのマトリックスで検証されます。
次に、CI にはエンコーダーツールチェーンがインストールされていないため、loom_run の実行経路は、
失敗時の動作を通じてのみテストされます。つまり、バイナリが見つからない場合にトレースバックではなく、
対処方法が分かるエラーを返すことが確認されます。サブプロセス部分は意図的にここでは検証されていません。
その保証は iamf-loom が担います。マトリックスには、兄弟リポジトリのソースチェックアウトを含まない
wheel-only のジョブもあります。これは pip install iamf-sentinel-mcp で実際にインストールされるものです。
この環境では、サンプルに依存するテストは意図的にスキップされます。成功したジョブがないプラットフォームについては、
何も保証していません。
実行
pip install iamf-sentinel-mcp
iamf-sentinel-mcp # stdio transport, read-only (default)
iamf-sentinel-mcp --enable-run # additionally registers loom_run (executes)
Claude Desktop / Code の設定:
{ "mcpServers": { "iamf-sentinel-mcp": { "command": "iamf-sentinel-mcp" } } }
スコープと方針
- デフォルトでは読み取り専用です。
--enable-runを指定しない場合、ツールは解析とコンパイルを行います。実行は行われず、ファイルへの書き込みも、ネットワークへのアクセスもありません。 - 実行は起動ごとに明示的に有効化します。
--enable-runを指定するとloom_runが登録され、エンコーダーツールチェーンをサブプロセスとして実行し、ファイルを書き込みます。loom run内の Sentinel ゲートはデフォルトで有効のままです。ツールチェーンが見つからない場合は、想定されるバイナリパスを示す、対処可能なエラーが表示されます。Sentinel L3 のレンダリング済みラウドネス QC は引き続き公開されません。 - サーバーは製品の公開 API を薄くラップしたものです。適合性の判定ロジックは製品側にあり、各製品独自のテストゲートで保護されています。
他の iamf-sentinel / iamf-loom スタックと同様、Apache-2.0 です(LICENSE / NOTICE を参照)。サポート方針については、コアリポジトリの SUPPORT.md を参照してください。
関連プロジェクト
Inseglet— 制作側のコンパニオンです。イマーシブ音声の制作(ベッド、アンビソニックス、ADM)向けのネイティブ REAPER MCP 拡張機能で、spatial.export_loom_manifestが、このサーバーのloom_compile/loom_runで受け付けられるマニフェストを書き出します。1 つのエージェントセッションで両方のサーバーを実行すれば、制作 → パッケージ化 → 検証のワークフローを構築できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。