
IAMF Sentinel
io.github.jlivingston-CipherPublished by GitHub account jlivingston-Cipherv0.2.4Updated Oct 24, 2026
MCP server for the iamf-sentinel IAMF conformance validator and the iamf-loom packager
Overview
Local MCP server that lets an assistant validate IAMF immersive audio files for conformance and compile IAMF packaging manifests into inspectable plans.
- What you can do
- Validate IAMF files against conformance rules, with severity-coded findings, summaries and stream facts, and an optional strict mode that promotes warnings to failures. Inspect file structure: profiles, codec configs, element and frame counts, OBU trim totals and MP4 edit-list presence. Compile a Loom manifest (YAML or JSON) into a packaging plan with per-target backend and muxer routing, or M-code diagnostics. Explain a compiled plan as readable text. Optionally, when launched with the run flag, compile and execute a manifest, encoding, muxing and gating outputs through the validator. Read reference catalogs of validator checks, compile diagnostics and the failure-mode register.
- When to use it
- Useful when working with IAMF immersive audio: checking whether a file meets the spec's conformance rules, orienting yourself in a stream's structure, or turning a Loom packaging manifest into a plan before committing to a build. The default read-only mode suits inspection and review; execution is only needed when you actually want to produce packaged outputs.
- Requirements
- Runs as a local process over stdio, installed from PyPI with pip, so Python 3.11 or 3.12 is needed. No accounts, API keys or environment variables are declared. The execution tool requires an encoder toolchain installed on the machine and the server started with the run flag; without it, a missing binary is reported as an error.
Installation
In SourceWeft
- Open IAMF Sentinel in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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). The validator behind this server also reads IAMF v2.0.0 streams, recognises its six profiles and checks their limits, and reads object-based elements and the v2.0.0 rendering settings and checks them; positions over time and parameter blocks remain unvalidated. 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
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
Claude Desktop / Code config:
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.
Source: README.md at commit 249aeef
Tools
0Version history
3- v0.2.4LatestOct 2, 2026
- v0.2.3Oct 2, 2026
- v0.2.2Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts