Odoo Devkit

Servidor MCP eficiente en tokens para el desarrollo de Odoo 17/18/19. Proporciona a los asistentes de IA acceso estructurado a tu código base de Odoo para descubrimiento, búsqueda, análisis de modelos/vistas, verificaciones XML y parches de andamiaje.

Documentación

odoo-devkit

Servidor MCP eficiente en tokens para el desarrollo de Odoo 17/18/19.

odoo-devkit brinda a los asistentes de IA acceso estructurado a tu código de Odoo para descubrimiento, búsqueda, análisis de modelos/vistas, verificaciones XML y generación de parches.

Características destacadas

  • Descubrimiento rápido de módulos y código en las raíces de addons
  • Inspección de la superficie del modelo (campos, métodos, vistas, acciones, menús, seguridad)
  • Navegación por herencia de vistas (find_view_chain, vistas heredadas, uso de campos)
  • Generación de parches para tareas comunes de Odoo (modelos, vistas, acciones, menús, seguridad, asistentes, informes)
  • Validación XML para la estructura de vistas y referencias a campos
  • Panel web que se inicia con el servidor MCP (flujo estilo Serena)
  • Configuración en capas: global + anulación por proyecto

Requisitos

  • Python 3.10+
  • uv (recomendado)
  • ripgrep (rg) para búsqueda rápida

Ejemplos de instalación:

# Ubuntu/Debian
sudo apt install ripgrep

# macOS
brew install ripgrep

Instalación

git clone https://github.com/VatsalChauhan36/odoo-devkit.git
cd odoo-devkit
uv sync
uv run odoo-devkit --help

Configuración

Puedes configurar raíces y valores predeterminados mediante variables de entorno, configuración global y configuración de proyecto.

Archivos de configuración (estilo Serena)

  • Configuración global: ~/.odoo-devkit/config.json
  • Configuración de proyecto: <project-root>/.odoo-devkit/project.json

Resolución efectiva de configuración:

  1. Configuración global
  2. Anulación de proyecto (si se detecta la raíz del proyecto)

Orden de detección de la raíz del proyecto:

  1. ODOO_MCP_PROJECT_ROOT
  2. ancestro más cercano que contenga .odoo-devkit/project.json
  3. ancestro más cercano que contenga .git

Prioridad de rutas raíz

Las raíces de addons se resuelven con esta prioridad:

  1. ODOO_MCP_ROOTS
  2. configuración guardada (roots en la configuración global/de proyecto)

Orden típico de raíces:

  1. Addons personalizados
  2. Addons del servidor Odoo
  3. Addons base de Odoo

Ejemplo:

export ODOO_MCP_ROOTS="/path/to/custom-addons:/path/to/odoo/addons:/path/to/odoo/odoo/addons"

Windows PowerShell:

$env:ODOO_MCP_ROOTS = "C:\custom-addons;C:\odoo\addons;C:\odoo\odoo\addons"

Búsqueda opcional de documentación

Para habilitar search_odoo_docs, establece:

export ODOO_MCP_DOCS_PATH="/path/to/odoo/documentation"

Flujo del panel

El panel se inicia con el servidor MCP de forma predeterminada.

La configuración guardada incluye:

  • open_browser
  • enable_dashboard
  • dashboard_host

Anulaciones de CLI:

uv run odoo-devkit --no-dashboard
uv run odoo-devkit --dashboard-host 0.0.0.0
uv run odoo-devkit --no-open-browser
uv run odoo-devkit --project-root /path/to/project

Si se omite la apertura automática del navegador (por ejemplo, Linux sin interfaz gráfica), usa la herramienta MCP open_dashboard.

Capturas de pantalla

Entonces esta vista previa se renderizará automáticamente:

Dashboard screenshot

Banderas CLI obsoletas

Estas banderas se mantienen intencionalmente por compatibilidad con versiones anteriores y se ignoran:

  • --roots
  • --config

Emiten advertencias y no afectan el comportamiento en tiempo de ejecución.

Configuración del cliente MCP

Claude Code

{
  "mcpServers": {
    "odoo-devkit": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/odoo-devkit",
        "odoo-devkit",
        "--project-root", "/path/to/your/project"
      ]
    }
  }
}

Cursor

{
  "mcpServers": {
    "odoo-devkit": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/odoo-devkit",
        "odoo-devkit",
        "--project-root", "/path/to/your/project"
      ]
    }
  }
}

Resumen de herramientas

Descubrimiento y búsqueda

  • list_modules
  • list_custom_modules
  • get_module_manifest
  • get_module_structure
  • glob_odoo_files
  • read_file_lines
  • search_odoo_code
  • search_odoo_docs

Análisis de modelos y vistas

  • inspect_model_surface
  • find_model_definition
  • get_model_fields
  • find_method_definition
  • find_view_definition
  • find_inherited_views
  • find_view_by_model
  • find_view_chain
  • find_field_in_views
  • validate_view_xml

Acciones, menús y seguridad

  • find_action_by_model
  • find_menu_hierarchy
  • find_security_access_for_model

Generación de parches (scaffolding)

  • scaffold_model_patch
  • scaffold_inherit_model_patch
  • scaffold_view_inherit_patch
  • scaffold_views_patch
  • scaffold_action_patch
  • scaffold_menu_patch
  • scaffold_security_access_patch
  • scaffold_record_rule_patch
  • scaffold_wizard_patch
  • scaffold_report_patch
  • manifest_update_patch
  • init_update_patch

Utilidades de tiempo de ejecución

  • run_module_upgrade
  • execute_rpc
  • check_rpc_connection
  • open_dashboard

Patrón de uso recomendado

  1. Comienza con list_custom_modules y get_module_structure
  2. Acota con search_odoo_code (module_filter, glob)
  3. Usa inspect_model_surface para orientación a nivel de modelo
  4. Usa las herramientas de vistas para navegación XML consciente de herencia
  5. Usa las herramientas de scaffolding para generar parches seguros antes de aplicarlos

Solución de problemas

No valid roots found

Establece ODOO_MCP_ROOTS o guarda las raíces en la configuración del panel (global/proyecto).

rg: command not found

Instala ripgrep (paquete ripgrep).

El panel no se abrió

  • Verifica la configuración de open_browser
  • Usa --open-browser para forzar cuando sea compatible
  • En Linux sin interfaz gráfica, abre la URL manualmente o llama a open_dashboard

El cliente MCP no puede conectarse

  • Verifica la ruta en --directory
  • Vuelve a ejecutar uv sync
  • Ejecuta uv run odoo-devkit --help localmente

Licencia

MIT. Consulta LICENSE.