Skip to main content
Glama

AudioMade MCP

AudioMade brings game-ready AI sound effects into compatible coding assistants through the Model Context Protocol (MCP).

Describe the interaction you are building, generate four real sound candidates, listen to each option, and choose one. AudioMade installs only the selected WAV into your Unity, Godot, or generic game project.

Why this MCP server exists

Sound generation should not silently make creative decisions or modify a game project before the developer hears the result. AudioMade uses a controlled human-in-the-loop workflow:

Describe the sound
      |
Generate four candidates
      |
Listen and choose 1, 2, 3, or 4
      |
Install only the selected WAV
      |
Connect it to the project's existing audio system

Generation is asynchronous, so an agent can continue implementing the game feature while the audio renders.

Related MCP server: UE Audio MCP

Features

  • Four playable candidates for every generation

  • Explicit user selection before installation

  • Unity, Godot, and generic project destinations

  • Safe path validation

  • No silent file overwrite

  • UI, gameplay, impact, weapons, Foley, creature, sci-fi, cinematic, ambience, music, horror, retro, and cartoon sound families

  • Local candidate preview support

  • WAV installation into the project

Requirements

  • Node.js 20 or newer

  • An AudioMade account

  • An AUDIOMADE_API_KEY created from the AudioMade MCP setup screen

  • A compatible MCP client

Create an account at audiomade.app. Keep the API key private. It can use generation credits associated with your account.

Install from source

git clone https://github.com/yasib48/audiomade-mcp.git
cd audiomade-mcp
corepack enable
pnpm install --frozen-lockfile
pnpm build

Set the key in the environment used by your MCP client:

AUDIOMADE_API_KEY=your_private_key

Run the server with:

node server/index.js

MCP client configuration

Use an absolute path to server/index.js in your client configuration:

{
  "mcpServers": {
    "audiomade": {
      "command": "node",
      "args": ["/absolute/path/to/audiomade-mcp/server/index.js"],
      "env": {
        "AUDIOMADE_API_KEY": "your_private_key"
      }
    }
  }
}

Do not commit a configuration file containing a real key. The exact config file location depends on the MCP client.

Tools

Tool

Purpose

get_audio_capabilities

Read supported sound families and workflow requirements

get_candidate_audio

Load existing candidate previews for a compatible picker UI

generate_sound_candidates

Start a four-candidate generation job

get_sound_candidates

Check the job and return real playable candidates

select_sound_candidate

Record the user's explicit 1 to 4 choice

install_sound_candidate

Copy only the selected WAV into the game project

Example request

Create a short stone landing sound for this player controller. Make four
options, let me listen to them, and do not add anything until I choose one.

Development

pnpm install
pnpm build
pnpm test

The tests use mocked API responses and temporary directories. They do not spend generation credits or modify a real game project.

Privacy and security

  • The API key is read from the local process environment.

  • Generated candidates are stored temporarily on the local machine.

  • Installation is restricted to a validated path inside the supplied project.

  • Existing files are not overwritten unless the user explicitly allows it.

  • Never include a real API key, generated user audio, or private project data in an issue or pull request.

See the AudioMade privacy policy and terms for the hosted service.

License

The MCP client code in this repository is available under the MIT License. Use of the hosted AudioMade service is governed separately by the AudioMade terms of service.

AudioMade is not affiliated with Unity Technologies or the Godot Engine project.

Available Tools

6 tools
generate_sound_candidatesA

