Llevas semanas escuchando que "la IA puede hablar con tu ERP". Lo que nadie explica es que Odoo renombró decenas de modelos entre la versión 12 y la 19, y que un servidor MCP que no resuelva eso en tiempo de ejecución le miente al agente. Aquí está lo que construimos para resolverlo, por qué lo publicamos con licencia MIT y qué no incluimos a propósito.
account.invoice → account.move en v13). Se distribuye como plugin de Claude Code, se instala con uvx y el código está publicado en GitHub bajo licencia MIT.
El problema real: los modelos de Odoo cambian entre versiones
Odoo es el ERP más adoptado por PyMEs en Latinoamérica, pero viene con una particularidad que los consultores raramente mencionan antes de firmar: cada versión mayor reorganiza o renombra modelos y campos. El ejemplo más conocido es account.invoice, que pasó a ser account.move en Odoo 13. Hay decenas de cambios similares entre las versiones 10 y 19.
Para un humano que conoce el historial, esto es una curva de aprendizaje. Para un agente de IA, es un punto de falla silencioso: el agente llama al modelo antiguo con confianza, el ERP devuelve un error que parece de permisos o de red, y el agente no puede distinguir si es un problema de credenciales o de nomenclatura.
Podríamos haber construido un servidor MCP que asumiera Odoo 19 y listo. Pero eso excluye a miles de empresas que corren versiones 14, 16 o 17 perfectamente funcionales y no tienen razón para migrar solo porque llegó la IA.
Qué es MCP-Odoo-Tools
MCP-Odoo-Tools es un servidor Python que implementa el Protocolo de Contexto de Modelo (MCP, publicado por Anthropic como estándar abierto) sobre Odoo. El código está publicado en GitHub bajo licencia MIT. Es una reescritura limpia (no deriva de ningún fork AGPL) y viene empaquetado como plugin de Claude Code.
Lo que lo distingue de una integración Odoo básica:
Capa de compatibilidad entre versiones. Un mapa declarativo cubre las diferencias de nombres de modelos y campos entre Odoo 10 y 19. Cuando el agente pide información sobre facturas, la capa determina en tiempo de ejecución si la instancia conectada usa account.invoice o account.move, sin que el agente (ni el operador) tengan que saber la versión de antemano.
Detección automática de versión y edición. El servidor identifica la versión exacta de Odoo (CE, EE u online), la edición y el modo de despliegue al conectarse. Esa información alimenta la capa de compatibilidad y el selector de transporte.
Transporte dual con fallback automático. El servidor usa XML-RPC como protocolo principal y JSON-RPC como alternativa. El fallback importa: a partir de Odoo 17, el endpoint /jsonrpc requiere una API Key específica. El servidor detecta la versión y elige el transporte correcto de forma transparente.
Caché de esquema opcional. Las llamadas repetidas a odoo_fields_get se sirven desde memoria (TTLCache con expiración configurable), lo que reduce la latencia en sesiones de trabajo intensivo.
Observabilidad integrada (opcional). Cada llamada RPC genera un span OpenTelemetry con atributos odoo.model, odoo.method y odoo.alias. Si no se configura un endpoint OTLP, el servidor arranca sin emitir trazas: degradación elegante, cero errores.
Las herramientas disponibles
El servidor expone 18 herramientas organizadas por dominio de operación:
| Categoría | Herramienta | Qué hace |
|---|---|---|
| Lectura | odoo_search_read | Busca y devuelve registros con filtros ORM |
| Lectura | odoo_fields_get | Describe los campos de un modelo (con caché opcional) |
| Lectura | odoo_search_count | Cuenta registros sin traer datos |
| Exportación | odoo_export_records_json | Exporta registros vía ORM respetando permisos |
| Exportación | odoo_export_records_csv | Lo mismo en formato CSV |
| Escritura | odoo_create / odoo_write | Crea o actualiza registros |
| Escritura | odoo_unlink | Elimina registros |
| Escritura | odoo_execute | Llama a cualquier método del modelo |
| Chat | odoo_message_post | Publica en el chatter de un registro |
| Metadatos | odoo_version | Devuelve la versión y edición de la instancia |
| Metadatos | odoo_list_models | Lista los modelos instalados |
| Sesión | user_connection_activate | Activa la conexión al iniciar una sesión |
Las 18 herramientas en total cubren casos de uso de lectura-escritura-exportación-introspección. La tabla muestra las más utilizadas; el detalle completo está en el repositorio.
Instalación como plugin de Claude Code
El plugin viene empaquetado con plugin.json para instalación vía uvx y un marketplace.json para auto-hosting. Una vez instalado, el skill odoo-setup-mcp guía la configuración inicial: URL de la instancia, credenciales y detección automática de versión.
El plugin incluye también:
- Skills:
odoo-setup-mcp,odoo-setup-cli,odoo-connect,odoo-crossversion. - Agentes especializados:
odoo(operaciones generales) yodoo-migrator(tareas de migración entre versiones). - CLI de respaldo: implementado en TypeScript sobre XML-RPC, para entornos donde el servidor MCP no esté disponible.
Nota sobre el marketplace: este plugin se distribuye como instalación auto-hosteada. Aún no está publicado en el marketplace oficial de Anthropic: es un plugin open source propio, instalable desde el repositorio de Transgenia. El proceso de publicación en el marketplace oficial está en evaluación.
Lo que deliberadamente no está en la capa pública
La versión pública contiene el núcleo genérico. Lo que dejamos fuera a propósito:
- Capa fiscal MX (CFDI/SAT): validación de UUID contra el SAT, lectura de la bóveda CFDI, consulta de
l10n_mx_edi_cfdi_sat_state. Disponible en implementaciones supervisadas. - Middleware VoBo (Visto Bueno): gobernanza de escrituras que requiere autorización humana explícita antes de crear o modificar registros en producción. Opción de enforcement configurable.
- Backup a S3: herramientas de respaldo y restauración de instancia.
- Herramientas de visión y parsing de facturas: lectura de documentos PDF con visión de lenguaje.
Estas capas tienen sentido solo en el contexto de una implementación supervisada. El núcleo público es genuinamente útil por sí solo; no son funciones "recortadas para vender más" sino capas que requieren un proceso de onboarding con el equipo.
Si en el pipeline de conexión entre tu Odoo y Claude quieres más contexto sobre la capa básica de API Key antes del plugin, en Conecta Odoo a Claude con una API Key y crea vistas sin Python explicamos las opciones base y sus limitaciones reales.
Por qué código abierto y por qué MIT
Hay un argumento pragmático: un servidor MCP cerrado crea dependencia de proveedor. Si cambia el precio, el modelo de negocio o desaparece la empresa, el agente de IA deja de funcionar. Con código abierto (MIT), la empresa tiene el código, puede hostearlo internamente y puede contratar a cualquier proveedor para mantenerlo. El plugin sigue siendo funcional aunque Transgenia no exista mañana.
Hay también un argumento de ecosistema: cuantas más empresas contribuyen a un servidor MCP de Odoo, más robusto se vuelve para todos. La capa de compatibilidad cubre Odoo 10-19 hoy; la comunidad puede extenderla a versiones futuras sin esperar que ningún proveedor específico lo haga.
Elegimos MIT en lugar de AGPL para que las empresas puedan integrar el plugin en sus stacks propietarios sin restricciones de copyleft. El copyleft tiene su lugar; aquí priorizamos la adopción.
Calidad técnica verificada
El plugin llega con CI completo:
- 27 pruebas unitarias en verde: cobertura de la tabla de compatibilidad de versiones, regresiones del fallback de transporte y pruebas de caché.
- Linting: ruff limpio sobre Python 3.11 y 3.12.
- CLI de TypeScript: compila sin errores.
- Handshake MCP real (stdio): lista correctamente las 18 herramientas.
- Matriz de versiones reales (opt-in): contra Odoo 16, 17 y 18 efímeros.
Cómo empezar
Si tienes Odoo y quieres explorar la integración con agentes de IA, el camino recomendado tiene tres pasos:
- Diagnóstico de tu instancia: versión, edición, módulos instalados y flujos candidatos a automatización con IA.
- Piloto de solo lectura: conectar el agente en modo lectura para validar que las respuestas son correctas antes de tocar datos de producción.
- Gobernanza antes de escritura: el middleware VoBo ya existe como capa opcional: activarlo es un cambio de configuración, no una reescritura.
Si quieres ver el stack en operación real antes de decidir, nuestra demo por sector muestra agentes trabajando sobre datos de clínicas y comercializadoras con el mismo protocolo MCP.
Preguntas frecuentes
¿El plugin MCP-Odoo-Tools es gratuito?
Sí, la capa pública está bajo licencia MIT y no tiene costo. La instalación y configuración básica las puedes hacer tú mismo a partir del repositorio de GitHub. La capa fiscal MX (CFDI/SAT), el middleware de gobernanza de escrituras (VoBo) y otros componentes avanzados están disponibles en los paquetes de implementación supervisada de Transgenia.
¿Con qué versiones de Odoo es compatible?
Con Odoo Community, Enterprise y online (SaaS) desde la versión 10 hasta la 19. La capa de compatibilidad resuelve automáticamente las diferencias de nombres de modelos y campos entre versiones, incluyendo cambios de nombre de modelo como account.invoice → account.move en v13 y otros cambios de campo en versiones posteriores.
¿Funciona solo con Claude o con otros agentes de IA?
Con cualquier agente que implemente el Protocolo de Contexto de Modelo (MCP), el estándar publicado por Anthropic como especificación abierta. Claude Code es el entorno de referencia para el que está empaquetado el plugin, pero el servidor expone una interfaz estándar compatible con otros clientes MCP (Gemini con Antigravity, Mistral con Vibe, y otros).
¿El plugin envía datos de mi empresa a servidores de Transgenia?
No. El servidor MCP corre en tu infraestructura (o en la del proveedor que tú elijas) y se comunica directamente con tu instancia Odoo. Los datos no pasan por ningún servidor de Transgenia. El plugin es únicamente el código que ejecutas: lo que haces con él queda dentro de tu perímetro.
¿Está aprobado por Anthropic como plugin oficial?
No todavía. El plugin es open source y se distribuye desde el repositorio propio de Transgenia. El proceso de publicación en el marketplace oficial de Anthropic está en evaluación. Transgenia es partner registrado en el Claude Partner Network de Anthropic, lo que significa que Anthropic nos reconoce como partner, no que el plugin esté certificado o auditado por ellos. La distinción importa: el código es abierto y auditable por cualquiera.
Sobre el autor y Transgenia
Efraín Carreón Ortiz es Director General de Centrum Transgenia, una boutique tecnológica mexicana. Está acreditado con la insignia oficial Claude Code (Claude Partner Badge) emitida por Anthropic, verificable en Credly.
Transgenia es OpenAI Select Partner dentro del OpenAI Partner Network y partner registrado en el Claude Partner Network de Anthropic. Operamos doce agentes de IA gobernados en producción propia y acompañamos implementaciones verificables en los sectores salud y B2B.
Hablemos: LinkedIn, agenda de 15 minutos o la página de contacto.
Sigue leyendo
- Conecta Odoo a Claude con una API Key y crea vistas sin Python: la capa base antes del plugin, para entender las opciones sin infraestructura y sus limitaciones reales.
- Cómo Transgenia opera con agentes de IA gobernados: el modelo de gobierno (draft-first, VoBo humano, MCP) que rodea a este plugin en producción.
- Implementar Claude en tu empresa: guía por fases: el método completo de adopción desde un partner registrado de Anthropic.
- Manual de uso de MCP-Odoo-Tools: la referencia completa del plugin: instalación, las 18 herramientas y la compatibilidad entre versiones.
- Nuestras soluciones de IA gobernada.