fmod-mcp
fmod-mcp
AI 코딩 에이전트가 TCP(포트 3663)를 통해 Studio의 내장 JavaScript 스크립팅 터미널과 통신하여 FMOD Studio를 제어(오디오 가져오기, 이벤트 생성, 악기 연결, 뱅크 빌드 등)할 수 있게 해주는 MCP 서버입니다.
Claude Code와 함께 사용하도록 제작되었지만, 모든 MCP 호환 클라이언트에서 작동합니다.
요구 사항
FMOD Studio 2.02 이상 (스크립팅 터미널은 최근 버전 전반에서 안정적입니다)
Python 3.11 이상
대상 프로젝트가 열려 있는 실행 중인 FMOD Studio 인스턴스
설치
git clone https://github.com/jmperez127/fmod-mcp.git
cd fmod-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Claude Code에 등록
복제된 fmod-mcp 디렉토리 내부에서 다음을 실행합니다($(pwd)가 올바르게 확인되도록 합니다):
claude mcp add fmod -s user -- "$(pwd)/.venv/bin/python" -m fmod_mcp--는 claude mcp add의 플래그 파싱을 종료하여 -m fmod_mcp가 Python에 대한 인수로 처리되도록 합니다. -s user는 머신의 모든 Claude Code 세션에 대해 서버를 등록합니다. 프로젝트 단위로 등록하려면 이 옵션을 제거하세요.
또는 전역적으로 호출 가능한 심(shim)을 선호하는 경우 pipx를 통해 설치하세요:
pipx install .
claude mcp add fmod -s user fmod-mcp확인:
claude mcp list호스트/포트 구성 (선택 사항)
기본값은 127.0.0.1:3663입니다. 환경 변수로 재정의할 수 있습니다:
export FMOD_MCP_HOST=127.0.0.1
export FMOD_MCP_PORT=3663Studio에서 TCP 스크립팅 활성화
FMOD Studio의 스크립팅 터미널은 기본적으로 TCP/3663에서 수신 대기합니다. 비활성화된 경우:
FMOD Studio 열기
Edit→Preferences(macOS의 경우FMOD Studio→Preferences)Scripting/Terminal설정 찾기TCP 리스너 활성화, 포트 확인
간단한 스모크 테스트
FMOD Studio가 실행 중이고 프로젝트가 열려 있는 상태에서:
> ping
{ ok: true, version: "2.02.24" }
> list_banks
[ { path: "bank:/Master", guid: "...", name: "Master" }, ... ]일반적인 엔드투엔드(SFX 하나 추가)
> import_audio /absolute/path/to/my_sound.wav
{ guid: "abc...", name: "my_sound.wav", length: 0.84 }
> create_event event:/test/my_sound bank:/Master
{ guid: "def...", path: "event:/test/my_sound", bank: "bank:/Master", bus: null }
> add_single_sound event:/test/my_sound abc...
{ track_guid: "...", instrument_guid: "...", audio_file_guid: "abc...", length: 0.84 }
> save_project
{ ok: true, saved: true }
> build_banks
{ ok: true, built: true, banks: [...] }이제 새 이벤트는 게임에서 사용하는 모든 FMOD 런타임을 통해 재생할 수 있습니다(예: Godot의 FmodServer.play_one_shot("event:/test/my_sound")).
작성되는 파일
~/.cache/fmod-mcp/commands.log— Studio로 전송된 모든 JS 스니펫, 요청 ID별 타임스탬프 포함. 감사 추적 및 재생 소스.
문제가 발생할 경우
FMOD Studio 스크립팅 API는 문서화가 고르지 않으며 일부 메서드/속성 이름은 Studio 버전에 따라 다릅니다. 도구가 실패하는 경우:
~/.cache/fmod-mcp/commands.log에서 전송된 정확한 JS를 확인하세요.Studio의 자체 스크립팅 창(
Window→Scripting)에 붙여넣고 반복하세요.작동하면
fmod_mcp/tools/*.py에서 해당 JS 템플릿을 패치하세요.
명명된 도구에서 다루지 않는 모든 작업은 run_js를 사용하세요:
> run_js return studio.project.model.Event.findInstances().length;
42레이아웃
fmod_mcp/
├── studio_client.py # TCP/3663 client — single persistent connection, request sentinels
├── server.py # FastMCP tool registration, stdio transport
├── __main__.py # python -m fmod_mcp
└── tools/
├── discovery.py # ping, list_*, get_event
├── audio.py # import_audio
├── events.py # create_event, add_single_sound, set_event_property, assign_to_*
├── project.py # save_project, build_banks
└── escape.py # run_js라이선스
MIT © 2026 jmperez127.
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
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for Producer/Riffusion AI music generation
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jmperez127/fmod-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server