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
python33.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
.envde 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:
Requiere Node.js 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¶
Ejemplo:
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.