Saltar a contenido

CLI de respaldo

La CLI es un cliente XML-RPC ligero (solo Node.js, sin Python). Úsala cuando el servidor MCP no pueda correr en tu entorno, o para acceso por lotes desde scripts. El servidor MCP sigue siendo la superficie principal y más completa.

Cuándo usarla

  • No tienes python3 3.9+ disponible (en Claude Code con Docker, también puedes usar el servidor MCP en contenedor: ver Despliegue local).
  • Necesitas acceso scriptable/por lotes desde una terminal o pipeline.
  • Un entorno restringido donde solo hay Node.
  • Cowork, donde las herramientas del servidor MCP no cargan (ver Dónde funciona): la CLI puede funcionar cuando la sesión puede correr Node, alcanzar tu Odoo, y tú puedes editar el .env de la CLI. Usa una API key dedicada, de mínimo privilegio y de corta duración. No aplica a Claude chat, que no tiene un lugar seguro para capturar la key.

Instalación

Dentro de Claude Code:

/odoo-tools:odoo-setup-cli

Requiere Node.js 18+:

node --version   # 18+

Si falta: nodejs.org (LTS), brew install node o apt install nodejs npm. El comando instala la CLI en ~/.claude/tools/odoo-cli y crea ahí un .env local, legible solo por tu usuario, con marcadores de posición.

Este .env guarda tus credenciales en disco

A diferencia del servidor MCP (que no persiste secretos), la CLI sí deja tus credenciales en ~/.claude/tools/odoo-cli/.env. La configuración llena contigo la URL, la base de datos y el login, y deja un marcador de posición para la API key (o la contraseña): abre el archivo en tu propio editor y pega ahí el secreto tú mismo. Claude nunca te lo pide en el chat. Conserva los permisos con los que se crea (solo tu usuario, chmod 600), no lo subas a control de versiones y elimínalo cuando dejes de usar la CLI. Ver Seguridad.

Uso

node ~/.claude/tools/odoo-cli/dist/cli.js <comando> '<json-de-entrada>'

Ejemplo:

node ~/.claude/tools/odoo-cli/dist/cli.js contacts '{"limit": 1}'

Comandos disponibles

La CLI incluye 13 comandos orientados a los flujos más comunes de Odoo:

Comando Qué hace
contacts Consulta contactos (res.partner)
invoices Consulta facturas
products Consulta productos
stock Consulta inventario
subscriptions Consulta suscripciones
payments Consulta pagos
account-lines Líneas contables
bank-journals Diarios bancarios
bank-statements Extractos bancarios
chart-of-accounts Plan de cuentas
search Búsqueda genérica por modelo/dominio
fields Introspección de campos de un modelo
write Escritura genérica (crear/actualizar)

Escritura

El comando write modifica datos. Igual que en el servidor MCP, usa un usuario de Odoo de mínimo privilegio y revisa la operación. La CLI no tiene un equivalente de Read-only mode ni la política de permisos del servidor MCP (v1.5.0): write siempre intenta la llamada, y solo la acotan los derechos del usuario de Odoo.

Paridad con el servidor MCP

La CLI cubre los flujos frecuentes vía XML-RPC, pero no incluye la capa de compatibilidad completa entre versiones ni la resolución automática de modelos/campos del servidor MCP. Para trabajo entre versiones o instancias Enterprise, prefiere el servidor MCP.

XML-RPC en Odoo 19 y posteriores

La CLI habla XML-RPC. Odoo 19 marca /xmlrpc como obsoleto, y Odoo 22 y Odoo Online saas~21.1 lo retiran. En esas versiones usa el servidor MCP, que pasa a JSON-2 con una API key (ver Compatibilidad).

Referencia de skill: /odoo-tools:odoo-setup-cli.