Start one real asynchronous AudioMade generation with exactly four candidates. Continue implementation while it renders, then call get_sound_candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
promptYes
stylesNo
intensityNomedium
sound_typeYes
duration_secondsNo
interaction_contextNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses asynchronous execution, realistic side effects, and the four-candidate count, beyond the sparse false-valued annotations. However, it doesn't state what happens on repeated calls, whether the previous generation is replaced, or any rate-limit/cost externalities, so transparency is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; the action is front-loaded and the follow-up instruction is placed at the end. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With seven parameters, no output schema, and annotations that add little guidance, this terse description is not enough for reliable invocation. It captures the workflow but omits parameter meaning, output/result behavior, and side-effect details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions any parameter, not even required prompt and sound_type. The agent must rely on raw property names, enums, and defaults with no explanatory guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action ('Start one real asynchronous AudioMade generation') and pins the expected outcome ('exactly four candidates'), making the tool's role clear. It also references the downstream get_sound_candidates call, which distinguishes it from sibling retrieval/selection tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit workflow: start generation, continue implementation while it renders, then call get_sound_candidates. This tells the agent when to invoke the tool against the main alternative, though it doesn't spell out when not to use it or list other alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_audio_capabilitiesA
Read-onlyIdempotent

Describe AudioMade's generate, audition, select and install workflow without using generation credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly and idempotent, and the description adds a meaningful behavioral detail: the tool consumes no generation credits. It also clarifies that the tool only describes the workflow and does not execute generate, audition, select, or install operations. This aligns with, and enriches, the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the action and names the workflow phases in order. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only informational tool, the description covers what the tool does, the workflow it describes, and an important operational constraint (no generation credits). No output schema exists, and no additional context appears necessary for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema documents 100% of them trivially. There is no parameter meaning for the description to add, so the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Describe') and names a concrete resource: AudioMade's generate, audition, select, and install workflow. It clearly marks itself as an informational/overview tool rather than an actual generation or installation action, distinguishing it from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without using generation credits' implies the tool is useful when an agent wants to understand the workflow without incurring cost. However, it does not explicitly state when to prefer this tool over the workflow-executing siblings or when not to use it, leaving some routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_candidate_audioA
Read-onlyIdempotent

Load existing audio previews directly into the picker. Does not generate, select or install audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
generation_idNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnly and idempotent. The description adds valuable behavioral context: it loads previews into the picker and explicitly denies generation, selection, or installation behavior. This goes beyond the annotations and helps set expectations about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The primary action is front-loaded, and the exclusion clause is a distinct second sentence. Every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description leaves important gaps: what generation_id means, what happens if it is omitted, and what the return/result of the load looks like. Annotations cover safety but not invocation semantics, so the description is not complete enough for confident correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, generation_id, with no description coverage. The tool description does not mention this parameter at all, leaving the agent to guess what generation_id refers to, why it is optional, or how it affects the operation. With 0% schema coverage, the description needed to compensate and did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Load') and a clear resource ('existing audio previews') with a destination ('into the picker'). It also explicitly states what the tool does not do ('Does not generate, select or install audio'), which clearly differentiates it from sibling tools like generate_sound_candidates, select_sound_candidate, and install_sound_candidate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when loading existing audio previews into the picker. It also states exclusions ('Does not generate, select or install audio') which signals what not to use it for, but it does not explicitly name alternative tools or provide conditional guidance, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sound_candidatesA
Read-onlyIdempotent

Retrieve four real playable candidates for a started generation. Present them as 1, 2, 3 and 4, then wait for the user's numbered reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
wait_secondsNo
generation_job_idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already convey read-only and idempotent behavior. The description adds useful context beyond that: the result contains exactly four real playable candidates, and the agent should present them as a numbered list and wait for the user's reply. This is meaningful behavioral guidance without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and then gives the key interaction instruction. No words are wasted, and the structure makes the tool's purpose immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose and the return content (four candidates), and annotations handle safety semantics. However, it omits the meaning of wait_seconds, possible error conditions, and what to do if no candidates exist or the generation is invalid. These gaps are noticeable but not critical for a simple retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining the parameters. It indirectly implies generation_job_id through 'a started generation,' but it never explains wait_seconds, which has a default, minimum, and maximum but no stated purpose in the description. This leaves a meaningful parameter unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Retrieve four real playable candidates') on a specific resource ('a started generation'). It clearly differentiates from the sibling tools: it does not generate, select, install, or fetch audio capabilities, making the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a started generation' clearly places this tool after generation has begun and before a candidate is chosen. It does not explicitly name alternatives or exclusion conditions, but the context is strong enough that an agent can infer when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_sound_candidateA
Idempotent

