Odoo Devkit

Servidor MCP eficiente em tokens para desenvolvimento Odoo 17/18/19. Ele fornece aos assistentes de IA acesso estruturado ao seu código Odoo para descoberta, pesquisa, análise de modelos/visualizações, verificações XML e patches de scaffolding.

Documentação

odoo-devkit

Servidor MCP eficiente em tokens para desenvolvimento Odoo 17/18/19.

odoo-devkit dá aos assistentes de IA acesso estruturado à sua base de código Odoo para descoberta, busca, análise de modelos/views, verificações XML e geração de patches.

Destaques

  • Descoberta rápida de módulos e código nas raízes de addons
  • Inspeção da superfície de modelos (campos, métodos, views, ações, menus, segurança)
  • Navegação por herança de views (find_view_chain, views herdadas, uso de campos)
  • Geração de patches para tarefas comuns do Odoo (modelos, views, ações, menus, segurança, wizards, relatórios)
  • Validação XML para estrutura de views e referências de campos
  • Dashboard web que inicia com o servidor MCP (fluxo estilo Serena)
  • Configuração em camadas: global + override de projeto

Requisitos

  • Python 3.10+
  • uv (recomendado)
  • ripgrep (rg) para busca rápida

Exemplos de instalação:

# Ubuntu/Debian
sudo apt install ripgrep

# macOS
brew install ripgrep

Instalação

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

Configuração

Você pode configurar raízes e padrões via variáveis de ambiente, configuração global e configuração de projeto.

Arquivos de configuração (estilo Serena)

  • Configuração global: ~/.odoo-devkit/config.json
  • Configuração de projeto: <project-root>/.odoo-devkit/project.json

Resolução efetiva de configuração:

  1. Configuração global
  2. Override de projeto (se a raiz do projeto for detectada)

Ordem de detecção da raiz do projeto:

  1. ODOO_MCP_PROJECT_ROOT
  2. ancestral mais próximo contendo .odoo-devkit/project.json
  3. ancestral mais próximo contendo .git

Prioridade dos caminhos de raiz

As raízes de addons são resolvidas com esta prioridade:

  1. ODOO_MCP_ROOTS
  2. configuração salva (roots na configuração global/de projeto)

Ordem típica das raízes:

  1. Addons personalizados
  2. Addons do servidor Odoo
  3. Addons base do Odoo

Exemplo:

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"

Busca opcional de documentação

Para habilitar search_odoo_docs, defina:

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

Fluxo do dashboard

O dashboard inicia com o servidor MCP por padrão.

As configurações salvas incluem:

  • open_browser
  • enable_dashboard
  • dashboard_host

Overrides 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

Se a abertura automática do navegador for ignorada (por exemplo, Linux headless), use a ferramenta MCP open_dashboard.

Capturas de tela

Então esta prévia será renderizada automaticamente:

Dashboard screenshot

Flags de CLI obsoletas

Estas flags são mantidas intencionalmente para compatibilidade retroativa e são ignoradas:

  • --roots
  • --config

Elas emitem avisos e não afetam o comportamento em tempo de execução.

Configuração do 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"
      ]
    }
  }
}

Visão geral das ferramentas

Descoberta e busca

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

Análise de modelos e views

  • 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

Ações, menus e segurança

  • find_action_by_model
  • find_menu_hierarchy
  • find_security_access_for_model

Geração de patches (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

Auxiliares de tempo de execução

  • run_module_upgrade
  • execute_rpc
  • check_rpc_connection
  • open_dashboard

Padrão de uso recomendado

  1. Comece com list_custom_modules e get_module_structure
  2. Refine com search_odoo_code (module_filter, glob)
  3. Use inspect_model_surface para orientação no nível de modelo
  4. Use as ferramentas de view para navegação XML ciente de herança
  5. Use as ferramentas de scaffolding para gerar patches seguros antes de aplicar

Solução de problemas

No valid roots found

Defina ODOO_MCP_ROOTS ou salve as raízes na configuração do dashboard (global/projeto).

rg: command not found

Instale o ripgrep (pacote ripgrep).

O dashboard não abriu

  • Verifique a configuração open_browser
  • Use --open-browser para forçar quando suportado
  • Em Linux headless, abra a URL manualmente ou chame open_dashboard

O cliente MCP não consegue conectar

  • Verifique o caminho em --directory
  • Execute novamente uv sync
  • Execute uv run odoo-devkit --help localmente

Licença

MIT. Veja LICENSE.