Saltar al contenido
Volver al blog
integration-guide8 min

Odoo + MCP en 15 Minutos: Conecta tu ERP a Agentes IA

Conecta tu instancia Odoo 16, 17 o 18 a agentes IA en menos de 15 minutos. Un conector JSON-RPC, cero cambios en Odoo. Tus productos, niveles de stock y listas de precios se vuelven descubribles y comprables por Claude, GPT y otros agentes IA vía MCP.

Resumen ejecutivo

Guía de integración paso a paso para conectar Odoo 16/17/18 a AgenticMCPStores. Cubre generación de API key, configuración del conector, sincronización de productos, inventario stock.quant, resolución de listas de precios, y lo que los agentes IA pueden hacer con tus datos de Odoo — todo sin modificar tu instancia Odoo.

Publicado

2026-04-06

8 min

Autoría

Equipo de arquitectura de integraciones

Arquitectos de implementación

El equipo de arquitectura de integraciones se centra en patrones prácticos de despliegue para tiendas que adoptan superficies de comercio compatibles con MCP.

Ver perfil

Categoría

integration-guide

odooMCPerpintegracionjson-rpcinventarioagentes-iaconector

Odoo es el ERP de código abierto más instalado del mundo. Pero sus datos de productos — precios, niveles de stock, categorías, listas de precios — están encerrados dentro de llamadas JSON-RPC que los agentes IA no pueden descubrir ni usar. AgenticMCPStores cierra esa brecha. En esta guía, conectarás tu instancia Odoo a la plataforma en 15 minutos, haciendo todo tu catálogo buscable, comparable y comprable por agentes IA como Claude y GPT. Sin cambios en el código de Odoo. Sin plugins que instalar. Solo una API key y una URL.

Lo que Necesitarás

  • 1
    Una instancia Odoo 16, 17 o 18 (Community o Enterprise) — SaaS, Odoo.sh o self-hosted
  • 2
    Acceso admin para generar una API key (Ajustes > Técnico > Claves API)
  • 3
    Una cuenta en AgenticMCPStores (gratis durante Beta) — regístrate en agenticmcpstores.com/es/developers

Paso 1: Generar una API Key en Odoo

En tu instancia Odoo, navega a Ajustes > Técnico > Claves API. Haz clic en 'Nueva Clave API', dale un nombre descriptivo (ej. 'Conector AgenticMCPStores'), y copia la clave generada. Esta clave reemplaza la autenticación por contraseña — es el método moderno y seguro para acceder a la API JSON-RPC de Odoo. Para instancias SaaS (tuempresa.odoo.com): usa tu email de cuenta como login. Para instancias self-hosted: usa el nombre de usuario admin (típicamente 'admin' o tu login personalizado). El conector usa un solo endpoint (`POST /jsonrpc`) para todas las operaciones — no hay dependencia de REST API ni módulo de Odoo que instalar.

Paso 2: Conectar desde el Dashboard

Inicia sesión en tu dashboard de AgenticMCPStores y navega a Onboarding > Odoo. Completa: 1. URL de Odoo — La URL de tu instancia (ej. `https://miempresa.odoo.com`). La protección SSRF bloquea direcciones privadas/loopback automáticamente. 2. API Key — La clave que generaste en el Paso 1 (mínimo 10 caracteres). 3. Email / Login — Tu email de cuenta Odoo (SaaS) o nombre de usuario (self-hosted). 4. Base de datos — Auto-detectada para SaaS. Para configuraciones multi-base-de-datos self-hosted, introduce el nombre de la base de datos explícitamente. El formulario valida tus credenciales obteniendo un producto (`getProducts(limit: 1)`). Si la validación pasa, tu tienda se crea y la sincronización inicial comienza inmediatamente.

Paso 3: Sincronización Inicial — Qué se Indexa

El conector sincroniza cuatro tipos de datos desde Odoo vía JSON-RPC: Productos (`product.template`) — Todos los productos activos y vendibles con título, descripción, precio, imágenes, peso y fecha de escritura. Los productos se filtran por `[['active', '=', true], ['sale_ok', '=', true]]` — los productos en borrador o de uso interno se excluyen. Variantes (`product.product`) — SKUs concretos con precios e imágenes específicos de variante. Limitado a 50 variantes por plantilla de producto. Stock (`stock.quant`) — Inventario real del almacén desde el modelo `stock.quant`. Las cantidades se suman en todas las ubicaciones del almacén. Si el módulo de Stock no está instalado, el conector asume que los productos están disponibles. Categorías (`product.category`) — Árbol jerárquico completo de categorías con relaciones padre-hijo. Usado para navegación de agentes y búsqueda por facetas. Listas de precios (`product.pricelist`) — Listas de precios públicas con resolución de reglas por prioridad: variante > producto > categoría > global. Las reglas con fecha se respetan — los precios expirados se excluyen automáticamente.

Cómo Funcionan los Precios

El conector resuelve las reglas de listas de precios de Odoo a un precio efectivo único por producto. Orden de prioridad: 1. Reglas de variante (`applied_on = '0_product_variant'`) — mayor prioridad 2. Reglas de producto (`applied_on = '1_product'`) 3. Reglas de categoría (`applied_on = '2_product_category'`) 4. Reglas globales (`applied_on = '3_global'`) — menor prioridad Cada regla puede usar `fixed_price` o `percent_price` (descuento sobre precio de lista). Los filtros de fecha (`date_start`, `date_end`) y umbrales de `min_quantity` se verifican en el momento de resolución. El resultado es un precio limpio y legible por agentes que pueden comparar entre tiendas.

