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