Skip to main content
Glama

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=3663

Studio에서 TCP 스크립팅 활성화

FMOD Studio의 스크립팅 터미널은 기본적으로 TCP/3663에서 수신 대기합니다. 비활성화된 경우:

  1. FMOD Studio 열기

  2. EditPreferences(macOS의 경우 FMOD StudioPreferences)

  3. Scripting / Terminal 설정 찾기

  4. 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 버전에 따라 다릅니다. 도구가 실패하는 경우:

  1. ~/.cache/fmod-mcp/commands.log에서 전송된 정확한 JS를 확인하세요.

  2. Studio의 자체 스크립팅 창(WindowScripting)에 붙여넣고 반복하세요.

  3. 작동하면 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.

Install Server
A
license - permissive license
B
quality
C
maintenance

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

View all MCP Connectors

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/jmperez127/fmod-mcp'

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