sfx-gen-mcp

sfx-gen-mcp

Enables local generation of game sound effects from text prompts using Stability AI's Stable Audio Open model, with no API keys or per-generation cost.

Category
Visit Server

README

sfx-gen-mcp

An MCP server that lets LLM agents (Claude Code, etc.) generate game sound effects locally with Stability AI's Stable Audio Open. No API keys, no per-generation cost — your agent asks for "a coin pickup sound in assets/sounds/" and gets a .wav file.

Tools

  • generate_sfx — text prompt → .wav file(s). Parameters: prompt, duration_seconds (0.5–47), steps, cfg_scale, seed, negative_prompt, variations (1–4 takes per call), output_dir, filename. Returns JSON with saved file paths and the seed used (so a liked sound can be reproduced or varied).
  • sfx_server_status — model/device/load state.

Requirements

  • Python 3.10+
  • ~10 GB disk for model weights, ~12 GB RAM while generating
  • GPU strongly recommended: CUDA or Apple Silicon (MPS is supported and patched at runtime — upstream stable-audio-tools uses float64 which MPS lacks)
  • Hugging Face access to the gated model: accept the license at stabilityai/stable-audio-open-1.0, then hf auth login

This server is the local-SFX half of game-audio-kit, which bundles it with a music/voice MCP server and a Claude Code audition-workflow skill — but it stands alone: any MCP client can use it directly.

Install

Not yet on PyPI — install from this repo:

uv tool install git+https://github.com/JimCline/sfx-gen-mcp
# or: pip install git+https://github.com/JimCline/sfx-gen-mcp

Run

Two modes:

Shared daemon (recommended) — one resident model serves every client; sessions connect over streamable HTTP and skip the per-session model load:

PYTORCH_ENABLE_MPS_FALLBACK=1 sfx-gen-mcp --transport http --port 8756
claude mcp add --transport http --scope user sfx-gen http://127.0.0.1:8756/mcp

Per-session (stdio) — simplest, but each client process loads its own copy of the model:

claude mcp add --scope user --env PYTORCH_ENABLE_MPS_FALLBACK=1 -- sfx-gen sfx-gen-mcp

Concurrent requests to the daemon are serialized with a lock — a second client queues instead of contending for the GPU.

The model lazy-loads on the first generate_sfx call (~20–40s), then stays resident. On an Apple M-series GPU a 50-step clip takes roughly 15–30s.

Env vars

Variable Meaning
SFX_MODEL HF model name (default stabilityai/stable-audio-open-1.0)
SFX_OUTPUT_DIR Default output directory (default <cwd>/sfx-output)
SFX_IDLE_TIMEOUT Seconds of inactivity before the server exits to free model memory (default 1800; 0 disables)

Idle shutdown

Once the model has been loaded, the server exits after SFX_IDLE_TIMEOUT seconds (default 30 min) without a generation, releasing the ~10 GB of model memory. Run it under a supervisor that restarts it (launchd KeepAlive, systemd Restart=always, docker --restart) and it respawns instantly as a small model-free listener; the next generate_sfx call reloads the model. A server that has never loaded the model never exits.

macOS: run at login

See launchd/com.sfx-gen-mcp.plist for a LaunchAgent template: copy to ~/Library/LaunchAgents/, adjust paths, then launchctl load ~/Library/LaunchAgents/com.sfx-gen-mcp.plist. Idle memory is small — the model only loads when the first generation is requested.

Prompting tips

Concrete, physical descriptions work best:

  • "sword clashing against metal shield, sharp ring" not "battle sound"
  • "footsteps on gravel, slow walking pace" not "walking"
  • Use negative_prompt: "music, voices" to keep ambiences clean
  • Impacts: 1–2s. UI blips: ~1s. Ambient loops: 10–30s.

License

MIT for this server. Model weights are governed by the Stability AI Community License; outputs are usable in commercial projects for organizations under $1M annual revenue — review the license for your situation.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured