Odoo Tools: Introducción¶
MCP-Odoo-Tools es un plugin de Claude Code que unifica el acceso a Odoo en una sola instalación: un servidor MCP (superficie principal) y una CLI de respaldo. Funciona con Odoo Community, Enterprise y online (SaaS), desde la versión 10 hasta la 19, gracias a una capa de compatibilidad que resuelve automáticamente los nombres de modelos y campos que cambian entre versiones. Sus skills y comandos también cargan en Cowork y en Claude chat, pero las herramientas de Odoo solo corren en Claude Code (ver Dónde funciona).
Online/SaaS: se requiere plan con API externa
El acceso RPC externo solo está disponible en suscripciones de Odoo Online
con API habilitada (planes Custom). En planes sin API externa la conexión
falla aunque las credenciales sean correctas: verifica con odoo_version y
consulta Solución de problemas si ves errores de
conexión. En Odoo Online la única credencial que funciona es una API key.
Empieza aquí
Instala el plugin y ejecuta /odoo-tools:odoo-setup-mcp: la ruta guiada
de configuración, entrenamiento, uso y despliegue. ¿Sin un Odoo para
practicar? /odoo-tools:deploy-local levanta un
sandbox local.
Novedades en v1.6.0: una sola copia, la correcta, y cada comando en su lugar
- Comandos de instalación por superficie:
/plugin installdentro de Claude Code, oclaude plugin install ... --scope useren una terminal. Instala una sola copia. Ver Instalación. odoo_versionnombra la copia que responde (bloqueplugin), y la ruta guiada y/odoo-tools:odoo-doctorencuentran una segunda copia o una anterior a la 1.5.0 y se detienen ahí. Ver Dos copias de odoo-tools.- Windows sin
python3:claude mcp listreporta el servidor comoFailed to connectconConnection closed, y nada menciona a Python. La solución está en Solución de problemas. - El estado
not_startedde la app:/odoo-tools:odoo-doctory la ruta guiada reconocen el estadonot_startedcon el motivouser_config_unsupportedcomo el caso de Cowork y Claude chat: no es un error, y ninguna actualización lo cambia. Te llevan a una sesión local de la pestaña Code o a Claude Code; Claude Code no necesita permisos de administrador. Ver Solución de problemas. - El sandbox local trae una API key para el plugin en Odoo 14.0 a 19.0. Ver Despliegue local.
- Siguen siendo 28 herramientas. En Odoo 10 a 12, la política rechaza también las claves de un objeto pasado por posición que no son campos del modelo ni claves de contexto permitidas, así que cambia el digest de la política. Ver Política de permisos.
Novedades en v1.5.1: honesto en cada superficie, con diagnóstico local
- Primero, dónde corre Claude. Si las herramientas de Odoo no están
cargadas,
/odoo-tools:odoo-doctorno corre comandos, no revisa Python y no da consejos del lado de Odoo: en Cowork y Claude chat te lleva a la pestaña Code de Claude Desktop o a Transgenia. Las skills, comandos y agentes que usan las herramientas de Odoo empiezan con la misma revisión. - Diagnóstico local y reporte de soporte. El servidor guarda en tu equipo un registro pequeño, solo de metadatos, y el doctor termina con un reporte sin keys, URLs, logins ni datos de registros que puedes enviar a Transgenia. Ver Soporte.
- Un hook de inicio de sesión que no lee ninguna opción del plugin ni
credencial, y un servidor que ya no lee
ODOO_HTTP_BEARER. Ver Seguridad. - Siguen siendo 28 herramientas. Los perfiles
readonly,standardybuilderrechazan un poco más (las reglas de contexto se aplican también a un objeto pasado por posición, que Odoo 10 a 12 toman como contexto), así que cambia el digest de la política. Ver Política de permisos.
Novedades en v1.5.0: permisos seguros por defecto
El servidor MCP aplica una política de permisos encima de los
derechos del usuario de Odoo. El perfil por defecto, standard, lee, crea,
actualiza y corre métodos de negocio, pero no borra, no hace cambios estilo
Studio, no envía correo ni SMS (las notas internas sí) y no lee secretos
guardados; lista 25 de las 28 herramientas. Cada llamada deja una línea en
un registro de auditoría local. Para conservar el comportamiento de la
1.4, pon la opción Permission profile en full.
Está construido y mantenido por Transgenia, partner registrado de Anthropic (tier Registered). Es un proyecto open-source independiente con licencia MIT: no es un producto certificado ni de primera parte de Anthropic. Está publicado en el directorio de plugins de Anthropic, donde cada versión nueva llega cuando un revisor de Anthropic la aprueba, así que el directorio puede ofrecer una versión anterior a la que describe este manual. Instala una sola copia, desde el marketplace de Transgenia (ver Instalación).
- Repositorio: Transgenia/MCP-Odoo-Tools-CE-EE-and-online
- Licencia: MIT
- Superficies: servidor MCP (primaria) · CLI TypeScript (respaldo)
- Versión documentada: 1.6.0
Dónde funciona¶
| Entorno | Servidor MCP (las herramientas de Odoo) | Skills y comandos | Agentes y hooks |
|---|---|---|---|
| Claude Code en tu equipo (terminal, VS Code, JetBrains, una sesión local de la pestaña Code de Claude Desktop) | Sí | Sí | Sí |
| Claude Code en una sesión en la nube (pestaña Code de Claude Desktop, claude.ai/code) | No | Sí | Sí |
| Cowork (Claude Desktop) | No | Sí | Sí |
| Claude chat (claude.ai web, escritorio, móvil) | No | Sí | No |
Las herramientas de Odoo corren como un servidor MCP local por stdio
(python3 3.9+) en el equipo donde corre Claude Code, y los datos de conexión
(URL, base de datos, login, API key) se capturan en las opciones del plugin de
Claude Code (userConfig en plugin.json): Claude Code te los pide al
habilitar el plugin, o los recibe con claude plugin configure.
Según la matriz de soporte de plugins de Anthropic, Cowork no pide valores de opciones e ignora un servidor MCP que usa una opción sin valor por defecto (la URL, la base, el login y las credenciales de este plugin no lo tienen), y Claude chat ignora el servidor MCP local de un plugin. En esas apps el plugin se instala y sus skills y comandos cargan, pero no alcanzan Odoo sin las herramientas. Es el comportamiento previsto de esas apps, no una instalación rota.
Claude Desktop nombra este caso, para el servidor de este plugin, con el estado
not_started y el motivo user_config_unsupported: es igual en macOS que en
Windows, no es una falla del plugin ni de la app, y ninguna actualización del
plugin lo cambia.
Nada está mal con tu cuenta, tu Odoo ni tu Python. Abre una sesión local de la pestaña Code de Claude Desktop (o Claude Code en una terminal, VS Code o JetBrains): el plugin que instalaste en tu cuenta de Claude aparece ahí sincronizado cuando entras con la misma cuenta. O pide a Transgenia una configuración asistida: dev@transgenia.org · WhatsApp +52 55 8034 0405.
Una sesión en la nube de Claude Code (el entorno en la nube de la pestaña Code, o claude.ai/code) es otro caso: el plugin se sincroniza desde tu cuenta, pero sus opciones no. Claude Code las guarda en el equipo donde las capturas (la API key y la contraseña, en el almacén seguro de credenciales de ese equipo), así que el servidor no arranca en la nube. Usa una sesión local.
Cowork y Claude chat sí aceptan conectores MCP que agregas tú: un servidor MCP
remoto accesible por una URL https o, en la app de escritorio, una extensión
de escritorio. Este plugin no provee ninguno de los dos: sus herramientas de
Odoo necesitan el servidor local. Si en claude.ai ves la fila odoo con la
leyenda Runs in each session y un panel vacío, ver
Solución de problemas.
Qué resuelve¶
Los nombres de modelos y campos de Odoo cambian entre versiones:
account.invoicese fusionó enaccount.moveen la v13 (fusión, no renombre: en v10-12 coexisten como facturas vs. asientos; ver Compatibilidad).- Los campos analíticos cambiaron en la v16
(
analytic_account_id→analytic_distribution). - Los modelos de paquetes cambiaron en la v19 (
stock.quant.package→stock.package). - El método
name_getdesapareció en la v18 (se leedisplay_name). - Odoo Online adelanta cambios en sus líneas
saas~N.M:uom_po_idya no existe desde saas~18.1, antes que en la 19.0. - La propia API RPC cambia desde la v19:
/xmlrpcy/jsonrpcquedan obsoletos y Odoo 22 (y Odoo Online saas~21.1) los retiran; su reemplazo es JSON-2, que el servidor usa automáticamente cuando hay una API key.
Además, Enterprise incluye modelos que Community no tiene. Para un agente de IA, cada una de estas diferencias es un punto de falla silencioso: llama al nombre antiguo, el ERP responde con un error, y el agente no distingue si es un problema de permisos, de red o de versión.
Este plugin absorbe esas diferencias detrás de una sola superficie de herramientas estable, para que no tengas que ramificar tu código por versión.
Las dos superficies¶
| Superficie | Cuándo usarla | Requisitos |
|---|---|---|
| Servidor MCP (recomendada) | Uso normal desde Claude Code: 28 herramientas (incluidas 6 para Odoo Online; 25 listadas con el perfil por defecto standard) + capa de compatibilidad completa, por JSON-2, JSON-RPC o XML-RPC, con una política de permisos y registro de auditoría |
python3 3.9+ (solo biblioteca estándar; no instala nada) |
| CLI de respaldo | Cuando no puedes correr el servidor MCP, o para acceso por lotes desde scripts | Node.js 18+ |
Alcance (público vs. privado)¶
Este es el núcleo genérico público: habla con Odoo y nada más. Desde la v1.5.0, una política de permisos genérica y declarativa forma parte del núcleo público. Los flujos de aprobación, los motores de localización (por ejemplo, la facturación electrónica por país), los respaldos, la IA documental y otros motores específicos de un cliente quedan deliberadamente fuera de este repositorio y se ofrecen como parte de las implementaciones supervisadas de Transgenia.
Siguiente paso¶
Continúa con la Instalación o salta directo al Inicio rápido guiado.
Soporte de implementación
¿Necesitas ayuda para conectarlo a tu Odoo o una integración de IA/ERP a la medida? Transgenia ofrece servicios de implementación de IA y Odoo. Escríbenos a dev@transgenia.org.