Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SpatialPack — 3D asset readiness

NPM · @SPATIALPACK/MCP

Test whether 3D assets survive Apple Quick Look and Safari <model>, then fix what fails

Available components

−4 this week 69 Trust /100

Last scanned (21 hours ago)

Scores higher than 37% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 41 of 182 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
Schema Quality & AI Usability80
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4816 tokens (~137/item across 35 items; 29 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
  • Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 52% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 29 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 −4
    • Stability: pass → 0.67 functional
  • 29 Oct 26 0
    • Stability: 0.97 → pass security
  • 28 Oct 26 0
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −3
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. security
  • 22 Oct 26 0
    • CVE-2026-114112 affects this package: high ▼ security
    • CVE-2026-114113 affects this package: high ▼ security
    • CVE-2026-114111 affects this package: high ▼ security
    • GHSA-wq5f-xc86-pv6w no longer affects this package ▲ security
    • GHSA-rgj7-g3m4-5g8c no longer affects this package ▲ security
    • GHSA-f88m-g3jw-g9cj no longer affects this package ▲ security
    • Stability: 0.97 → pass security
  • 21 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +3
    • Stability: 0.80 → pass security
  • 16 Oct 26 −3
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/@spatialpack/mcp@0.1.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 4 findings
ID CVE Severity Vector Fix available
GHSA-f88m-g3jw-g9cj CVE-2026-114113 high yes
GHSA-rgj7-g3m4-5g8c CVE-2026-114112 high yes
GHSA-wq5f-xc86-pv6w CVE-2026-114111 high yes
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 182 packages
Packages resolved 182
Stale 41
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 29 exposed · ~4,459 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
analyze ~120

Run the SpatialPack analyzer against a GLB or glTF file. Returns the full structured report: vertex / triangle / texture / animation counts, cohort tags (texture, animation, poly), KHR / EXT extensions used, estimated GPU texture memory, and a per-target compatibility rollup (Three.js, Babylon, model-viewer, AR Quick Look, Scene Viewer). Read-only — does not modify the input.

NameTypeReqDescription
input_pathstringyesAbsolute or sandbox-relative path to the .glb / .gltf file. Must be inside the sandbox root.

No output schema declared.

No examples provided.

autocorrect ~260

SPEC-0125/0126: repair a GLB / glTF so it is commerce-ready for AR Quick Look + web, and prove it. Runs floater removal + USDZ-safe material bake (transmission→alpha; clearcoat/sheen/etc. flattened) + preset optimization, then RE-SCORES readiness and returns the before→after report: applied repairs, size reduction, resolvedBlockers (what it fixed) and remainingBlockers (what needs manual work). Writes the repaired GLB to output_path (sandbox). Set bake_usdz_safe=false to keep lossy materials (leaves the AR blocker).

NameTypeReqDescription
bake_usdz_safeboolean–Flatten USDZ-lossy materials so AR Quick Look renders. Default true.
input_pathstringyesSource .glb / .gltf path (sandbox-relative). E.g. raw Meshy/Tripo output.
output_pathstringyesDestination .glb path for the repaired asset (sandbox-relative).
presetstring–Optimization preset. Default 'web-mobile'.
prune_errornumber–simplifyPrune floater threshold (default 0.02).
targetstring–Conformance target for scoring. Default 'apple-ar'.

No output schema declared.

No examples provided.

batch_autocorrect ~238

SPEC-0128: repair + re-score every GLB / glTF under the given files/dirs (recursive), writing each repaired asset + a per-asset report into out_dir, plus a roll-up that tallies readiness status transitions (not-ready→ready/warnings), how many assets were rescued, how many remain not-ready, and total size reduction. The agency / generator catalog surface. Set bake_usdz_safe=false to keep lossy materials.

NameTypeReqDescription
bake_usdz_safeboolean–Flatten USDZ-lossy materials so AR Quick Look renders. Default true.
concurrencyinteger–Parallel workers (default min(4, cpus)).
inputsarrayyesFiles and/or directories (sandbox-relative; dirs are walked recursively for .glb/.gltf).
out_dirstringyesDestination directory for repaired assets + reports (sandbox-relative).
presetstring–Optimization preset. Default 'web-mobile'.
prune_errornumber–simplifyPrune floater threshold (default 0.02).
targetstring–Conformance target for scoring. Default 'apple-ar'.

No output schema declared.

No examples provided.

batch_optimize ~143

Walk a list of files and/or directories (recursive for .glb/.gltf), run the SpatialPack optimizer on each at the requested preset, and write per-asset reports + optimized GLBs into out_dir. Continues on per-asset error by default (failFast=false). Honors a resume mode that skips assets whose report file already exists.

NameTypeReqDescription
concurrencyinteger––
fail_fastboolean––
inputsarrayyes–
meshoptboolean––
no_ktx2boolean––
out_dirstringyes–
presetstringyes–
resumeboolean––

No output schema declared.

No examples provided.

bundle_glb_zip ~225

Pack a primary GLB plus sidecar files (textures/, etc.) into a single `.glb.zip` archive with a versioned manifest. Sidecar paths inside the archive default to their basenames; pass `sidecar_arcnames` to override. Auto-DEFLATE per entry, falling back to stored when DEFLATE wastes bytes. Returns the manifest and on-disk size.

NameTypeReqDescription
generatorstring–Generator tag for the manifest (default: "spatialpack").
output_pathstringyesWhere to write the .glb.zip archive.
primary_arcnamestring–Filename for the primary GLB inside the bundle (default: basename of primary_path).
primary_pathstringyesSandbox-relative path to the primary GLB.
sidecar_arcnamesarray–Optional override for sidecar relative paths inside the archive. Must match sidecar_paths length and order. Defaults to sidecar basenames.
sidecar_pathsarray–Sandbox-relative paths to sidecar files (textures, sounds, etc.).

No output schema declared.

No examples provided.

canonical_cid ~71

Compute the SPEC-0055 16-char hex SHA-256 prefix of the canonicalized geometry stream. Robust to mesh / primitive / attribute ordering and endianness; excludes textures and materials. Use as a deterministic geometry-identity key for caching and deduplication.

NameTypeReqDescription
input_pathstringyes–

No output schema declared.

No examples provided.

cohort_recipes_build ~158

Run TPE recipe-search per cohort bucket (poly × animation × material) using a representative subset of the corpus. Emits a sidecar `cohort-recipes.json` the runtime / batch pipeline can use to pick the right recipe for any given asset by its cohort tags.

NameTypeReqDescription
allow_ktx2boolean––
corpus_dirstringyesDirectory the manifest entries are relative to.
manifest_pathstringyesPath to the corpus MANIFEST.json (sandbox-relative).
max_recipesinteger––
out_pathstringyesWhere to write cohort-recipes.json.
presetstringyes–
representatives_per_cohortinteger––
search_seedinteger––

No output schema declared.

No examples provided.

cohort_recipes_lookup ~72

Read a cohort-recipes.json manifest and resolve the recipe for the given cohort tags. Falls back to same-poly+animation, then same-poly only, then null.

NameTypeReqDescription
animationstringyes–
manifest_pathstringyes–
materialstringyes–
polystringyes–

No output schema declared.

No examples provided.

commerce_readiness ~162

SPEC-0124: score whether a GLB / glTF is commerce-ready for AR Quick Look + web. Composes ACG-2.0 conformance with AR-parity (lossy materials like KHR_materials_transmission, structural USDZ risks, geometry) into ONE verdict — ready | warnings | not-ready — plus explicit must-fix blockers and review warnings. Read-only; does not modify the input. Use this to gate AI-generated 3D output before publishing.

NameTypeReqDescription
input_pathstringyesAbsolute or sandbox-relative path to the .glb / .gltf file. Must be inside the sandbox root.
targetstring–Conformance target. Default "apple-ar" (readiness is an AR-commerce question).

No output schema declared.

No examples provided.

compare_images ~80

Pixel-precise comparison of two PNG buffers of identical dimensions. Returns differing-pixel count, MAE per channel, ΔE94 mean/max/p95 (CIE perceptual colour distance), Sobel-edge delta, and SSIM. Inputs are file paths (sandbox-relative).

NameTypeReqDescription
a_pathstringyes–
b_pathstringyes–

No output schema declared.

No examples provided.

compatibility_check ~63

Run the analyzer against the input asset and surface the per-target compatibility matrix: Three.js, Babylon.js, model-viewer, AR Quick Look, Scene Viewer. Returns warnings and notes per target so a caller can pick a delivery format.

NameTypeReqDescription
input_pathstringyes–

No output schema declared.

No examples provided.

dedup_textures ~214

Scan a set of GLBs for byte-identical embedded images and extract any image shared by ≥ `min_occurrences` GLBs into a shared sidecar directory. Rewrites each input GLB to reference the sidecar via `image.uri`. Returns the per-image and per-GLB savings report. Set `dry_run: true` to plan without writing. Default `min_occurrences` is 2.

NameTypeReqDescription
dry_runboolean–Compute the plan without writing any files.
in_placeboolean–Overwrite inputs instead of writing to out_dir.
input_pathsarrayyesSandbox-relative GLB paths to scan for shared images.
min_occurrencesinteger–Image must appear in this many GLBs to be extracted as shared (default 2).
out_dirstring–Where to write patched GLBs + the shared sidecar dir. Required unless in_place=true.
shared_dir_namestring–Subdirectory name for shared images (default "textures").

No output schema declared.

No examples provided.

diagnose_asset ~82

Run analyze + compatibility-check on the asset and return a structured list of recommendations the caller can act on (e.g. "enable channelPack — material has separate occlusion + metallicRoughness"). Each recommendation includes a `tool` + `suggested_args` so the model can chain into `optimize` with confidence.

NameTypeReqDescription
input_pathstringyes–

No output schema declared.

No examples provided.

explain_budget ~74

Return the SPEC-0030 cohort budget table (texture / animation / poly), the SPEC-0046 cohort attribute-quantization budgets, and the SPEC-0059 per-cohort meshopt method scheduler. Pure data — useful for the model to explain trade-offs to the user.

NameTypeReqDescription
poly_cohortstring––

No output schema declared.

No examples provided.

find_similar_assets ~158

Embed the query asset, query an on-disk AssetEmbeddingIndex, and return the top-K nearest neighbors by cosine similarity. The index must have been built by `spatialpack index build` (or the equivalent core helpers); pass its sandbox-relative path. K defaults to 5. Read-only — does not modify either the query or the index.

NameTypeReqDescription
exclude_selfboolean–Skip the exact-id self-match when the query is itself in the index.
index_pathstringyesSandbox-relative path to the serialized AssetEmbeddingIndex JSON.
input_pathstringyesSandbox-relative path to the query .glb / .gltf.
kinteger–Number of neighbors to return (default 5).

No output schema declared.

No examples provided.

list_presets ~49

Return the configured preset ids (web-mobile, web-desktop, quality-max) and their key budget knobs: maxTextureSize, useWebpTextures, preferKtx2, meshoptLevel.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lod_bundle ~108

Bake multiple quality tiers (default: high / medium / low) of a single source GLB and emit a sidecar spatialpack.lod.json manifest pointing at them. The runtime picks the largest tier whose recommendedMinPixelHeight ≤ the projected screen height.

NameTypeReqDescription
input_pathstringyes–
out_dirstringyesDirectory (created if missing) for tier GLBs + manifest.
tiersarray–Custom tier ladder (default: 3-tier high/medium/low).

No output schema declared.

No examples provided.

model_ready ~263

SPEC-0161: score whether a USDZ will load + render in Safari 27's HTML <model> element and Apple AR Quick Look. Composes USDZ packaging conformance with the AR-Quick-Look render constraints and the <model>-specific deltas (centimeter 100x scale bug, .usdz extension/MIME negotiation, empty-stage) into ONE verdict — ready | warnings | not-ready — plus explicit must-fix blockers and review warnings. Read-only; does not modify the input. HONESTY: this is documented-constraint conformance, NOT a live Safari/Quick Look render — Apple ships no headless <model>/RealityKit renderer, so verify high-value SKUs on a real device.

NameTypeReqDescription
budget_bytesinteger–Override the soft USDZ file-size budget in bytes (default ≈ 25 MB). Over budget is a warning, never a blocker.
input_pathstringyesAbsolute or sandbox-relative path to the .usdz file. Must be inside the sandbox root.
source_extensions_usedarray–glTF extensions the SOURCE asset declared used (e.g. from analyze.extensionsUsed); the USDZ-lossy subset surfaces as warnings (the <model> render differs from the glTF).

No output schema declared.

No examples provided.

optimize ~317

Run the full SpatialPack optimization pipeline against a preset. Writes a new GLB to `output_path` (must be inside the sandbox) and returns the structured optimization report — pass-by-pass before/after stats, baseline comparison, KTX2 status, quality notes. All opt-in passes (decimate, saliencyAware decimation, channelPack ORM, palette PNG re-encode, materialClustering, symmetry detection, cohort-quantize, lockBorder, etc.) are exposed as flat options.

NameTypeReqDescription
animationsobject––
channel_packobject––
cohort_quantizeobject––
decimateobject––
input_pathstringyesSource .glb / .gltf path (sandbox-relative).
ktx2_qualitystring––
material_clusteringobject––
meshoptboolean––
meshopt_methodstring––
meshopt_schedulerstring––
no_ktx2boolean–Skip KTX2 encoding even when toktx is on PATH.
output_pathstringyesDestination .glb path (sandbox-relative).
paletteobject––
presetstringyesPreset id: 'web-mobile' | 'web-desktop' | 'quality-max'.
saliencyobject––
skinning_weightsobject––
symmetryobject––
unlitobject––
uv_alignobject––

No output schema declared.

No examples provided.

phash ~65

Compute the SPEC-0052 64-bit DCT-based perceptual hash of a PNG. Returns a 16-character hex string. Pair with `phash_distance` to short-circuit visual diffs when two renders are byte-equivalent.

NameTypeReqDescription
input_pathstringyes–

No output schema declared.

No examples provided.

phash_distance ~67

Compute the Hamming distance (count of differing bits) between two 16-char hex pHashes. Convention: ≤ 5 = near-duplicate, 6–15 = ambiguous, > 15 = clearly different.

NameTypeReqDescription
astringyes–
bstringyes–

No output schema declared.

No examples provided.

recipe_search ~206

Sweep optimization recipes (preset × meshopt × decimate × KTX2 quality) for the input asset and return the winning recipe under the configured policy. Uses cohort-aware pruning + grid warm-start + TPE Bayesian search (SPEC-0044). The visual-quality gate is OFF by default — pass `with_quality_gate: true` to enable Playwright + ΔE94 / SSIM gating (much slower, ~30s per candidate).

NameTypeReqDescription
allow_ktx2boolean––
input_pathstringyes–
max_recipesinteger––
output_pathstringyesWhere to write the winning recipe GLB.
presetstringyes–
quality_weightnumber––
search_decimateboolean––
search_seedinteger––
time_budget_msinteger––
winner_strategystring––
with_quality_gateboolean–Enable visual-diff gating (slow).

No output schema declared.

No examples provided.

recipe_search_with_inheritance ~262

Run multi-fidelity TPE recipe search (SPEC-0044) against the input asset, but seed the queue with the winning recipes already cached for the input's k nearest neighbors in the supplied AssetEmbeddingIndex. Composes SPEC-0087 Phase 2 (k-NN recipe inheritance) + SPEC-0096 (index management). Visual quality gate is OFF — same constraint as `recipe_search`.

NameTypeReqDescription
allow_ktx2boolean––
cache_pathstringyesSandbox-relative path to the RecipeCache JSON (SPEC-0087 Phase 2). May not exist yet — empty cache falls through to cold-start.
index_pathstringyesSandbox-relative path to the serialized AssetEmbeddingIndex JSON.
input_pathstringyesSandbox-relative path to the .glb / .gltf to optimize.
kinteger–Neighbors to consider for inheritance (default 5).
max_recipesinteger––
min_similaritynumber–Cosine-similarity floor for a neighbor to contribute a seed (default 0).
output_pathstringyesWhere to write the winning recipe GLB.
presetstringyes–
search_seedinteger––

No output schema declared.

No examples provided.

safety_gate ~239

Apply SpatialPack's cohort-aware quality gate (SPEC-0036 thresholds + SPEC-0090 reporting) to a set of per-asset visual-diff metrics. Each input asset carries its cohort tags (textured/untextured · animated/static · low/medium/high poly) and worst-of-N ssim/ΔE94/edgeDelta numbers from an orbit-8 render. Returns per-asset verdicts plus an aggregate `summary` (`pass` iff every asset passed); optionally writes a JSON report and a `gate-report.md` to `output_path`.

NameTypeReqDescription
assetsarrayyesPer-asset visual-diff bundles. ssim/edgeDelta in [0,1]; ΔE94 in CIE units.
cohortstringyesCohort name (e.g. "static-props", "skinned-animated", "all").
feature_idstringyesStable label for the candidate under test (e.g. "spec-0091-source-texture-dedup").
output_pathstring–Optional sandbox-relative path to write the SafetyGateReport JSON (`.md` sibling auto-emitted).

No output schema declared.

No examples provided.

splat_to_usdz ~337

Convert a Gaussian splat file (PLY, .splatz, or KHR_gaussian_splatting GLB) into an Apple ParticleField3DGaussianSplat USDZ (OpenUSD 26.03 schema pin) for RealityKit / Reality Composer Pro / Safari `<model>`. Pure-TS — no Apple toolchain. Optionally also writes the RealityKit per-channel f32 buffer set + layout.json sidecar via `realitykit_buffers_dir`. STRUCTURAL CONFORMANCE ONLY — the emitted USDZ is a valid package whose ParticleField3DGaussianSplat prim this tool re-parses; it is NOT RealityKit/visionOS render-verified (that requires Apple hardware, SPEC-0160 Phase D).

NameTypeReqDescription
formatstring–Input format (ply | splatz | glb). Auto-detected from magic bytes when omitted.
input_pathstringyesSandbox-relative path to a Gaussian-splat .ply, .splatz, or KHR_gaussian_splatting .glb file.
lod_quality_gatestring–Render-free degeneracy gate: off (default) | warn | strict (strict refuses + emits nothing).
max_sh_degreeinteger–Clamp the SH degree down to this value (0..3) before emitting.
output_pathstringyesSandbox-relative path to write the .usdz to.
realitykit_buffers_dirstring–Optional sandbox-relative dir; when set, also write the RealityKit f32 buffers + layout.json.
up_axisstring–Stage up-axis (default Y, the captured fixture).

No output schema declared.

No examples provided.

unbundle_glb_zip ~101

Read a `.glb.zip` and write the primary GLB + every sidecar to `out_dir`, preserving the relative paths recorded in the manifest. Verifies CRC32 + cross-checks manifest names against archive entries. Returns the manifest and per-entry output paths.

NameTypeReqDescription
input_pathstringyesSandbox-relative path to the .glb.zip archive.
out_dirstringyesSandbox-relative directory to extract into (created if missing).

No output schema declared.

No examples provided.

usdc_to_usda ~158

Read a binary USDC file and emit the equivalent USDA text — the same conversion the Pixar `usdcat` tool performs. Returns the rendered text directly; pass `output_path` to also write it to disk (sandbox-relative). Useful for inspecting a USDZ payload, diffing generated USDC against a Pixar reference, or letting an AI agent read scene structure as plain text.

NameTypeReqDescription
input_pathstringyesSandbox-relative path to a .usdc binary.
max_chars_returnedinteger–Truncate the returned text to this many chars (default 200000). The full text is always written to output_path if provided.
output_pathstring–Optional sandbox-relative path to write the USDA text to.

No output schema declared.

No examples provided.

usdz_export ~104

Convert a GLB to a USDZ for AR Quick Look using the local converter (usd_from_gltf, usdzconvert, or xcrun usdz_converter — the first one found on PATH). Includes a post-export validation pass when `validate: true` (default true).

NameTypeReqDescription
budget_bytesinteger––
input_pathstringyes–
output_pathstringyes–
presetstring––
validateboolean––

No output schema declared.

No examples provided.

usdz_validate ~63

Open a .usdz, walk its contents, and report compatibility warnings (size budget, asset-ref resolution, missing textures, file-size cap). Pure-JS read; no converter required.

NameTypeReqDescription
budget_bytesinteger––
input_pathstringyes–

No output schema declared.

No examples provided.

Install

How do I install the SpatialPack — 3D asset readiness MCP server?

SpatialPack — 3D asset readiness runs locally as an npm package, launched with npx -y @spatialpack/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @spatialpack/mcp

# add to Claude Code
claude mcp add dev-spatialpack-mcp -- npx -y @spatialpack/mcp
Common questions

What is the SpatialPack — 3D asset readiness MCP server?

SpatialPack — 3D asset readiness is an MCP server listed in the public MCP registry as dev.spatialpack/mcp. Test whether 3D assets survive Apple Quick Look and Safari <model>, then fix what fails. This page covers its npm package (@spatialpack/mcp).

Is the SpatialPack — 3D asset readiness MCP server safe to use?

SpatialPack — 3D asset readiness scores 69 out of 100 on VerifyMCP. We recorded 4 known advisories against it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SpatialPack — 3D asset readiness MCP server expose?

SpatialPack — 3D asset readiness exposes 29 tools: analyze, optimize, recipe_search, lod_bundle, usdz_export, and 24 more. Their descriptions and schemas cost roughly 4,459 tokens of context every time the server is loaded.

Is the SpatialPack — 3D asset readiness MCP server still maintained?

SpatialPack — 3D asset readiness is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the SpatialPack — 3D asset readiness MCP server under?

SpatialPack — 3D asset readiness declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.