local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports analysis of Boost framework code as a custom C++ codebase option
Allows analysis of any C++ project with features for class analysis, code search, and reference finding across custom C++ codebases
Supports analysis of OpenGL libraries as a custom C++ codebase for analyzing graphics-related code
Servidor MCP del analizador de código de Unreal Engine
Un servidor de Protocolo de Contexto de Modelo (MCP) que ofrece potentes funciones de análisis de código fuente para bases de código de Unreal Engine. Esta herramienta permite a asistentes de IA como Claude y Cline comprender y analizar en profundidad el código fuente de Unreal Engine.
Características
- Análisis de clases : obtenga información detallada sobre las clases de C++, incluidos métodos, propiedades y herencia
- Mapeo de jerarquías : visualice y comprenda las jerarquías de herencia de clases
- Búsqueda de código : busque en el código con resultados contextuales
- Búsqueda de referencias : localiza todas las referencias a clases, funciones o variables
- Análisis de subsistemas : analice los principales subsistemas de Unreal Engine, como renderizado, física, etc.
- Conocimiento del género de juegos : base de conocimiento integrada de géneros de juegos, características y patrones de implementación
- Detección y aprendizaje de patrones : identifica patrones comunes de Unreal Engine y proporciona recursos de aprendizaje.
- Soporte de base de código personalizada : Analice la base de código de su propio proyecto de Unreal Engine
Inicio rápido
Instalación
- Clonar este repositorio:
- Instalar dependencias:
- Construir el proyecto:
Configuración
Para la aplicación de escritorio de Claude
Agregue lo siguiente a su archivo de configuración de escritorio de Claude ( %APPDATA%\Claude\claude_desktop_config.json
en Windows):
Para Cline
Agregue lo siguiente a su archivo de configuración de Cline MCP ( %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
en Windows):
Detalles técnicos
El analizador se construye utilizando:
- TypeScript para código con seguridad de tipos
- Tree-sitter para un análisis robusto de C++
- SDK de protocolo de contexto de modelo para la integración de asistentes de IA
- Glob para coincidencia de patrones de archivos
Dependencias clave:
- @modelcontextprotocol/create-server: ^0.1.0
- cuidador de árboles: ^0.20.1
- cuidador de árboles-cpp: ^0.20.0
- globo: ^8.1.0
Uso
Antes de utilizar cualquier herramienta de análisis, primero debes configurar la ruta de origen de Unreal Engine o una ruta de base de código personalizada:
Configuración del análisis
Para el código fuente de Unreal Engine
Para bases de código C++ personalizadas
La función de base de código personalizada permite analizar cualquier proyecto de C++. Por ejemplo:
- Motores de juego (Unity, Godot, motores personalizados)
- Bibliotecas gráficas (OpenGL, Vulkan, DirectX)
- Marcos (Qt, Boost, SFML)
- Cualquier aplicación o biblioteca de C++
Ejemplo de análisis de un motor de juego personalizado:
Ejemplo de análisis de una aplicación Qt:
Herramientas disponibles
1. Análisis de clases
Ejemplo de salida:
2. Análisis de la jerarquía de clases
Ejemplo de salida:
3. Búsqueda de referencias
Ejemplo de salida:
4. Búsqueda de código
Ejemplo de salida:
5. Detección de patrones y mejores prácticas
El analizador proporciona dos herramientas potentes para comprender y seguir las mejores prácticas de Unreal Engine:
Detección de patrones
Ejemplo de salida:
Guía de mejores prácticas
Ejemplo de salida:
La guía de mejores prácticas cubre conceptos clave de Unreal Engine:
- UPROPERTY: Reflexión y exposición de la propiedad
- UFUNCTION: Reflexión de funciones e integración de Blueprint
- Componentes: Creación y gestión de componentes
- Eventos: Gestión y delegación de eventos
- Replicación: configuración de replicación de red
- Planos: patrones de interacción entre planos y C++
6. Consulta de documentación de API
Ejemplo de salida:
La herramienta de consulta de documentación API proporciona:
- Búsqueda de texto completo en la documentación de la clase
- Filtrado por categoría y módulo
- Ejemplos de código y patrones de uso
- Ordenación de resultados basada en la relevancia
- Enlaces a la documentación oficial
7. Análisis de subsistemas
Ejemplo de salida:
Documentación de la API
El analizador ahora incluye capacidades integrales de documentación de API:
- Generación automática de documentación
- Extrae documentación de los comentarios del código fuente.
- Analiza la estructura y las relaciones de clases.
- Categoriza las clases por tipo y módulo
- Genera ejemplos de sintaxis y patrones de uso.
- Búsqueda inteligente
- Búsqueda de texto completo en toda la documentación
- Clasificación de resultados basada en la relevancia
- Filtrado de categorías y módulos
- Ejemplo de código de inclusión
- Categorías de documentación
- Objeto: Clases de objetos base (derivados de UObject)
- Actor: Clases de actor (derivadas de AActor)
- Estructura: Estructuras y tipos de datos
- Componente: Clases de componentes
- Varios: Otras clases y utilidades
- Organización del módulo
- Núcleo: funcionalidad del motor principal
- RenderCore: Sistema de renderizado
- PhysicsCore: motor de física
- Y otros módulos del motor
- Integración con herramientas existentes
- Enlaces con análisis de clases para obtener información detallada
- Se conecta a la detección de patrones para obtener mejores prácticas
- Referencias a la documentación oficial de Unreal Engine
- Proporciona recursos de aprendizaje y ejemplos.
Mejores prácticas
- Configure siempre la ruta de Unreal Engine o la ruta de la base de código personalizada antes de usar las herramientas de análisis
- Utilice nombres de clase específicos al analizar (por ejemplo, "MiClase" en lugar de solo "Clase")
- Aproveche el parámetro de patrón de archivo en
search_code
para limitar los resultados - Incluya interfaces implementadas al analizar jerarquías de clases para una comprensión completa
- Utilice la herramienta de análisis de subsistemas para obtener una descripción general de alto nivel antes de profundizar en clases específicas (solo Unreal Engine)
Manejo de errores
El analizador arrojará mensajes de error claros cuando:
- No se ha establecido ninguna ruta de base de código (Unreal Engine o personalizada)
- La ruta proporcionada no existe o es inaccesible
- No se puede encontrar la clase o el símbolo en el código base
- Se proporcionan patrones de archivos no válidos
- Errores de sintaxis en consultas de búsqueda o código C++
- El acceso a los archivos fuente está restringido
- El análisis de Tree-sitter falla en los archivos C++
Consideraciones de rendimiento
- Las bases de código grandes pueden tardar más en analizarse
- Las jerarquías de clases complejas pueden requerir más tiempo de procesamiento
- Los patrones de búsqueda amplios podrían dar como resultado muchas coincidencias
- Considere utilizar consultas más específicas para obtener resultados más rápidos
Pruebas
El proyecto incluye una cobertura de pruebas integral para todos los componentes principales:
Cobertura de la prueba
- Pruebas del analizador : pruebas de funcionalidad principal para la clase UnrealCodeAnalyzer
- Inicialización y validación de ruta
- Análisis y análisis de clases
- Hallazgo de referencia
- Búsqueda de código
- Análisis de subsistemas
- Gestión de caché
- Pruebas de géneros de juegos : validación de la base de conocimientos de géneros de juegos
- Verificación de la estructura de datos
- Validación de características específicas del género
- Convenciones de nomenclatura de componentes
- Comprobaciones de integridad de datos
- Pruebas del servidor MCP : Pruebas de la implementación del servidor MCP
- Inicialización del servidor
- Registro y manejo de herramientas
- Validación de solicitud/respuesta
- Manejo de errores
- Pruebas de funcionalidad específicas de la herramienta
Ejecución de pruebas
Ejecutar todas las pruebas:
Ejecutar pruebas en modo de observación (útil durante el desarrollo):
Pruebas de escritura
Al contribuir con nuevas funciones, asegúrese de lo siguiente:
- Toda nueva funcionalidad tiene una cobertura de prueba correspondiente
- Las pruebas se organizan en el directorio
src/__tests__
- Simular dependencias externas apropiadamente
- Siga los patrones de prueba existentes para mantener la coherencia
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar solicitudes de incorporación de cambios con mejoras a:
- Capacidades de análisis de código fuente
- Nuevas funciones de análisis
- Optimizaciones de rendimiento
- Mejoras en la documentación
- Cobertura de pruebas
Antes de enviar una solicitud de relaciones públicas:
- Asegúrese de que todas las pruebas pasen (
npm test
) - Agregar pruebas para nuevas funcionalidades
- Actualice la documentación según sea necesario
This server cannot be installed
Proporciona un análisis profundo del código fuente para las bases de código de Unreal Engine, lo que permite a los asistentes de IA comprender las estructuras de clases de C++, buscar código y analizar subsistemas.