Odoo XML-RPC MCP Server

Interaja com instâncias do Odoo usando a API XML-RPC. Requer configuração via variáveis de ambiente ou arquivos de configuração.

Documentação

Odoo XML-RPC MCP Server

Um servidor Model Context Protocol (MCP) que fornece ferramentas para interagir com o Odoo via XML-RPC.

Recursos

  • Conecte-se a qualquer instância do Odoo via XML-RPC
  • Parâmetros de projeto e ambiente configuráveis
  • Suporte a variáveis de ambiente com prioridade sobre arquivos de configuração
  • Conjunto completo de operações do Odoo: pesquisar, ler, criar, escrever, excluir
  • Integração com Claude Desktop e Claude Code

Instalação

Instalação Global (Desktop MCP Server)

  1. Instale globalmente usando npm:
npm install -g .
  1. Adicione à sua configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
  "mcpServers": {
    "odoo-xmlrpc": {
      "command": "odoo-xmlrpc-mcp-server",
      "args": ["--project", "your_project", "--environment", "your_env"],
      "env": {
        "ODOO_URL": "https://your-odoo.domain.com",
        "ODOO_DATABASE": "your_database",
        "ODOO_USERNAME": "your_username", 
        "ODOO_PASSWORD": "your_password"
      }
    }
  }
}

Instalação Local (Claude Code)

  1. Clone ou copie este repositório para o diretório do seu projeto

  2. Instale as dependências:

npm install
  1. Compile o projeto:
npm run build
  1. Crie .claude.json na raiz do seu projeto:
{
  "mcp": {
    "servers": {
      "odoo-xmlrpc": {
        "command": "node",
        "args": ["./dist/index.js", "--project", "your_project", "--environment", "your_env"],
        "env": {
          "ODOO_URL": "https://your-odoo.domain.com",
          "ODOO_DATABASE": "your_database", 
          "ODOO_USERNAME": "your_username",
          "ODOO_PASSWORD": "your_password"
        }
      }
    }
  }
}

Desenvolvimento

Para desenvolvimento, você pode executar diretamente com tsx:

npm run dev -- --project your_project --environment your_env

Configuração

Método de Arquivo de Configuração

Crie um arquivo de configuração em ~/.odoo_config/<project>_<environment>.conf:

[odoo]
url = https://your-odoo.domain.com
database = your_database
username = your_username
password = your_password

Variáveis de Ambiente (Prioridade)

Defina estas variáveis de ambiente (elas têm prioridade sobre arquivos de configuração):

  • ODOO_URL
  • ODOO_DATABASE
  • ODOO_USERNAME
  • ODOO_PASSWORD

Uso

Ferramentas Disponíveis

odoo_search

Pesquise registros em um modelo do Odoo.

{
  "model": "res.partner",
  "domain": [["is_company", "=", true]],
  "limit": 10
}

odoo_read

Leia registros específicos por ID.

{
  "model": "res.partner", 
  "ids": [1, 2, 3],
  "fields": ["name", "email", "phone"]
}

odoo_create

Crie um novo registro.

{
  "model": "res.partner",
  "values": {
    "name": "New Company",
    "is_company": true,
    "email": "info@newcompany.com"
  }
}

odoo_write

Atualize registros existentes.

{
  "model": "res.partner",
  "ids": [123], 
  "values": {
    "phone": "+1-555-0123"
  }
}

odoo_unlink

Exclua registros.

{
  "model": "res.partner",
  "ids": [456]
}

odoo_search_count

Conte registros que correspondem a um domínio.

{
  "model": "res.partner",
  "domain": [["is_company", "=", true]]
}

odoo_fields_get

Obtenha definições de campos para um modelo.

{
  "model": "res.partner",
  "fields": ["name", "email"]
}

odoo_search_read

Pesquise e leia em uma única operação.

{
  "model": "res.partner",
  "domain": [["is_company", "=", true]],
  "fields": ["name", "email"],
  "limit": 5
}

Desenvolvimento

Requisitos

  • Node.js 18+
  • npm ou yarn

Executando Localmente

npm run dev -- --project myproject --environment staging

Compilação

npm run build

Testando a Conexão

npm run dev -- --project idp --environment staging

Licença

Licença MIT