TrueNAS Middleware MCP Server
Accede a documentación optimizada del repositorio de middleware de TrueNAS para comprender su base de código y APIs.
Documentación
Servidor MCP de Middleware de TrueNAS
Este servidor MCP (Protocolo de Contexto de Modelo) proporciona recursos de documentación optimizados del repositorio de middleware de TrueNAS a Code Claude, ayudándole a comprender la estructura del código y las APIs sin sobrecargar el contexto.
Inicio Rápido
- Para la Integración con Code Claude: Ver INTEGRATION_GUIDE.md
- Para el Uso en Code Claude: Ver QUICK_REFERENCE.md
- Para Añadir Documentación: Ver DOCUMENTATION_GUIDE.md
- Para la Plantilla de Documentación de Plugins: Ver PLUGIN_DOCUMENTATION_TEMPLATE.md
- Para los Planes de Desarrollo: Ver ACTION_PLAN.md
Características
- Descubre y procesa automáticamente todos los archivos CLAUDE.md en el repositorio de middleware
- Organiza la documentación en categorías lógicas (Visión General, Plugins, API, Pruebas, Subsistemas)
- Proporciona recursos concisos y enfocados para evitar la sobrecarga de contexto
- Implementa resumen inteligente de contenido
Opciones de Configuración
Opción 1: Python Nativo (Recomendado)
- Crea y activa el entorno virtual:
python3.11 -m venv venv_tn_mcp
source venv_tn_mcp/bin/activate # On Windows: venv_tn_mcp\Scripts\activate
- Instala las dependencias:
pip install -r requirements.txt
- Ejecuta el servidor:
./run_server.sh # Or: python truenas_mcp_server.py
Opción 2: Contenedor Docker
- Construye la imagen de Docker:
docker-compose build
- Ejecuta el servidor:
docker-compose run --rm truenas-mcp
Recursos Disponibles
El servidor proporciona los siguientes tipos de recursos:
Recursos de Visión General
truenas://overview- Arquitectura de middleware de alto niveltruenas://development/guidelines- Mejores prácticas de desarrollo
Recursos de Plugins
truenas://plugins/service-types- Guía de clases base de serviciostruenas://plugins/patterns- Patrones comunes de pluginstruenas://plugins/categories- Lista de plugins categorizadatruenas://plugins/{plugin_name}- Documentación específica de plugins
Recursos de API
truenas://api/versioning- Guía de versionado de APItruenas://api/models- Patrones de modelos Pydantic
Recursos de Pruebas
truenas://testing/overview- Guía de pruebastruenas://testing/patterns- Patrones comunes de pruebas
Recursos de Subsistemas
truenas://subsystems/{name}- Documentación para subsistemas específicos
Integración con Code Claude
Ver INTEGRATION_GUIDE.md para instrucciones detalladas de configuración.
Configuración Rápida (añadir a claude_desktop_config.json):
{
"mcpServers": {
"truenas-docs": {
"command": "/path/to/venv_tn_mcp/bin/python",
"args": ["/path/to/tn_mcp/truenas_mcp_server.py"]
}
}
}
Cómo Funciona
- El servidor escanea el repositorio de middleware en busca de todos los archivos CLAUDE.md
- Cada archivo se procesa y categoriza según su ubicación
- El contenido se resume inteligentemente para reducir el tamaño del contexto
- Los recursos se exponen a través del protocolo MCP para que Code Claude los consulte
Estrategia de Optimización
Para evitar la sobrecarga de contexto, el servidor:
- Extrae secciones clave de la documentación
- Limita los ejemplos de código a los esenciales
- Se centra en las firmas de API y patrones en lugar de implementaciones completas
- Agrupa información relacionada en recursos lógicos
Ejecución de Pruebas
Las pruebas se ejecutan usando Docker para garantizar un entorno consistente.
Ejecutar Todas las Pruebas
docker-compose run --rm truenas-mcp-test
Ejecutar un Archivo de Prueba Específico
docker-compose run --rm truenas-mcp-test pytest tests/test_truenas_mcp_tools_server.py -v
Ejecutar con Cobertura
docker-compose run --rm truenas-mcp-test pytest --cov=. --cov-report=html
Ejecución de Pruebas de Middleware
El servidor incluye una herramienta para ejecutar pruebas de middleware de TrueNAS. Usa el script run_middleware_tests.sh:
# Run all middleware tests
./run_middleware_tests.sh
# Run a specific test file
./run_middleware_tests.sh . test_construct_schema.py
# Clean up test container
./run_middleware_tests.sh /path/to/middleware --cleanup