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, corre con python3 sin dependencias externas y el código está publicado en GitHub bajo licencia MIT.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px'}}}%%
mindmap
root(("MCP-Odoo-Tools, Odoo 10 a 19 con agentes de IA"))
El problema
modelos renombrados entre versiones
fallo silencioso del agente
Qué es
servidor MCP en Python
capa de compatibilidad
tres transportes
caché y observabilidad opcionales
28 herramientas
lectura y exportación
escritura y ejecución
metadatos e importación
Instalación
plugin de Claude Code
python3 sin dependencias
Fuera de la capa pública
CFDI y SAT
VoBo
backup S3 y visión
Por qué MIT
sin dependencia de proveedor
ecosistema
Cómo empezar
diagnóstico
piloto de solo lectura
gobernanza antes de escribir
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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'titleColor': '#FBA225', 'cScale0': '#1a2640', 'cScale1': '#24304d', 'cScale2': '#2e3c5e', 'cScaleLabel0': '#FFFFFF', 'cScaleLabel1': '#FFFFFF', 'cScaleLabel2': '#FFFFFF'}}}%%
timeline
title Renombres de modelos en Odoo que un agente debe conocer
Odoo 12 : product.uom pasa a uom.uom
Odoo 13 : account.invoice pasa a account.move
: account.invoice.line pasa a account.move.line
Odoo 17 : mail.channel pasa a discuss.channel
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'actorTextColor': '#FFFFFF', 'actorBkg': '#1a2640', 'actorBorder': '#FBA225', 'signalColor': '#FBA225', 'signalTextColor': '#FFFFFF', 'labelBoxBkgColor': '#101828', 'labelBoxBorderColor': '#FBA225', 'labelTextColor': '#FBA225', 'noteBkgColor': '#101828', 'noteTextColor': '#FBA225', 'noteBorderColor': '#FBA225'}}}%%
sequenceDiagram
participant A as Agente de IA
participant S as Servidor MCP sin compatibilidad
participant C as MCP-Odoo-Tools
participant O as Odoo 16
A->>S: buscar facturas en account.invoice
S->>O: search_read account.invoice
O-->>S: error, el modelo no existe
S-->>A: error genérico
Note over A: ¿credenciales, red o nomenclatura?
El agente no puede distinguirlo
A->>C: buscar facturas
C->>O: odoo_version
O-->>C: 16.0, Community
C->>O: search_read account.move
O-->>C: registros
C-->>A: facturas correctas
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.
Tres transportes con selección automática. El servidor elige el transporte según la versión detectada y la credencial: JSON-2 (la API nueva de Odoo, disponible en saas~18.4 y 19.0+) cuando hay API Key, y JSON-RPC con respaldo XML-RPC en el resto. JSON-RPC y XML-RPC aceptan contraseña o API Key (las API Keys existen desde Odoo 14); JSON-2 solo acepta API Key. La preferencia se puede fijar con ODOO_TRANSPORT_PREF.
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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
A["Agente de IA
Claude, Gemini, Mistral u otro cliente MCP"] --> M["Cliente MCP
Claude Code u otro cliente MCP"]
M -->|stdio| S["MCP-Odoo-Tools
servidor Python, licencia MIT"]
S --> D["Detección de versión,
edición y despliegue"]
D --> K["Capa de compatibilidad
Odoo 10 a 19"]
K --> T["Selector de transporte
JSON-2, JSON-RPC, XML-RPC"]
T --> O["Odoo
Community, Enterprise u online"]
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart TD
Q["El agente pide facturas"] --> V{"Versión detectada
por odoo_version"}
V -->|"10, 11 o 12"| I["account.invoice"]
V -->|"13 a 19"| M["account.move"]
I --> R["search_read con el nombre correcto"]
M --> R
R --> A["Respuesta al agente,
que nunca conoció la versión"]
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart TD
S["Conexión a Odoo"] --> C{"¿Credencial?"}
C -->|"API Key
desde Odoo 14"| V{"¿saas~18.4 o 19.0 en adelante?"}
C -->|"Contraseña"| J["JSON-RPC"]
V -->|"Sí"| J2["JSON-2
la API nueva de Odoo"]
V -->|"No"| J
J -->|"si falla"| X["XML-RPC
respaldo"]
P["ODOO_TRANSPORT_PREF
fija la preferencia"] -.-> C
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'actorTextColor': '#FFFFFF', 'actorBkg': '#1a2640', 'actorBorder': '#FBA225', 'signalColor': '#FBA225', 'signalTextColor': '#FFFFFF', 'labelBoxBkgColor': '#101828', 'labelBoxBorderColor': '#FBA225', 'labelTextColor': '#FBA225', 'noteBkgColor': '#101828', 'noteTextColor': '#FBA225', 'noteBorderColor': '#FBA225'}}}%%
sequenceDiagram
participant A as Agente
participant S as MCP-Odoo-Tools
participant C as Caché TTL
participant O as Odoo
participant T as Endpoint OTLP opcional
A->>S: odoo_fields_get res.partner
S->>C: ¿está en caché?
alt primera llamada
C-->>S: no
S->>O: fields_get
O-->>S: campos
S->>C: guardar con expiración
else llamada repetida
C-->>S: campos desde memoria
end
S-->>A: campos del modelo
S--)T: span con odoo.model, odoo.method y odoo.alias
Note over T: sin endpoint configurado
no se emiten trazas y no hay error
Las herramientas disponibles
El servidor expone 28 herramientas (versión 1.4.0) 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 |
| Lectura | odoo_read_group | Agrupa y agrega registros por campo |
| Metadatos | odoo_version | Devuelve la versión y edición de la instancia |
| Metadatos | odoo_list_models | Lista los modelos instalados |
| Odoo Online | odoo_online_profile | Serie, despliegue, transporte, claves y límites del plan en una sola lectura |
| Importación | odoo_import_preview / odoo_import | Simula y ejecuta importaciones atómicas con el importador de Odoo |
La previsualización no guarda las filas importadas, pero puede consumir números de secuencia y disparar webhooks de acciones automatizadas. Pruébala en una copia aislada antes de usarla en producción.
Las 28 herramientas de la versión 1.4.0 cubren conexión, lectura, exportación, escritura, cambios de esquema al estilo Studio e importaciones. Con el modo de solo lectura activado, el servidor rechaza toda herramienta de escritura antes de tocar Odoo. La tabla muestra las más utilizadas; el catálogo completo está en el README del repositorio.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px'}}}%%
mindmap
root(("28 herramientas en la versión 1.4.0"))
Lectura
odoo_search_read
odoo_fields_get
odoo_search_count
odoo_read_group
Exportación
odoo_export_records_json
odoo_export_records_csv
Escritura
odoo_create y odoo_write
odoo_unlink
odoo_execute
Metadatos
odoo_version
odoo_list_models
Odoo Online
odoo_online_profile
Importación
odoo_import_preview
odoo_import
Esquema estilo Studio
campos y vistas sin Python
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
F["Archivo CSV o filas"] --> P["odoo_import_preview
simulación con el importador de Odoo"]
P --> R{"¿Errores?"}
R -->|"Sí"| C["Corregir el archivo"] --> P
R -->|"No"| I["odoo_import
importación atómica"]
I --> O["Registros en Odoo"]
P -.->|"efectos posibles"| W["Consume números de secuencia
Dispara webhooks de acciones automatizadas"]
W -.-> S["Probar primero en una copia aislada"]
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart TD
T["Llamada a una herramienta"] --> K{"¿odoo_readonly activo?"}
K -->|"No"| E["Se ejecuta en Odoo"]
K -->|"Sí"| W{"¿Es de escritura?
create, write, unlink,
execute, import"}
W -->|"No"| E
W -->|"Sí"| R["Rechazada antes
de tocar Odoo"]
Instalación como plugin de Claude Code
El plugin se instala desde el marketplace del repositorio (/plugin marketplace add Transgenia/MCP-Odoo-Tools-CE-EE-and-online y /plugin install odoo-tools). El servidor arranca con python3 (3.9 o superior) sobre el código fuente incluido, sin descargar ni instalar dependencias. El skill odoo-setup-mcp guía la configuración inicial: URL de la instancia, credenciales y detección automática de versión. Las herramientas de Odoo corren como servidor MCP local (stdio) en Claude Code, que pide los valores de configuración (o defínelos con /plugin configure). No corren en Cowork ni en el chat de Claude: Cowork, en la nube o en tu equipo, omite este servidor porque sus opciones obligatorias no tienen valor por defecto y no pide valores, y el chat ignora el servidor MCP local de un plugin. Ambos cargan skills y comandos, pero no este servidor MCP local. Para Cowork y el chat, la ruta práctica es un conector remoto: una URL https hacia un servidor MCP en tu Odoo, con inicio de sesión en Odoo. Verificado el 21-oct-2026 contra la matriz oficial de Anthropic.
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: La versión 1.4.0 figura en el directorio de plugins de Claude y también se instala desde el repositorio de Transgenia; estar en el directorio no significa que Anthropic lo certifique o audite.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart TD
A["/plugin marketplace add
Transgenia/MCP-Odoo-Tools-CE-EE-and-online"] --> B["/plugin install odoo-tools"]
B --> C["python3 3.9 o superior
sin descargar dependencias"]
C --> D["Skill odoo-setup-mcp
URL de la instancia y credenciales"]
D --> E["Detección automática
de versión y edición"]
E --> F{"¿Dónde corre el cliente?"}
F -->|"Claude Code"| G["Servidor MCP local
por stdio"]
F -->|"Chat de Claude
Cowork (en la nube o en tu equipo)"| H["Carga skills y comandos,
no este servidor MCP local"]
H -.->|"ruta práctica para
las herramientas de Odoo"| R["Conector remoto: URL https
a un servidor MCP en tu Odoo,
con inicio de sesión en Odoo"]
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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
subgraph P["Núcleo público, licencia MIT"]
P1["28 herramientas"]
P2["Capa de compatibilidad 10 a 19"]
P3["Tres transportes"]
P4["Skills, agentes y CLI de respaldo"]
end
subgraph S["Implementación supervisada"]
S1["Capa fiscal MX, CFDI y SAT"]
S2["Middleware VoBo"]
S3["Backup a S3"]
S4["Visión y parsing de facturas"]
end
P -->|"requiere onboarding con el equipo"| S
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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart TD
C["Servidor MCP cerrado"] --> C1["Cambia el precio"] --> X["El agente deja de funcionar"]
C --> C2["Cambia el modelo de negocio"] --> X
C --> C3["Desaparece el proveedor"] --> X
M["MCP-Odoo-Tools, licencia MIT"] --> M1["La empresa tiene el código"]
M --> M2["Puede hostearlo internamente"]
M --> M3["Cualquier proveedor puede mantenerlo"]
M --> M4["Se integra en stacks propietarios
sin copyleft"]
M1 & M2 & M3 & M4 --> Y["Sigue funcionando
aunque Transgenia no exista mañana"]
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 28 herramientas de la versión 1.4.0.
- Matriz de versiones reales: sandbox de Odoo Community 10.0 a 19.0 en CI (ejecución del 5-oct-2026, diez versiones en verde) con prueba de versión y lectura por MCP.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
A["27 pruebas unitarias
compatibilidad, transporte, caché"] --> B["ruff
Python 3.11 y 3.12"]
B --> C["CLI de TypeScript
compila sin errores"]
C --> D["Handshake MCP real por stdio
lista las 28 herramientas"]
D --> E["Matriz Odoo Community 10.0 a 19.0
diez versiones en verde, 5-oct-2026"]
E --> F(["Versión 1.4.0 publicada"])
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: activar el modo de solo lectura del plugin (opción
odoo_readonly), con el que el servidor rechaza toda escritura, y validar que las respuestas son correctas antes de tocar datos de producción. - Gobernanza antes de escritura: la revisión humana de cada escritura (VoBo) no forma parte del núcleo público; es una capa de la implementación acompañada que se configura con el equipo de Transgenia antes de habilitar escrituras en producción.
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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
A["1. Diagnóstico
versión, edición, módulos y flujos"] --> B["2. Piloto de solo lectura
odoo_readonly activo"]
B --> C["3. Gobernanza VoBo
revisión humana de cada escritura"]
C --> D["Escrituras en producción"]
B -.->|"si las respuestas no son correctas"| A
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 máquina (o en la infraestructura que tú elijas) y se comunica directamente con tu instancia Odoo. Transgenia no recibe, intermedia ni retiene datos del plugin: ni credenciales, ni registros, ni prompts. Los resultados que devuelve Odoo sí viajan a tu cliente MCP y de ahí al proveedor del modelo que uses (por ejemplo Anthropic con Claude), como con cualquier herramienta; ese tramo se rige por los términos de tu Odoo y de tu proveedor de IA, no por Transgenia.
¿Está aprobado por Anthropic como plugin oficial?
No todavía. El plugin es open source y se distribuye desde el repositorio propio de Transgenia. La versión 1.4.0 figura en el directorio de plugins de Claude y también se instala desde el repositorio de Transgenia; estar en el directorio no significa que Anthropic lo certifique o audite. 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.
Ver diagrama Mermaid
%%{init: {'theme': 'dark', 'themeVariables': {'primaryColor': '#1a2035', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FBA225', 'lineColor': '#FBA225', 'background': '#0B0D17', 'mainBkg': '#0E1220', 'fontFamily': 'Inter, Arial, sans-serif', 'fontSize': '14px', 'edgeLabelBackground': '#0E1220', 'clusterBkg': '#101828', 'clusterBorder': '#FBA225'}}}%%
flowchart LR
subgraph T["Tu infraestructura"]
M["Cliente MCP"] <-->|stdio| S["MCP-Odoo-Tools"]
S <-->|"JSON-2, JSON-RPC o XML-RPC"| O["Tu instancia de Odoo"]
end
M <-->|"prompts y resultados"| P["Proveedor del modelo
por ejemplo Anthropic con Claude"]
X["Transgenia
fuera del flujo de datos:
no recibe credenciales, registros ni prompts"]
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, el catálogo de herramientas y la compatibilidad entre versiones.
- Nuestras soluciones de IA gobernada.
- ¿Quién integra Claude o ChatGPT con Odoo en México? Guía para contratar: criterios para elegir y contratar a un integrador, con seis preguntas de evidencia y diez condiciones por escrito.
- meet.transgenia.org: cómo dejamos de pagar Read AI: plataforma propia de reuniones con transcripción, minutas aprobadas por una persona y señales comerciales que llegan a Odoo.