Bismuth_MCP_Godot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GODOT_BIN | No | Path to the Godot engine binary. | godot |
| GODOT_PROJECT | No | Root of the Godot project. If not provided, the current working directory of the MCP client is used. | current directory |
| GODOT_MCP_PORT | No | Fixed TCP bridge port (0 means random). | 0 |
| GODOT_MCP_CACHE | No | API index cache directory. | ~/.cache/bismuth-mcp-godot |
| GODOT_MCP_RENDER | No | Set to 1 to start the host with rendering enabled (needed for screenshots). | 0 |
| GODOT_MCP_VERBOSE | No | Set to 1 to send all Godot stdout/stderr to the MCP server's stderr. | 0 |
| GODOT_MCP_LSP_PORT | No | LSP port of an already open editor. | 6005 |
| GODOT_MCP_ALLOW_EVAL | No | Reserved for running arbitrary GDScript. | 0 |
| GODOT_MCP_TIMEOUT_MS | No | Timeout for host commands. | 30000 |
| GODOT_MCP_RENDER_WIDTH | No | Window width in render mode. | 1152 |
| GODOT_MCP_MAX_LOG_LINES | No | Size of the ring log buffer. | 4000 |
| GODOT_MCP_RENDER_HEIGHT | No | Window height in render mode. | 648 |
| GODOT_MCP_CLI_TIMEOUT_MS | No | Timeout for one-off CLI runs. | 180000 |
| GODOT_MCP_DISPLAY_DRIVER | No | Display driver for render mode: x11 or wayland. | x11 |
| GODOT_MCP_STEP_TIMEOUT_MS | No | Timeout for step-by-step execution. | 60000 |
| GODOT_MCP_WINDOW_POSITION | No | Window position (can be moved off-screen). | 0,0 |
| GODOT_MCP_RENDERING_DRIVER | No | Rendering driver: opengl3 or vulkan. | opengl3 |
| GODOT_MCP_START_TIMEOUT_MS | No | Timeout for starting the host process and import. | 45000 |
| GODOT_MCP_IMPORT_TIMEOUT_MS | No | Timeout for background `godot --import`. | 900000 |
| GODOT_MCP_MAX_RESPONSE_BYTES | No | Host response size limit. | 8388608 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| godot_statusA | Состояние MCP-сервера и движка: версия Godot, корень проекта, запущен ли headless-хост, режим рендера, готов ли импорт проекта, доступные возможности (скриншоты, LSP, редактор), лимиты. Вызывайте в начале работы. Работает даже если проект не найден — тогда остальные инструменты вернут ошибку no_project. |
| godot_project_infoB | Сводка по Godot-проекту: имя, версия/features, главная сцена, автолоаны, слои физики/рендера, input-карта, плагины редактора, глобальные классы (class_name), пресеты экспорта. |
| godot_project_settingsA | Чтение и запись настроек проекта (project.godot): list (все ключи, опционально по префиксу), get (конкретные ключи), set (запись значений с правильной типизацией, save=true сохраняет файл). Ключи указываются без секции: "display/window/size/viewport_width". |
| godot_filesA | Работа с файлами проекта. mode=list — дерево файлов с фильтрами-глобами (*.gd, res://scenes/**), mode=read — чтение текста (с диапазоном строк), mode=write — запись (создаёт каталоги), mode=restore — восстановление файла из бэкапа .mcp-backups. Выход за пределы корня проекта запрещён. |
| godot_assetsB | Поиск ассетов проекта по имени/пути и типу ресурса (Texture2D, PackedScene, Script, AudioStream, Font, Shader...) с uid, размером и признаком импорта. Дополнительно mode=references находит, где ресурс упоминается в текстовых файлах. |
| godot_resourceA | Чтение и изменение любого Resource (.tres, темы, шейдеры, ресурсы сцен). mode=info — метаданные и зависимости, mode=get — свойства, mode=set — запись свойств (save=true сохраняет файл, save_as — в новый), mode=create — создание ресурса. Значения свойств: примитивы (число/строка/bool), вложенные пути вида "theme/colors/font_color", строки вида "Vector2(10, 20)" или объекты {"$":"Vector2","x":10,"y":20}, {"$":"Color","hex":"#ff8800"}, ссылки на ресурсы {"path":"res://icon.svg"} или {"$":"ClassRef","class":"PointLight2D"}. |
| godot_project_importA | Запускает godot --headless --import: пересканирует файловую систему проекта, импортирует/переимпортирует ассеты, генерирует uid. Нужно после добавления новых файлов ассетов перед их использованием. Возвращает сводку и хвост вывода. |
| godot_project_scaffoldA | Создаёт новый Godot 4 проект в указанном каталоге: project.godot (с корректными features), .gitignore, main.tscn, скрипт игрока и каталоги. Используйте для старта с нуля — текущий проект сервера при этом не меняется. |
| godot_exportA | Сборка: mode=presets — список пресетов экспорта, mode=export — экспорт по пресету (pack или бинарник), mode=test — запуск тестов в headless (GUT или пользовательский раннер) с разбором вывода. |
| godot_scene_backupsB | Список автоматических бэкапов сцен из .mcp-backups (создаются перед каждой записью сцены). |
| godot_sceneA | Чтение сцен. mode=state — точное содержимое файла .tscn (только сохранённые свойства, ext_resource, связи): лучший способ понять, что реально записано в сцене. mode=tree — дерево узлов (файл или живая игра), mode=inspect — свойства/сигналы/методы узла, mode=create — создать новую сцену, mode=backups — бэкапы. |
| godot_scene_editA | Транзакционное изменение .tscn пачкой операций. По умолчанию save=false (dry run: изменения применяются в памяти, в лог попадает результат, файл не трогается) — сначала проверьте результат, затем повторите с save=true, при этом автоматически создаётся бэкап в .mcp-backups. Операции: add_node, instantiate_scene, remove_node, duplicate, rename, reparent, move, set_props, group, script, connect, disconnect, set_owner, set_meta. Поля op: parent (для add_node/instantiate_scene), type, name, props, script, groups, index, path, to, signal, method, binds. Значения свойств: примитивы (число/строка/bool), вложенные пути вида "theme/colors/font_color", строки вида "Vector2(10, 20)" или объекты {"$":"Vector2","x":10,"y":20}, {"$":"Color","hex":"#ff8800"}, ссылки на ресурсы {"path":"res://icon.svg"} или {"$":"ClassRef","class":"PointLight2D"}. |
| godot_classA | Справка по классам движка. mode=info — методы, свойства, сигналы, перечисления, константы класса (структура берётся из ClassDB, точная и актуальная; mode=docs добавляет официальную документацию из кэша --dump-extension-api-with-docs). mode=search — поиск по всему API (классы, методы, свойства, сигналы, enum) и по глобальным классам проекта. mode=props — допустимые значения перечисляемого свойства. mode=inheritors — кто наследуется от класса. |
| godot_scriptB | Работа со скриптами. mode=info — метаданные (базовый класс, class_name, tool, строки), mode=symbols — структура: функции, сигналы, переменные (с @export и значениями по умолчанию), константы, enum, docstring и номера строк, mode=read — текст (с диапазоном строк), mode=references — где вызывается символ в .gd файлах проекта. |
| godot_script_checkA | Проверяет синтаксис и компиляцию .gd файлов (godot --check-only) и/или загружает проект в headless-режиме, чтобы поймать ошибки времени выполнения при инициализации. Возвращает список ошибок с файлами и строками. Используйте после массового редактирования скриптов. |
| godot_runA | Управление запущенной игрой внутри headless-хоста Godot. mode=start — загрузить сцену в дерево (по умолчанию main_scene), mode=stop — выгрузить, mode=status — состояние, mode=step — выполнить N кадров (или seconds) с автоматической паузой после (удобно для пошаговой отладки), mode=configure — пауза, time_scale, max_fps. Важно: чтобы увидеть игру, сначала вызовите mode=start с render=true, затем godot_screenshot. |
| godot_runtimeA | Работа с живой игрой. mode=tree — дерево узлов, mode=inspect — свойства узла, mode=find — поиск по имени/типу/группе/скрипту, mode=get / set — чтение и запись свойств (в том числе вложенных вида "theme/colors/font_color"), mode=call — вызов метода узла, mode=emit — отправка сигнала, mode=connect — соединение сигнала с методом. Сначала запустите игру через godot_run { mode: "start" }. Значения свойств: примитивы (число/строка/bool), вложенные пути вида "theme/colors/font_color", строки вида "Vector2(10, 20)" или объекты {"$":"Vector2","x":10,"y":20}, {"$":"Color","hex":"#ff8800"}, ссылки на ресурсы {"path":"res://icon.svg"} или {"$":"ClassRef","class":"PointLight2D"}. |
| godot_inputA | Инъекция ввода в запущенную игру без участии ОС (работает и в headless). mode=action — нажать/отпустить действие InputMap (move_left, jump...), mode=key — клавиша по имени ("SPACE", "A", "ESCAPE"), mode=mouse_button, mode=mouse_motion, mode=joy_button, mode=release_all — отпустить всё. После нажатия имеет смысл выполнить godot_run { mode: "step" }. |
| godot_screenshotA | Снимок кадра игры в PNG. Требует запуска с render=true (godot_run { mode: "start", render: true }) — в headless рендерера нет. node — вырезать область узла (Control/Node2D/Node3D). Возвращает путь к файлу и само изображение. |
| godot_logsB | Вывод запущенного Godot: print из игры, ошибки и трассировки. mode=tail — последние строки, mode=errors — только ошибки и предупреждения с разобранными стек-трейсами, mode=clear — сбросить буфер. Используйте cursor из ответа для инкрементального чтения (since). |
| godot_imageA | Возвращает текстуру проекта как PNG-блок (визуальная проверка спрайтов, иконок, атласов) и краткую информацию о размере/формате. size — привести к квадрату указанного размера (0 = без изменений). |
| godot_lspA | Доступ к встроенному языковому серверу Godot (GDScript LSP). mode=diagnostics — ошибки и предупреждения по файлам (файл должен существовать; ставится в очередь didOpen), mode=hover — документация символа по позиции, mode=definition — переход к определению, mode=completion — автодополнение, mode=symbols — структура файла по данным редактора, mode=references — использования символа, mode=status — состояние LSP. Если редактор не открыт, сервер поднимает свой headless-редактор (первый вызов занимает до десятка секунд). Позиции: line и character 1-based. |
| godot_editorA | Управление редактором через аддон-мост (нужен запущенный редактор с плагином Bismuth MCP Godot Bridge). mode=status — состояние, mode=install_bridge — установить аддон в проект (изменяет проект!), mode=open_scene — открыть сцену в редакторе, mode=save — сохранить открытую сцену, mode=reload — перечитать сцену с диска, mode=log — журнал редактора, mode=run — запустить проект из редактора, mode=stop — остановить, mode=edit_scene — применить операции к открытой в редакторе сцене, mode=screenshot — снимок окна редактора. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Several tools overlap: godot_scene (mode=tree/inspect) vs godot_runtime (mode=tree/inspect), godot_scene mode=backups vs the standalone godot_scene_backups, and godot_script symbols/references vs godot_lsp symbols/references. Descriptions clarify file-vs-live-game and editor-vs-analysis distinctions, but an agent could still misselect between them given the shared verbs and modes.
Every tool follows the strict pattern godot_ + snake_case noun (godot_project_info, godot_scene_edit, godot_script_check, godot_runtime). The prefix and casing are uniform throughout, making the surface highly predictable.
23 tools is on the heavy side but each targets a distinct Godot subsystem (project, files, assets, scenes, scripts, runtime, editor, LSP, export), so the breadth roughly justifies the count. It sits just above the ideal band but avoids redundancy bloat beyond the noted overlaps.
The surface covers the full Godot dev lifecycle: scaffolding, settings, assets/import, scene read/edit with backups, runtime control, input injection, screenshots, logs, class/API reference, script checks, LSP, and editor bridge. No obvious dead ends for the stated purpose.