fmod-studio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FMOD_STUDIO_HOST | No | The host address of the FMOD Studio scripting console. | 127.0.0.1 |
| FMOD_STUDIO_PORT | No | The TCP port of the FMOD Studio scripting console. | 3663 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fmod_get_propertyA | Read any property of an object — including dynamic, per-class managed properties not in the static reference (e.g. an event's 'timeline'). |
| fmod_set_propertyA | Set any property of an object (e.g. instrument 'audioFile' = an asset, or 'name'). Value is auto-embedded: numbers/booleans as literals, a path or '{guid}' as an object reference, else a string. |
| fmod_add_relationshipB | Add an object to one of a target's relationships, e.g. relationship 'banks' on an event -> a 'bank:/...'. (target.relationships[name].add(other)) |
| fmod_remove_relationshipB | Remove an object from one of a target's relationships. (target.relationships[name].remove(other)) |
| fmod_class_namesA | List the project model's class/entity names (introspection: keys of studio.project.model). |
| fmod_describe_classA | List a class's schema-defined property and relationship names — how to discover the dynamic members (use with fmod_get_property/fmod_set_property/fmod_add_relationship). |
| fmod_create_eventB | Composite: create an event, optionally import a one-shot sound onto a new audio track and assign the event to a bank. Equivalent to a create + importAudioFile + addGroupTrack + addSound + set audioFile + add bank relationship. |
| fmod_console_logC | Logs a message. Alias for studio.system.print . [method · console.log] |
| fmod_console_warnB | Logs a warning. Alias for studio.system.warn . [method · console.warn] |
| fmod_console_errorC | Logs an error. Alias for studio.system.error . [method · console.error] |
| fmod_console_dumpC | Logs all members of object. [method · console.dump] |
| fmod_global_alertB | Logs a message in a popup dialog (blocking). Alias for studio.system.message . [method · (global).alert] |
| fmod_studio_os_platformC | The current operating system of the computer. Returns either "mac" for Mac OS X or "win" for all Windows versions. Returns either "mac" for Mac OS X or "win" for all Windows versions. [property · studio.os.platform] |
| fmod_studio_application_filePathC | The absolute file path of the FMOD Studio process's executable. [property · studio.application.filePath] |
| fmod_studio_versionC | An object containing version information for the Studio tool: [property · studio.version] |
| fmod_menu_addMenuItemC | Registers a menu item under the "Scripts" menu, based on the description object: Returns true if the operation succeeds, or false otherwise. [method · menu.addMenuItem] |
| fmod_menu_removeMenuItemA | Removes a menu item that was added with menu.addMenuItem() . The description argument must match a description that the menu item was added with. Returns true if the operation succeeds, or false otherwise. [method · menu.removeMenuItem] |
| fmod_menu_menuItemsB | Returns an Array of menu item descriptions added with menu.addMenuItem() . The order of the Array matches the order in which the items were added. Returns an Array of menu item descriptions added with menu. [method · menu.menuItems] |
| fmod_project_buildA | Builds all the banks to all the platforms listed in the build tab of the preferences dialog. Returns true if the operation succeeds, or false otherwise. [method · project.build] |
| fmod_project_createC | Returns a new instance of a ManagedObject of the given entity name. Returns a new instance of a ManagedObject of the given entity name. [method · project.create] |
| fmod_project_deleteObjectA | Deletes the ManagedObject and its references, if any, from the project. Returns true if the operation succeeds, or false otherwise. [method · project.deleteObject] |
| fmod_project_exportGUIDsA | Exports project "guids.txt". Returns true if the operation succeeds, or false otherwise. [method · project.exportGUIDs] |
| fmod_project_findAvailablePluginsA | Returns an array of strings that lists all available plugins. Returns an array of strings that lists all available plugins. [method · project.findAvailablePlugins] |
| fmod_project_importAudioFileB | Imports an audio asset into the project. Returns an model. [method · project.importAudioFile] |
| fmod_project_lookupC | Lookup a ManagedObject by path or GUID. Returns a ManagedObject found by GUID or path. [method · project.lookup] |
| fmod_project_saveA | Saves the project. Returns true if the operation succeeds, or false otherwise. [method · project.save] |
| fmod_project_audioFileImportedC | Callback triggered when an audio file has finished being imported. [property · project.audioFileImported] |
| fmod_project_audioFileImported_connectB | Sets a function to be called when an audio file is imported, with the signature function(audioFile) . [method · project.audioFileImported.connect] |
| fmod_project_audioFileImported_disconnectA | Disconnects the connectFunction once it is no longer needed. It is important to disconnect the connected signals when they are no longer needed, otherwise they can accumulate and cause unexpected behavior. [method · project.audioFileImported.disconnect] |
| fmod_project_buildEndedC | A callback that will be fired when a build has completed. [property · project.buildEnded] |
| fmod_project_buildEnded_connectA | Sets a function to be called after banks are built, with the signature function(success) . The success argument will be false if a build error occurs or the build is cancelled by the user, and true otherwise. For example: [method · project.buildEnded.connect] |
| fmod_project_buildEnded_disconnectA | Disconnects the connectFunction once it is no longer needed. It is important to disconnect the connected signals when they are no longer needed, otherwise they can accumulate and cause unexpected behavior. [method · project.buildEnded.disconnect] |
| fmod_project_buildStartedC | A callback that will be fired when a build has commenced. [property · project.buildStarted] |
| fmod_project_buildStarted_connectC | Sets a function to be called before banks are built, with the signature function() . For example: [method · project.buildStarted.connect] |
| fmod_project_buildStarted_disconnectB | Disconnects the connectFunction once it is no longer needed. It is important to disconnect the connected signals when they are no longer needed, otherwise they can accumulate and cause unexpected behavior. [method · project.buildStarted.disconnect] |
| fmod_project_filePathC | The absolute path to the project's ".fspro` file on disk. [property · project.filePath] |
| fmod_project_distanceRolloffTypeC | An enum corresponding to different distance attenuation roll-off types available to spatial effects. [property · project.distanceRolloffType] |
| fmod_project_parameterTypeC | An enum corresponding to different model.Parameter types available. [property · project.parameterType] |
| fmod_project_regionLoopModeC | An enum corresponding to different loop modes of a loop region. [property · project.regionLoopMode] |
| fmod_entity_isAbstractC | A constant boolean value that is set to true if an object is the base class of another entity type. [property · entity.isAbstract] |
| fmod_entity_isGlobalC | A constant boolean value that is set to true if an entity exists globally, rather than on a per project basis. [property · entity.isGlobal] |
| fmod_entity_isSingletonC | A constant boolean value that is set to true if only a single ManagedObject instance of the entity can exist at any given time. [property · entity.isSingleton] |
| fmod_entity_propertiesD | Returns an array of property description objects containing named properties that represent each ManagedObject property available for this entity. Returns an array of property description objects containing named properties that represent each ManagedObject property available for this entity. [property · entity.properties] |
| fmod_entity_superEntitiesC | An array of strings representing the entity type inherited by this entity. [property · entity.superEntities] |
| fmod_entity_documentC | Returns a string describing the entity, including its properties and relationships. Returns a string describing the entity, including its properties and relationships. [method · entity.document] |
| fmod_entity_findInstancesC | Returns an array of ManagedObject instances of a given entity type. Returns an array of ManagedObject instances of a given entity type. (bracketed args are optional) [method · entity.findInstances] |
| fmod_entity_singletonInstanceB | Returns the singleton ManagedObject instance of a particular entity type. Returns the singleton ManagedObject instance of a particular entity type. [method · entity.singletonInstance] |
| fmod_entity_relationshipsC | Returns an array of relationship description objects, containing named relationships that represents each ManagedObject relationship available for this entity. Returns an array of relationship description objects, containing named relationships that represents each ManagedObject relationship available for this entity. [property · entity.relationships] |
| fmod_ManagedObject_entityC | A string representing the object's project.Entity type. [property · ManagedObject.entity] |
| fmod_ManagedObject_idB | The object's unique ID. [property · ManagedObject.id] |
| fmod_ManagedObject_isValidC | Returns whether an object is in a valid state. Returns whether an object is in a valid state. [property · ManagedObject.isValid] |
| fmod_ManagedObject_propertiesC | Provides access to an object's properties. Returns a ManagedPropertyMap . [property · ManagedObject.properties] |
| fmod_ManagedObject_relationshipsC | Provides access to an object's relationships. Returns a ManagedRelationshipMap . [property · ManagedObject.relationships] |
| fmod_ManagedObject_documentC | Returns a string describing this ManagedObject 's entity type. Returns a string describing this ManagedObject 's entity type. [method · ManagedObject.document] |
| fmod_ManagedObject_dumpC | Logs all members. [method · ManagedObject.dump] |
| fmod_ManagedObject_isOfExactTypeC | Returns true if the object type matches the provided entity name. Returns true if the object type matches the provided entity name. [method · ManagedObject.isOfExactType] |
| fmod_ManagedObject_isOfTypeB | Returns true if the object has an entity that matches the entity name, or is of a derived type. Returns true if the object has an entity that matches the entity name, or is of a derived type. [method · ManagedObject.isOfType] |
| fmod_Asset_getAbsoluteAssetPathC | Retrieves the absolute path of the file the asset refers to. Returns the absolute path of the file the asset refers to. [method · Asset.getAbsoluteAssetPath] |
| fmod_Asset_getAssetPathB | Retrieves the path of the file the asset refers to, relative to the project assets directory. Returns the path of the file the asset refers to, relative to the project assets directory. [method · Asset.getAssetPath] |
| fmod_Asset_setAssetPathA | Sets the path of the file the asset refers to, relative to the project assets directory. Returns true if the operation succeeds, or false otherwise. [method · Asset.setAssetPath] |
| fmod_AutomatableObject_addAutomatorA | Creates a model.Automator for a given property of the automatable object. Returns the automator ManagedObject . [method · AutomatableObject.addAutomator] |
| fmod_AutomatableObject_addModulatorB | Creates a model.Modulator for a given property of the automatable object. Returns the modulator ManagedObject . [method · AutomatableObject.addModulator] |
| fmod_AutomationCurve_addAutomationPointC | Creates an automation point at the given position. Returns the automation point ManagedObject . [method · AutomationCurve.addAutomationPoint] |
| fmod_Automator_addAutomationCurveC | Creates a model.AutomationCurve on the parameter specified. Returns the automation curve ManagedObject . [method · Automator.addAutomationCurve] |
| fmod_Bank_getPathB | Retrieves the bank's unique path identifier. Returns the bank's path as a string . [method · Bank.getPath] |
| fmod_Event_addGameParameterC | Adds a game parameter to the event. Returns the game parameter ManagedObject . [method · Event.addGameParameter] |
| fmod_Event_addGroupTrackC | Adds an audio track with the given name to the event. Returns the newly created model. [method · Event.addGroupTrack] |
| fmod_Event_addMarkerTrackB | Adds a marker track to the event. Returns the newly created model. [method · Event.addMarkerTrack] |
| fmod_Event_addReturnTrackB | Adds a return track with the given name to the event. Returns the newly created return track ManagedObject . [method · Event.addReturnTrack] |
| fmod_Event_get3DAttributesC | Retrieves the 3D attributes of an event. [method · Event.get3DAttributes] |
| fmod_Event_getCursorPositionB | Retrieves the cursor position. Returns the cursor position as a number . [method · Event.getCursorPosition] |
| fmod_Event_getParameterPresetsC | Retrieves an array of preset parameters referenced by the event . Returns an array of all model. [method · Event.getParameterPresets] |
| fmod_Event_getPathA | Retrieves the event 's unique path identifier. Returns the event's path as a string . [method · Event.getPath] |
| fmod_Event_getPlayheadPositionC | Retrieves the playback position of a given parameter . Returns the playback position of a model. [method · Event.getPlayheadPosition] |
| fmod_Event_is3DB | Reports whether an event is 3D . Returns true if an event is 3D. [method · Event.is3D] |
| fmod_Event_isOneShotA | Reports whether an event is a one-shot. Returns true if an event is one-shot. [method · Event.isOneShot] |
| fmod_Event_isPausedB | Reports whether an event instance is paused. Returns true if an event instance is paused. [method · Event.isPaused] |
| fmod_Event_isPlayingB | Reports whether an event instance is playing. Returns true if an event instance is playing. [method · Event.isPlaying] |
| fmod_Event_isRecordingB | Reports whether an event instance is being recorded in a profiler session . Returns true for profiler sessions with recording enabled. [method · Event.isRecording] |
| fmod_Event_isStoppingB | Reports whether an event instance is stopping. Returns true if an event instance is stopping. [method · Event.isStopping] |
| fmod_Event_keyOffC | Sends the keyoff command to a currently playing event instance . [method · Event.keyOff] |
| fmod_Event_returnToStartA | Moves the playback position to the cursor position if called while the event instance is playing, stopping, or paused, or to the start of the timeline while the event instance is stopped. [method · Event.returnToStart] |
| fmod_Event_set3DAttributesB | Sets the 3D attributes of an event instance being auditioned based on a 3D attributes object. [method · Event.set3DAttributes] |
| fmod_Event_setCursorPositionC | Sets the cursor position to a number. [method · Event.setCursorPosition] |
| fmod_Event_stopImmediateA | Stops an event instance immediately, skipping the stopping event state . [method · Event.stopImmediate] |
| fmod_Event_stopNonImmediateB | Commands a playing event instance to enter the stopping event state . [method · Event.stopNonImmediate] |
| fmod_Event_togglePauseC | Toggles the pause state of an event instance . [method · Event.togglePause] |
| fmod_Event_toggleRecordingB | Toggles the recording state for a profiler session. [method · Event.toggleRecording] |
| fmod_Event_playC | Plays the event instance . [method · Event.play] |
| fmod_Folder_getItemC | Retrieves the item at the relative path specified. Returns the item at the relative path specified. [method · Folder.getItem] |
| fmod_MasterAssetFolder_getAssetC | Retrieves the asset at the path specified. Returns the model. [method · MasterAssetFolder.getAsset] |
| fmod_MixerBusEffectChain_addEffectC | Creates an effect and adds it to the end of the chain. Returns the effect ManagedObject . [method · MixerBusEffectChain.addEffect] |
| fmod_ConvolutionReverbEffect_setIRFromFilePathB | Sets the impulse response for a convolution reverb effect. [method · ConvolutionReverbEffect.setIRFromFilePath] |
| fmod_MixerBus_getInputFormatC | Retrieves the input format of the bus . Returns the effective input format for a model. [method · MixerBus.getInputFormat] |
| fmod_MixerBus_getOutputFormatB | Retrieves the output format of the bus . Returns the effective output format for a model. [method · MixerBus.getOutputFormat] |
| fmod_MixerStrip_getPathA | Retrieves the mixer strip's unique path identifier. Returns the model. [method · MixerStrip.getPath] |
| fmod_GameParameter_getCursorPositionB | Retrieves the parameter 's cursor position. Returns the cursor position of the global user parameter as a number . [method · GameParameter.getCursorPosition] |
| fmod_GameParameter_setCursorPositionB | Sets the cursor position of the global , user , or built-in parameter to a number. [method · GameParameter.setCursorPosition] |
| fmod_Parameter_getPlayheadPositionC | Retrieves the playback position of a parameter, within the context of the associated model.Event . [property · Parameter.getPlayheadPosition] |
| fmod_ParameterPreset_getPathB | Retrieves the preset parameter's unique path identifier. Returns the parameter's path as a string . [method · ParameterPreset.getPath] |
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/EYamanS/fmod-studio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server