iamf-sentinel-mcp
An MCP server exposing iamf-sentinel (IAMF conformance validator) and iamf-loom (IAMF packager) to MCP clients — Claude Desktop, Claude Code, and any other agent runtime that speaks the protocol.
IAMF is the Alliance for Open Media's Immersive Audio Model and Formats (v1.1.0). This server lets an agent validate IAMF files against the spec's conformance rules and compile packaging manifests into inspectable, deterministic plans — without executing anything (execution is a separate, per-launch opt-in — see below).
Code comments throughout cite an internal numbered design docset (doc NN), ADRs, and pre-registered expectation labels — DESIGN-NOTES.md explains the notation and indexes every cited document.
Tools
| Tool | What it does | Needs toolchain |
|---|---|---|
iamf_validate |
Full conformance report on a .iamf / IAMF-in-MP4 file: S-code findings with severities, summary, stream facts. strict promotes WARN to failing. |
no |
iamf_inspect |
Structure orientation: profiles, codec configs (incl. Opus pre-skip), element/presentation/frame counts, OBU trim totals, MP4 edts/elst presence. | no |
loom_compile |
Compile a Loom manifest (YAML/JSON) to its packaging plan — validate-only. Per-target backend/muxer routing with rationale, or M-code diagnostics. | no |
loom_explain |
loom explain as text: the compiled plan as its own justification. |
no |
loom_run |
Compile and execute a manifest: encode, mux, measure, and gate every output through the Sentinel validator. Returns per-target outputs (sha256), gate verdicts, measured loudness, and the run-ledger path. Only registered when the server is launched with --enable-run. |
yes |
Resources
checks://catalog— every S-code check the validator can emit: severity, layer, title, description, related F-register entries.mcodes://catalog— every M-code compile diagnostic the packager can report, with its stable summary (retired codes kept for the record).fregister://catalog— the failure-mode register (F_TO_CHECK.md): the WP1/WP3 failure catalogue mapped to Sentinel checks, as markdown.
Verified platforms. Every push runs this server's test suite on Linux, macOS, and
Windows against Python 3.11 and 3.12 — ci.yml is the
claim; the matrix is the evidence. Two boundaries come with it. First, this package is a
thin wrapper: a green matrix here says the server behaves on those platforms, not that
the conformance logic does — that is gated in
iamf-sentinel and
iamf-loom by their own matrices.
Second, no encoder toolchain is installed in CI, so loom_run's execution path is
exercised only through its failure behaviour — that a missing binary yields an actionable
error rather than a traceback. Its subprocess half is unverified here by design; iamf-loom
owns that claim. The matrix additionally carries a wheel-only leg with no sibling source
checkout, which is what pip install iamf-sentinel-mcp actually gives you. Sample-gated
tests skip in that environment by design. Nothing here is claimed for a platform that does
not have a green leg.
Run
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 config:
{ "mcpServers": { "iamf-sentinel-mcp": { "command": "iamf-sentinel-mcp" } } }
Scope and posture
- Read-only by default. Without
--enable-run, tools parse and compile; nothing is executed, no files are written, no network is touched. - Execution is opt-in, per launch.
--enable-runregistersloom_run, which runs the encoder toolchain as subprocesses and writes files; the Sentinel gate insideloom runstays on by default. A missing toolchain is an actionable error naming the expected binary path. Sentinel L3 rendered-loudness QC remains unexposed. - The server is a thin wrapper over the products' public APIs; conformance logic lives in the products, behind their own test gates.
Apache-2.0 (see LICENSE / NOTICE), like everything else in the
iamf-sentinel / iamf-loom stack. Support posture: see the core repo's
SUPPORT.md.
Related projects
Inseglet— the authoring-side companion: a native REAPER MCP extension for immersive authoring (beds, ambisonics, ADM) whosespatial.export_loom_manifestwrites manifests this server'sloom_compile/loom_runaccept. Run both servers in one agent session for an author → package → validate loop.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iamf_sentinel_mcp-0.2.2.tar.gz.
File metadata
- Download URL: iamf_sentinel_mcp-0.2.2.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
812b7b87b40b931aa45ef7576d2c22d422599b85fa3c8633a183abf21a3dd9cb
|
|
| MD5 |
faf5b529bcc4997bd34d93c18d988232
|
|
| BLAKE2b-256 |
87d6726e533f81314f0d57899605f246472e02fd982f7e138ae1d06d30b62b42
|
File details
Details for the file iamf_sentinel_mcp-0.2.2-py3-none-any.whl.
File metadata
- Download URL: iamf_sentinel_mcp-0.2.2-py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edcf3dda5fcd5708af74f916c0f7f20e8df198052fb4cfdbd68f161d4e8cf591
|
|
| MD5 |
49815060b7cc29aaabf8dac7774f4ff1
|
|
| BLAKE2b-256 |
f07726bcec50f31796765526d726431367f4036560c7869b0b388694b0e94c0c
|