SK Wwise MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| build_object_info_queryA | Builds a WAAPI ak.wwise.core.object.get query dict from structured parameters. Use this to construct a query before calling execute_waapi_query. Args: from_path: Root paths to query from. e.g. ["\Containers"] or ["\Events"] from_type: Object types to query from. e.g. ["Sound", "Event", "RandomSequenceContainer"] return_fields: Fields to return per object. Common: "id", "name", "type", "path", "shortId", "parent" select_transform: Traversal direction. One of: "descendants", "ancestors", "children", "parent" where_name_contains: Filter results to objects whose name contains this string. where_type_is: Filter results to specific object types. e.g. ["Sound", "BlendContainer"] Examples: All descendants of Containers: from_path=["\Containers"], select_transform="descendants" IMPORTANT — Inherited properties: Properties like @OutputBus return the LOCAL value, not the effective (inherited) value. If @OverrideOutput is false, the object inherits its output bus from an ancestor. To find the actual routing, query the object's ancestors (select_transform="ancestors") and return @OutputBus and @OverrideOutput to find the nearest ancestor that sets the effective bus. |
| get_wwise_object_infoA | Query Wwise objects and return a summary preview. IMPORTANT: Always use build_object_info_query() first to construct the query dict, then pass its output to this function. Do NOT hand-craft the query dict directly — the WAAPI query format is complex and error-prone; build_object_info_query() ensures correct structure (from, transform, options) every time. IMPORTANT: The returned 'preview' only contains the first 10 results. The COMPLETE results are saved to the file path in 'output_file'. You MUST read that file to see all results — do not treat the preview as the full dataset. Example workflow: query = build_object_info_query( from_path=["\Events"], select_transform="descendants", where_type_is=["Event"], ) results = get_wwise_object_info(query=query) |
| get_wwise_attenuation_curveA | Get the curve points for an attenuation object. Args: curve_type: Type of attenuation curve. One of: Volume: "VolumeDryUsage", "VolumeWetGameUsage", "VolumeWetUserUsage" Filter: "LowPassFilterUsage", "HighPassFilterUsage", "DualShelfUsage" Spatial: "SpreadUsage", "FocusUsage" Obstruction: "ObstructionVolumeUsage", "ObstructionHPFUsage", "ObstructionLPFUsage", "ObstructionDSFUsage" Occlusion: "OcclusionVolumeUsage", "OcclusionHPFUsage", "OcclusionLPFUsage", "OcclusionDSFUsage" Diffraction: "DiffractionVolumeUsage", "DiffractionHPFUsage", "DiffractionLPFUsage", "DiffractionDSFUsage" Transmission:"TransmissionVolumeUsage", "TransmissionHPFUsage", "TransmissionLPFUsage", "TransmissionDSFUsage" object_path: Project path to the attenuation object. e.g. "\Attenuations\Default Work Unit\Att_Footstep" object_guid: GUID of the attenuation object. object_name_with_type: type:name. e.g. "Attenuation:Att_Footstep" platform: Platform name or GUID. Optional — omit for linked/default curve. Provide exactly one of object_path, object_guid, or object_name_with_type. Returns: curveType: the curve type name use: "None" (no points), "Custom" (own points), "UseVolumeDry" (shares VolumeDry curve), or "UseProject" (uses global Project Settings curve) points: array of {x, y, shape} where x=distance, y=value, shape=curve segment type (Constant, Linear, Log1-3, Exp1-3, SCurve, InvertedSCurve) |
| get_property_and_reference_namesA | Get all valid property and reference names for a Wwise object. Returns lists of properties (e.g. Volume, Pitch) and references (e.g. Attenuation, OutputBus) that can be used with setProperty / setReference calls. Args: object_path: Project path to the object. e.g. "\Containers\Default Work Unit\Footstep" object_guid: GUID of the object. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" object_name_with_type: Name qualified by type or short ID. e.g. "Sound:Footstep_Walk", "Event:Play_Sound_01", "Global:245489792" Supported types: StateGroup, SwitchGroup, SoundBank, GameParameter, Event, Effect, AudioDevice, Trigger, Attenuation, DialogueEvent, Bus, AuxBus, Conversion, ModulatorLfo, ModulatorEnvelope, ModulatorTime, Platform, Language, AcousticTexture, Global class_id: Class ID (unsigned 32-bit integer) of the object type. Provide exactly one of object_path, object_guid, object_name_with_type, or class_id. |
| get_wwise_property_infoA | Get detailed info about a specific property on a Wwise object (type, min, max, default). Use get_property_and_reference_names first to discover valid property names. Use this to validate values before calling setProperty. Args: property_name: The property name to get info for. e.g. "Volume", "Pitch", "Lowpass", "IsLoopingEnabled" object_path: Project path to the object. e.g. "\Containers\Default Work Unit\Footstep" object_guid: GUID of the object. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" object_name_with_type: Name qualified by type or short ID. e.g. "Sound:Footstep_Walk", "Event:Play_Sound_01", "Global:245489792" class_id: Class ID (unsigned 32-bit integer) as an alternative to object. Provide property_name plus one of object_path, object_guid, object_name_with_type, or class_id. Returns the property's type, default value, min/max range, and display name. |
| diff_wwise_objectsA | Compare two Wwise objects and return the properties, references, and lists that differ between them. Useful for auditing ("do these two sounds have the same settings?") and Paste Properties workflows. Args: source_path: Project path of source object. source_guid: GUID of source object. source_name_with_type: type:name of source object. e.g. "Sound:Footstep_Walk" target_path: Project path of target object. target_guid: GUID of target object. target_name_with_type: type:name of target object. e.g. "Sound:Footstep_Run" Provide exactly one source identifier and one target identifier. Object identification (same for source and target): - path: "\Containers\Default Work Unit\Footstep" - GUID: "{aabbcc00-1122-3344-5566-77889900aabb}" - type:name: "Sound:Footstep_Walk", "Event:Play_Sound_01", "Global:245489792" Returns: properties: array of property/reference names that differ (e.g. ["Volume", "Pitch", "Lowpass"]) lists: array of list names that differ (e.g. ["Effects", "RTPC"]) |
| is_wwise_property_linkedA | Check if a property on a Wwise object is linked (shared across all platforms) or unlinked (has platform-specific values). All three arguments (object, property, platform) are required. Args: property_name: The property to check. e.g. "Volume", "Pitch", "Lowpass" platform: Platform name or GUID to check against. e.g. "Windows", "Mac", "iOS", "Android", "PS5", "XboxSeriesX" or a platform GUID "{aabbcc00-1122-3344-5566-77889900aabb}" object_path: Project path. e.g. "\Containers\Default Work Unit\Footstep" object_guid: GUID. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" object_name_with_type: type:name. e.g. "Sound:Footstep_Walk" Provide exactly one of object_path, object_guid, or object_name_with_type. Returns {"linked": true} if the property is linked (shared across platforms), or {"linked": false} if it has a platform-specific override for the given platform. |
| is_wwise_property_enabledA | Check if a property is enabled on a Wwise object for a given platform. A property can be disabled when it's overridden by a parent or not applicable on a specific platform. All three arguments (object, property, platform) are required. Args: property_name: The property to check. e.g. "Volume", "Pitch", "Lowpass" platform: Platform name or GUID. e.g. "Windows", "Mac", "iOS", "Android", "PS5", "XboxSeriesX" or a GUID "{aabbcc00-1122-3344-5566-77889900aabb}" object_path: Project path. e.g. "\Containers\Default Work Unit\Footstep" object_guid: GUID. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" object_name_with_type: type:name. e.g. "Sound:Footstep_Walk" Provide exactly one of object_path, object_guid, or object_name_with_type. Returns {"return": true} if the property is enabled, or {"return": false} if the property is disabled. |
| get_wwise_object_typesA | Get all available Wwise object types. No arguments required. Use this to discover valid type names for queries — pass them to build_object_info_query's from_type or where_type_is parameters. Also useful for getting classId values for build_property_reference_query and build_property_info_query. Returns {"return": [{"classId": int, "name": str, "type": str}, ...]} Each entry contains: classId: The class ID (unsigned 32-bit integer) of the object type. name: The display name of the object type. type: The type identifier string (e.g. "Sound", "Event", "Bus"). |
| get_wwise_installation_infoA | Get information about the running Wwise installation, including version, platform, and build number. Use this to verify which version of Wwise is running and confirm connectivity to the authoring tool. |
| get_wwise_project_infoA | Get metadata about the currently open Wwise project, including project name, default language, and available platforms. Use this to understand the project context before performing queries or modifications. |
| get_switch_container_assignmentsA | Get the switch/state-to-child assignments for a Switch Container. Returns which child object plays for each switch or state value. Use this to audit assignments, find unassigned switches, or document switch mappings. Args: object_path: Project path to the Switch Container. e.g. "\Containers\Default Work Unit\Footstep_Switch" object_guid: GUID of the Switch Container. object_name_with_type: type:name. e.g. "Global:245489792" Provide exactly one of object_path, object_guid, or object_name_with_type. Returns {"return": [...]} — array of assignment pairs, each containing: child: GUID/name/path of the child object assigned to a switch/state stateOrSwitch: GUID/name/path of the switch or state value |
| get_blend_track_assignmentsA | Get the list of assignments for a Blend Track. Only accepts GUIDs. Use this to inspect which children are assigned to a Blend Track and their crossfade edge config. Args: blend_track_guid: The GUID of the Blend Track. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" Returns {"return": [...]} — array of assignments, each containing: child: GUID of the assigned child object index: position among the Blend Track's assignments edges: array of 2 edge configs [left, right], each with: fadeMode: "None", "Manual", or "Automatic" fadeShape: curve shape (Linear, SCurve, etc.) edgePosition: position within the Game Parameter range fadePosition: fade curve start/end (Manual mode only) |
| get_effective_output_busA | Resolve the effective (inherited) output bus for an Actor-Mixer hierarchy object. WAAPI's @OutputBus returns the LOCAL value, which defaults to "Master Audio Bus" when an object has not set Override Output. This tool walks the ancestor chain to find the first non-default @OutputBus assignment and returns its full bus path. Args: object_path: Project path. e.g. "\Actor-Mixer Hierarchy\Default Work Unit\SFX\Barrage" object_guid: GUID. e.g. "{aabbcc00-1122-3344-5566-77889900aabb}" object_name_with_type: type:name. e.g. "Sound:Barrage" Provide exactly one of object_path, object_guid, or object_name_with_type. Returns: object: {name, path, type} of the queried object effective_bus: {id, name} of the resolved output bus bus_path: full project path of the bus (e.g. "\Master-Mixer Hierarchy\Default Work Unit\Master Audio Bus\SFX") is_hdr: whether the object is inside an HDR window (true if the resolved bus or any of its bus ancestors has HdrEnable=true) hdr_bus: {id, name, path} of the bus that establishes the HDR window, or null if not in one set_by: "self", the ancestor path that sets the override, or "default (no ancestor overrides)" |
| ping_wwiseA | Check if WAAPI is currently available. No arguments required. Returns {"isAvailable": true} if Wwise is running and WAAPI is ready. Returns {"isAvailable": false} if Wwise is not running, WAAPI is disabled, or a modal dialog is blocking WAAPI access. Use this before other calls to verify connectivity. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/silver-rain-dev/sk-wwise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server