godotlens-mcp
GodotLens: AI-ориентированный анализ кода для GDScript
MCP-сервер, предоставляющий 15 инструментов семантического анализа для GDScript, работающий на базе встроенного сервера языка Godot.
Создано для AI-агентов
AI-агенты для написания кода работают с текстовыми файлами, но им не хватает семантического понимания GDScript. Когда агент использует grep для поиска использования функции, он не может отличить вызов функции от комментария, содержащего то же имя, объявление сигнала от его вызова или переопределенный метод от несвязанной функции.
GodotLens устраняет этот разрыв, предоставляя доступ к встроенному серверу языка Godot через протокол Model Context Protocol (MCP), обеспечивая AI-агентам точную, на уровне компилятора, интеллектуальную работу с кодом GDScript — переход к определению, поиск ссылок, диагностика, переименование и многое другое.
Пример: Поиск всех мест использования _on_player_hit:
Подход | Результат |
| 12 совпадений, включая комментарии, строки и функции с похожими именами |
| Ровно 4 места вызова, где используется |
Предварительные требования
Редактор Godot 4.x должен быть запущен с открытым проектом — LSP-сервер Godot запускается автоматически при открытии проекта в редакторе.
Python 3.10+ (для установки через pip) или Node.js 16+ (для npx).
Быстрый старт
Вариант А: npx (рекомендуется для MCP-клиентов)
Добавьте в свою конфигурацию MCP (например, .mcp.json для Claude Code):
{
"mcpServers": {
"godotlens": {
"command": "npx",
"args": ["-y", "godotlens-mcp"]
}
}
}Пакет npm включает в себя полный сервер (~20 КБ Python). Никаких внешних зависимостей Python.
Вариант Б: pip
pip install godotlens-mcp{
"mcpServers": {
"godotlens": {
"command": "godotlens-mcp"
}
}
}Конфигурация
Переменная окружения | По умолчанию | Описание |
|
| Хост LSP-сервера Godot |
|
| Порт LSP-сервера Godot |
Инструменты
Состояние (Health)
Инструмент | Описание |
| Проверка соединения с LSP Godot. Используйте для проверки того, что редактор запущен, перед использованием других инструментов. |
Навигация (6 инструментов)
Инструмент | Описание |
| Переход к месту определения символа. Возвращает путь к файлу и номер строки. |
| Переход к месту объявления символа. |
| Поиск всех ссылок на символ в проекте. Важно для анализа влияния перед рефакторингом. |
| Получение информации о типе и документации для символа. Используйте для понимания типов и возвращаемых значений. |
| Список всех символов (классов, функций, переменных, сигналов) в файле. Используйте для изучения структуры файла. |
| Получение сигнатуры функции и информации о параметрах в месте вызова. |
Рефакторинг
Инструмент | Описание |
| Переименование символа во всех файлах. Рабочий процесс: ссылки для предварительного просмотра влияния, переименование, затем синхронизация. |
Синхронизация (3 инструмента)
Инструмент | Описание |
| Синхронизация измененного файла с LSP и получение обновленной диагностики. Вызывайте после редактирования файлов .gd. |
| Пакетная синхронизация нескольких измененных файлов. Эффективнее, чем синхронизация по отдельности. |
| Уведомление LSP об удалении файла. Очищает устаревшую диагностику. |
Пакетные операции (3 инструмента)
Инструмент | Описание |
| Получение символов из нескольких файлов за один вызов. |
| Получение определений для нескольких позиций за один вызов. |
| Поиск ссылок для нескольких символов за один вызов. Используйте для массового анализа влияния. |
Диагностика
Инструмент | Описание |
| Получение ошибок и предупреждений компилятора. Рабочий процесс: редактирование, синхронизация, затем диагностика для проверки. |
Архитектура
┌──────────────┐ ┌────────────────────┐ ┌───────────────────┐
│ AI Agent │ stdio │ GodotLens (MCP) │ TCP │ Godot Editor │
│ (Claude, etc)├────────►│ JSON-RPC 2.0 ├────────►│ Built-in LSP │
│ │◄────────┤ Python 3.10+ │◄────────┤ Port 6005 │
└──────────────┘ └────────────────────┘ └───────────────────┘GodotLens выступает в качестве моста между AI-агентом и встроенным сервером языка Godot. AI-агент взаимодействует с GodotLens через MCP (JSON-RPC поверх stdio). GodotLens преобразует вызовы инструментов MCP в запросы LSP и отправляет их в редактор Godot по TCP. Ответы сжимаются для эффективного использования AI.
Нулевые зависимости — сервер использует только стандартную библиотеку Python. Протоколы MCP и LSP реализованы напрямую, что делает сервер легким и автономным.
Важно: Синхронизация файлов
LSP Godot не обнаруживает автоматически изменения файлов, сделанные вне редактора. Когда AI-агент изменяет файл .gd, он должен вызвать gdscript_sync_file или gdscript_sync_files, чтобы LSP повторно проанализировал измененный код. Без этого результаты диагностики и навигации могут быть устаревшими.
Рекомендуемый рабочий процесс:
Используйте инструменты GodotLens для анализа кода.
Запишите изменения в файлы.
Вызовите
gdscript_sync_fileдля обновления состояния LSP.Используйте инструменты GodotLens для проверки изменений.
Система координат
Все параметры строк и символов индексируются с 0, в соответствии со спецификацией LSP:
Строка 0, Символ 0 = первый символ файла
Лицензия
Лицензия MIT — подробности см. в LICENSE.
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/pzalutski-pixel/godotlens-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server