Skip to main content
Glama

fmod-mcp

AIコーディングエージェントがFMOD Studioを操作(オーディオのインポート、イベント作成、インストゥルメントの接続、バンクの構築)できるようにするMCPサーバーです。Studioに組み込まれたJavaScriptスクリプトターミナルとTCP(ポート3663)経由で通信します。

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のスクリプトウィンドウ(Studio GUIの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