godotlens-mcp
GodotLens: Análisis de código centrado en IA para GDScript
Un servidor MCP que proporciona 15 herramientas de análisis semántico para GDScript, impulsado por el servidor de lenguaje integrado de Godot.
Creado para agentes de IA
Los agentes de codificación de IA trabajan con archivos de texto pero carecen de comprensión semántica de GDScript. Cuando un agente utiliza grep para encontrar usos de una función, no puede distinguir una llamada a función de un comentario que contenga el mismo nombre, una declaración de señal de una emisión de señal, o un método sobrescrito de una función no relacionada.
GodotLens cierra esta brecha exponiendo el servidor de lenguaje integrado de Godot a través del Protocolo de Contexto de Modelo (MCP), brindando a los agentes de IA inteligencia de código con precisión de compilador para GDScript: ir a la definición, encontrar referencias, diagnósticos, renombrar y más.
Ejemplo: Encontrar todos los usos de _on_player_hit:
Enfoque | Resultado |
| 12 coincidencias incluyendo comentarios, cadenas y funciones con nombres similares |
| Exactamente 4 sitios de llamada donde se invoca |
Requisitos previos
El editor de Godot 4.x debe estar ejecutándose con su proyecto abierto: el servidor LSP de Godot se inicia automáticamente cuando el editor abre un proyecto.
Python 3.10+ (para la instalación mediante pip) o Node.js 16+ (para npx).
Inicio rápido
Opción A: npx (recomendado para clientes MCP)
Añadir a su configuración de MCP (por ejemplo, .mcp.json para Claude Code):
{
"mcpServers": {
"godotlens": {
"command": "npx",
"args": ["-y", "godotlens-mcp"]
}
}
}El paquete npm incluye el servidor completo (~20 KB de Python). Cero dependencias externas de Python.
Opción B: pip
pip install godotlens-mcp{
"mcpServers": {
"godotlens": {
"command": "godotlens-mcp"
}
}
}Configuración
Variable de entorno | Predeterminado | Descripción |
|
| Host del servidor LSP de Godot |
|
| Puerto del servidor LSP de Godot |
Herramientas
Salud
Herramienta | Descripción |
| Comprobar la conexión con el LSP de Godot. Úselo para verificar que el editor esté ejecutándose antes de usar otras herramientas. |
Navegación (6 herramientas)
Herramienta | Descripción |
| Navegar a donde se define un símbolo. Devuelve la ruta del archivo y el número de línea. |
| Navegar al sitio de declaración de un símbolo. |
| Encontrar todas las referencias a un símbolo en todo el proyecto. Esencial para el análisis de impacto antes de refactorizar. |
| Obtener información de tipo y documentación para un símbolo. Úselo para entender tipos y valores de retorno. |
| Listar todos los símbolos (clases, funciones, variables, señales) en un archivo. Úselo para explorar la estructura del archivo. |
| Obtener la firma de la función y la información de los parámetros en un sitio de llamada. |
Refactorización
Herramienta | Descripción |
| Renombrar un símbolo en todos los archivos. Flujo de trabajo: referencias para previsualizar el impacto, renombrar y luego sincronizar. |
Sincronización (3 herramientas)
Herramienta | Descripción |
| Sincronizar un archivo modificado con el LSP y obtener diagnósticos actualizados. Llamar después de editar archivos .gd. |
| Sincronizar por lotes varios archivos modificados. Más eficiente que sincronizar individualmente. |
| Notificar al LSP que un archivo fue eliminado. Borra diagnósticos obsoletos. |
Operaciones por lotes (3 herramientas)
Herramienta | Descripción |
| Obtener símbolos de varios archivos en una sola llamada. |
| Obtener definiciones para varias posiciones en una sola llamada. |
| Encontrar referencias para varios símbolos en una sola llamada. Úselo para análisis de impacto masivo. |
Diagnósticos
Herramienta | Descripción |
| Obtener errores y advertencias del compilador. Flujo de trabajo: editar, sincronizar y luego diagnósticos para verificar. |
Arquitectura
┌──────────────┐ ┌────────────────────┐ ┌───────────────────┐
│ AI Agent │ stdio │ GodotLens (MCP) │ TCP │ Godot Editor │
│ (Claude, etc)├────────►│ JSON-RPC 2.0 ├────────►│ Built-in LSP │
│ │◄────────┤ Python 3.10+ │◄────────┤ Port 6005 │
└──────────────┘ └────────────────────┘ └───────────────────┘GodotLens actúa como un puente entre el agente de IA y el servidor de lenguaje integrado de Godot. El agente de IA se comunica con GodotLens a través de MCP (JSON-RPC sobre stdio). GodotLens traduce las llamadas a herramientas de MCP en solicitudes LSP y las envía al editor de Godot a través de TCP. Las respuestas se compactan para un consumo eficiente por parte de la IA.
Cero dependencias: el servidor utiliza solo la biblioteca estándar de Python. Los protocolos MCP y LSP se implementan directamente, manteniendo el servidor ligero y autónomo.
Importante: Sincronización de archivos
El LSP de Godot no detecta automáticamente los cambios de archivo realizados fuera del editor. Cuando el agente de IA modifica un archivo .gd, debe llamar a gdscript_sync_file o gdscript_sync_files para que el LSP vuelva a analizar el código cambiado. Sin esto, los diagnósticos y los resultados de navegación pueden estar obsoletos.
Flujo de trabajo recomendado:
Usar las herramientas de GodotLens para analizar el código
Escribir cambios en los archivos
Llamar a
gdscript_sync_filepara actualizar el estado del LSPUsar las herramientas de GodotLens para verificar los cambios
Sistema de coordenadas
Todos los parámetros de línea y carácter están indexados en 0, coincidiendo con la especificación LSP:
Línea 0, Carácter 0 = primer carácter del archivo
Licencia
Licencia MIT: consulte LICENSE para obtener más detalles.
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