Skip to main content

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.12ci.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-run registers loom_run, which runs the encoder toolchain as subprocesses and writes files; the Sentinel gate inside loom run stays 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) whose spatial.export_loom_manifest writes manifests this server's loom_compile / loom_run accept. 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

iamf_sentinel_mcp-0.2.2.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iamf_sentinel_mcp-0.2.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

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

Hashes for iamf_sentinel_mcp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 812b7b87b40b931aa45ef7576d2c22d422599b85fa3c8633a183abf21a3dd9cb
MD5 faf5b529bcc4997bd34d93c18d988232
BLAKE2b-256 87d6726e533f81314f0d57899605f246472e02fd982f7e138ae1d06d30b62b42

See more details on using hashes here.

File details

Details for the file iamf_sentinel_mcp-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for iamf_sentinel_mcp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 edcf3dda5fcd5708af74f916c0f7f20e8df198052fb4cfdbd68f161d4e8cf591
MD5 49815060b7cc29aaabf8dac7774f4ff1
BLAKE2b-256 f07726bcec50f31796765526d726431367f4036560c7869b0b388694b0e94c0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page