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

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated 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.
Before you install
Read-only by default: without the run flag nothing is executed, no files are written and no network is touched. Enabling the run flag registers a tool that runs the encoder toolchain as subprocesses and writes files, so only enable it when you intend to build outputs. The server is a thin wrapper; conformance logic lives in the underlying products, and the execution path is not verified in the project's CI.

Installation

In SourceWeft

  1. Open IAMF Sentinel in the dashboard and add it to a workspace.
  2. 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

ToolWhat it doesNeeds toolchain
iamf_validateFull conformance report on a .iamf / IAMF-in-MP4 file: S-code findings with severities, summary, stream facts. strict promotes WARN to failing.no
iamf_inspectStructure orientation: profiles, codec configs (incl. Opus pre-skip), element/presentation/frame counts, OBU trim totals, MP4 edts/elst presence.no
loom_compileCompile a Loom manifest (YAML/JSON) to its packaging plan — validate-only. Per-target backend/muxer routing with rationale, or M-code diagnostics.no
loom_explainloom explain as text: the compiled plan as its own justification.no
loom_runCompile 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

bash
pip install iamf-sentinel-mcpiamf-sentinel-mcp                # stdio transport, read-only (default)iamf-sentinel-mcp --enable-run   # additionally registers loom_run (executes)

Claude Desktop / Code config:

json
{ "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.

Source: README.md at commit 249aeef

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.2.4LatestOct 2, 2026
  2. v0.2.3Oct 2, 2026
  3. 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