← MCP overviewMCP Server
MCP changelog
Updates to the AudioScape MCP server.
- •find_similar_music and find_similar_sfx accept asset_ids (up to 100) instead of asset_id: the seeds are blended into one acoustic profile, so results sound like the set as a whole — playlist continuation for music, variety packs for SFX. Seeds never appear in results.
- •Seeds that cannot be resolved (unknown, not yet analyzed, or not public) are skipped rather than failing the call; the response reports meta.seeds_used and meta.seeds_ignored, and the tool text names the ignored ids.
- •energy_shift on find_similar_music stays single-seed: combined with asset_ids it returns a clear error instead of guessing which seed to shift from.
- •Failed live-game writes now return a structured explanation instead of a raw error dump: what Roblox said, the likely cause, the fix (with a link where one exists), and a reference id you can quote when reporting it.
- •The most common cause is named directly: a place created in Studio or the Creator Hub needs "Allow place to be updated using Save Place API" enabled, and saves are blocked while Team Create is on.
- •apply_place_edit and install_sdk both return the block on every failure path, and your AI is instructed to relay it verbatim rather than guess at a cause.
- •New tool: install_sdk — installs or upgrades the Mixer SDK, the Catalog SDK, or both directly into a connected game after you say yes. The version-pinned bundle is embedded in the installer, so it needs no HttpService and no network access at install time.
- •The result reports each SDK's install outcome, which scripts changed, and what is left for you by hand (enabling HTTP requests, adding the AudioScapeKey Secret).
- •With a game connected, installs go through this tool; the copy-paste Studio snippet remains the fallback when no game is connected.
- •New tool: request_place_publish — your AI files a request to take changes live; it never publishes anything itself. One pending request per game at a time.
- •The developer portal's settings page gained a publish request queue: approve or reject a pending request, then follow the Studio go-live steps and confirm once you have published.
- •Going live stays yours. The agent is instructed never to claim a game is live.
- •New tool: apply_place_edit — runs an edit script against a connected game and saves the result as a new place version. Saved versions only, never the live game, so you can roll back through place version history.
- •Requires explicit permission each time: your AI must ask and get a yes before the write, and it may not answer that question for you.
- •Every write attempt is recorded, including rejected ones, and shown as a read-only "Live game activity" list in the portal's settings page.
- •Edits may not touch DataStores, MemoryStore, messaging, or HTTP; saving is appended server-side and cannot be driven by the submitted script.
- •New tool: run_place_query — runs read-only inspection Luau against a game you have connected and returns results plus console output, so your AI can look at the real place instead of asking you to describe it.
- •Inspection only: writes are refused by contract. If you have several connected games, pass the universe id to pick one.
- •Connect a game first from the portal's settings page — a wizard walks through the connection and verifies it with a live check. Tools that need a connection point you there when one is missing.
- •New tools: ask_audioscape_agent and get_agent_result — hand a complete audio task to the hosted AudioScape Agent, which plans it, searches the catalog with verified asset ids, and returns stamped Luau plus apply steps. Asynchronous: you get a task id back and poll for the result, typically 60–120 seconds. It never touches Studio; your AI applies the artifacts.
- •New tool: get_analytics_advisor — the same report as the portal's Analytics → Advisor page: audio your game still plays that has gone unavailable in the last 30 days, same-genre replacement suggestions, and private assets the game reported.
- •browse_music gained type="game": list popular Roblox experiences by the music heard in them, drill into one by universe id, or pass an asset id for a reverse lookup of the games a track appears in.
- •get_track_structure gained include_metadata — returns each section's authored cue parameters and a resolved lane per section, with the default response unchanged.
- •Every response now carries the server's authoritative toolchain versions, so your AI stops inferring what is current from stale docs. validate_setup reports the block, and verify_mixer_setup names the minimum supported Mixer SDK.
- •preflight_inventory gained a toolchain section that flags an outdated Mixer SDK (an error below the supported floor) or Catalog SDK; running it with only that section is a cheap re-check after an upgrade.
- •Preflight can now be told your installed kit version and whether it is pinned, and reports a stale kit as a typed warning instead of guessing.
- •The Mixer installer now preserves all your hand-set bus gains on upgrade, including UI, VoiceChat, and Dialogue trims that were previously dropped. Output from scaffold_picker_ui and scaffold_lobby_player is stamped so later runs can recognize it.
- •preflight_inventory is now sectioned — pass sections to run just the checks you need, and every finding comes back as a typed gap with a severity instead of prose.
- •New checks: weapons with no audio pack or with a silenced stock sound, duplicate listeners bound to the same trigger, audio tags with no matching sound pool, and empty or unreferenced pools.
- •The place probe gained a source-scan fallback, so runners stamped only at runtime are no longer reported as missing in Studio's edit mode.
- •New tools: get_weapon_pack (authored weapon presets with a ready Luau pack module), get_template (versioned runner and bridge templates), and compute_gain_staging (gain and cut math against house loudness targets). The skills no longer carry this content, so they stay current without a kit update.
- •New tool: preflight_inventory — one read-only probe that reports prior audio work in a place: installed SDK versions, AudioPlayer vs legacy Sound census, environment folders, zone tags, and which generated runners are already there. Run it before any audio build.
- •New skill: audio-ui, for interface sound families (buttons, menus, errors), carved out of audio-sfx. The kit shrank from 23 files to 16 and no longer ships weapon data.
- •New resources: audioscape://docs/placement-map (every address the toolkit writes, plus Rojo coexistence guidance) and the audio pack format reference. The Mixer SDK served by get_mixer_sdk moved to 1.4.7 (distance rolloff, mixer panel mid/side and bus solo, opt-in debug toggle), and its installer now preserves developer-authored siblings.
- •New: the AudioScape plugin for Claude Code — one install bundles the MCP server connection, sign-in, and the audio skills. Install with /plugin marketplace add AudioScapeInc/agent-skills, then /plugin install audioscape@audioscape.
- •Sign-in is now a device flow (/audioscape:login): the plugin shows a short code you enter at developer.audioscape.ai/activate in your browser. No more long sign-in links that terminals truncate, and it works over SSH.
- •Skills update themselves: the plugin syncs the kit from the public /kit endpoints at session start and before every audio-* skill runs, keeping installs current automatically. Previous versions are kept as *.bak; touch ~/.audioscape/kit-pin opts out.
- •Removed: get_quickstart_kit and the audioscape://kit/* resources — kit distribution moved to the plugin. Existing installs must switch to the plugin (the old model-driven sync no longer works, and pre-plugin connections have been signed out).
- •get_mixer_sdk now returns a small fetch-bootstrap instead of inlining the full Mixer SDK source: the installer downloads the version-pinned bundle over HTTP at install time, so it needs HttpService enabled (Game Settings → Security → Allow HTTP Requests). Upgrade semantics are unchanged — idempotent by version, Sounds/Soundtrack and bus settings preserved, and an HTTP failure leaves your place untouched.
- •get_quickstart_kit now returns a manifest (kit version + each file's install path and resource URI) instead of every file's contents in one oversized response. Your AI reads each kit file as an audioscape://kit/<path> MCP resource and writes it to ~/.claude/skills/ — no more save-to-file detours on large payloads.
- •Kit files are listed and readable as MCP resources only for quickstart early-access accounts, same gate as get_quickstart_kit itself.
- •New tool: verify_mixer_setup — read-only preflight that checks whether the Mixer SDK (the runtime audio engine) is installed and current at ReplicatedStorage.AudioScape.AudioScape. Distinct from verify_studio_setup, which checks the Catalog SDK in ServerStorage.
- •New tool: get_mixer_sdk — after you grant permission, returns a version-stamped installer that creates or upgrades the Mixer SDK in your place (idempotent; preserves your existing Sounds/Soundtrack and bus settings). Your AI applies it via the Roblox Studio MCP.
- •Action required: get_mixer_sdk uses a new audio:write permission. Existing MCP connections will need to re-authorize once (run /mcp, select audioscape, approve) — calls that need audio:write return a permission error until you do.
- •New tool: get_quickstart_kit — serves the versioned AudioScape skills kit for Claude Code to early-access users. Entry point: the one-paste /docs/mcp/quickstart page.
- •New tool: submit_feedback — structured early-access reports (onboarding / session / issue), forwarded to the AudioScape team.
- •New resource: audioscape://docs/quickstart-runbook — the agent-facing setup runbook behind the quickstart.
- •verify_studio_setup now targets Studio's built-in MCP server: probe hints renamed run_code → execute_luau, response field run_code_snippet → luau_snippet.
- •New tool: provision_production_key — returns a portal link for creating production game keys; the key value is revealed in the user's browser, never through the MCP.
- •New tool: verify_studio_setup — structured Studio integration checklist with run_code probe hints designed to chain with the Roblox Studio MCP, plus a manual fallback.
- •Scaffolders now emit the studio/production split using HttpService:GetSecret("AudioScapeKey") instead of the prior insecure ModuleScript pattern.
- •Initialize instructions updated to walk AI clients through the new validate_setup → scaffold → provision_production_key → verify_studio_setup lifecycle.
- •/keys page now highlights the just-created production key with the Roblox Secret recipe, and shows a dual-key explainer when MCP keys are present.
- •/oauth/consent restyled with a "what approving does" summary and a preview of the exact key name that will be created.
- •Initial release at https://mcp.audioscape.ai. Sign in with Roblox via the developer portal.
- •8 catalog tools: search and browse music + SFX, find similar tracks, get beat grid + section structure, validate setup.
- •2 scaffolders: picker UI (music or SFX) and lobby music player with engagement signals.
- •6 SDK reference resources auto-loaded by your AI client.
- •MCP activity dashboard shows every call your AI makes on your behalf in real time.