Qué Pueden Hacer los Agentes IA con tus Datos de Odoo

Una vez sincronizados, tus productos de Odoo están disponibles a través de todas las herramientas MCP estándar — no se necesitan herramientas específicas de Odoo. El conector implementa la misma interfaz `ICommerceAdapter` que Shopify y WooCommerce: • `search_products` — Búsqueda full-text en tu catálogo Odoo con ranking ponderado por trust • `get_product_details` — Info completa del producto incluyendo variantes, estado de stock, Schema.org JSON-LD • `browse_categories` — Navegación jerárquica de categorías desde el árbol `product.category` de Odoo • `get_merchant_profile` — Tu perfil de tienda con trust score, políticas y capacidades de protocolo • `create_cart` → `preview_checkout` → `complete_checkout` — Flujo completo de checkout con precios de lista de precios Los agentes ven tu tienda Odoo exactamente como una tienda Shopify o WooCommerce — mismo esquema, mismas herramientas, mismas señales de trust.

Límites de Tasa y Manejo de SaaS

El conector incluye manejo integrado de límites de tasa con backoff exponencial: | Tipo de Hosting | Límite | Comportamiento de Backoff | |---|---|---| | SaaS (*.odoo.com) | ~60 req/min | Auto-reintentos con backoff 1s → 2s → 4s + 20% jitter | | Odoo.sh | ~25 req/min | Mismo backoff, umbral más bajo | | Self-hosted | Ninguno | Sin enforcement de límites | El backoff usa ±20% jitter para prevenir tormenta de peticiones cuando múltiples syncs corren concurrentemente. Máximo 3 reintentos (4 intentos totales) antes de que la petición falle. Cada petición tiene un timeout de 10 segundos vía AbortController.

Modelo de Seguridad

  • 1
    Protección SSRF: IPs privadas (127.x, 10.x, 192.168.x, 172.16-31.x) bloqueadas tanto en la construcción del cliente como en la validación del esquema Zod
  • 2
    Credenciales cifradas en reposo con AES-256-GCM en el campo Store.platformCredentials
  • 3
    Auth por API key en lugar de contraseña — el enfoque recomendado por Odoo desde v14
  • 4
    Sin módulos de Odoo instalados, sin webhooks requeridos — acceso JSON-RPC de solo lectura
  • 5
    Versión auto-detectada vía common.version() RPC — sin configuración manual necesaria

Solución de Problemas

'Autenticación fallida' en SaaS: Asegúrate de que el campo Login contenga tu email de cuenta, no 'admin'. Las instancias SaaS requieren el email real del usuario para autenticación JSON-RPC. Errores de 'Campo inválido' durante sync: Si tu instancia Odoo no tiene el módulo Website o eCommerce, ciertos campos (`tag_ids`, `website_published`) no están disponibles. El conector ya los excluye — si ves este error en una versión antigua, actualiza tu dashboard de AgenticMCPStores. Todos los productos muestran 'sin stock': Si no tienes el módulo de Inventario/Stock instalado, el conector hace fallback asumiendo que todos los productos están disponibles. Si tienes Stock instalado pero las cantidades son incorrectas, verifica que existan registros `stock.quant` para tus productos. Los precios de la lista de precios no coinciden: Verifica que tu lista de precios esté marcada como 'seleccionable' y 'activa' en Odoo. Revisa los rangos de fecha en los items de la lista de precios — las reglas expiradas se excluyen.

Preguntas frecuentes

¿Necesito instalar algún módulo o plugin en Odoo?

No. El conector usa la API JSON-RPC integrada de Odoo, que está disponible en todas las instalaciones de Odoo 16/17/18 sin módulos adicionales. Solo necesitas generar una API key en Ajustes > Técnico > Claves API.

¿Qué módulos de Odoo son necesarios?

Solo el módulo base `product` (siempre instalado). El conector maneja graciosamente módulos opcionales ausentes: sin Stock/Inventario, asume que los productos están disponibles. Sin Website/eCommerce, omite campos específicos de web. Sin Listas de precios, usa el list_price del producto.

¿Con qué frecuencia se sincroniza el catálogo?

La sincronización inicial ocurre inmediatamente después de conectar. Las sincronizaciones subsecuentes se ejecutan según el schedule estándar de la plataforma (configurable, típicamente cada 2-6 horas). Puedes disparar un sync manual desde el dashboard del merchant en cualquier momento.

¿Puedo conectar múltiples bases de datos de Odoo?

Sí. Cada base de datos de Odoo se trata como una tienda separada en AgenticMCPStores. Conecta cada una a través del flujo de onboarding con su propia URL, API key y nombre de base de datos.

¿El conector soporta Odoo 19?

Odoo 19 introduce una nueva API JSON-2. La migración está planificada para Q4 2026. Las versiones actualmente soportadas son 16, 17 y 18 (ediciones Community y Enterprise).

Fuentes y referencias

Artículos relacionados

Conectar Odoo a Agentes IA vía MCP | Guía de Integración para Odoo 16/17/18 | AgenticMCPStores