Install the explicitly selected AudioMade candidate into a Unity, Godot, Defold or generic project.

ParametersJSON Schema
NameRequiredDescriptionDefault
engineYes
variantYes
overwriteNo
asset_nameYes
project_rootYes
generation_idYes
destination_directoryNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the operation is non-read-only, idempotent, and non-destructive, so the description does not need to restate those. It adds that the tool targets specific engines, but it does not disclose installation behavior such as file copying, project structure modifications, or what overwrite means in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no redundant wording. It is front-loaded with the action and resource, and every phrase adds relevant context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having seven parameters, no output schema, and no parameter documentation, the description provides only the core purpose. It omits what 'install' actually does, how the candidate is identified, what required inputs mean, and what a successful installation entails, making it incomplete for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description explains none of the seven parameters beyond echoing the engine options already present in the schema. generation_id, variant, project_root, asset_name, overwrite, and destination_directory are left entirely to the agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the primary action — installing an explicitly selected AudioMade candidate — and specifies the target project types (Unity, Godot, Defold, or generic). This distinguishes it from sibling tools focused on generation, retrieval, or selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'explicitly selected' implies this tool should be used after select_sound_candidate, but it does not explicitly say when to use this tool versus alternatives or mention prerequisites. The usage context is implied rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_sound_candidateB
Idempotent

Record the user's explicit 1, 2, 3 or 4 reply. This does not install a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
variantYes
generation_idYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate idempotency and non-destructiveness. The description adds a useful behavioral clarification—recording a selection does not install a file—which helps disambiguate from install_sound_candidate. However, it does not describe side effects, whether the selection is persisted, or what happens on repeated calls, though idempotentHint covers some of this. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no fluff. The main action is front-loaded, and the clarifying 'does not install a file' earns its place by preventing a common confusion. Every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no output schema, the description is minimal but leaves critical workflow context missing: where generation_id comes from, how it relates to the user's 1-4 choice, and what the agent should expect after calling this. The sibling tool list hints at the workflow, but the description itself does not provide enough for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that the variant parameter maps to a 1, 2, 3, or 4 user reply, which is helpful. However, it never explains generation_id—its origin, how to obtain it, or its relationship to the candidates being selected. This is a notable gap given the schema provides no semantic help.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Record') and identifies the exact resource: the user's explicit 1, 2, 3, or 4 reply. It also distinguishes itself from installing by adding 'This does not install a file,' which differentiates it from the install_sound_candidate sibling. It does not explicitly name all siblings, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used when the user provides a 1-4 selection and explicitly clarifies that it is not an install action. However, it does not state when to use this versus generate_sound_candidates or get_sound_candidates, nor does it describe the expected workflow order. Usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.1
    • First observedgenerate_sound_candidates
    • First observedget_audio_capabilities
    • First observedget_candidate_audio
    • First observedget_sound_candidates
    • First observedinstall_sound_candidate
    • First observedselect_sound_candidate

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have clear boundaries, but get_candidate_audio and get_sound_candidates both relate to retrieving playable audio, requiring careful reading to distinguish existing previews from generated candidates. The remaining tools are unambiguous in their roles.

Naming Consistency3/5

The verb_noun pattern is mostly consistent, but the nouns mix 'audio' and 'sound' (get_candidate_audio vs. get_sound_candidates), and 'candidate' appears as both singular and plural. This creates minor naming friction.

Tool Count5/5

Six tools are well-scoped for the generate-audition-select-install workflow. Each tool maps to a clear step without redundancy or bloat.

Completeness4/5

The full generation-to-install lifecycle is covered, including loading existing previews. Minor gaps like a cancellation or status-check tool are absent, but the core workflow is complete enough for agent success.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/yasib48/audiomade-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server