/ Directorio / Playground / mcp-server-odoo
● Comunidad ivnvxd ⚡ Instantáneo

mcp-server-odoo

por ivnvxd · ivnvxd/mcp-server-odoo

Consulta y actualiza de forma segura cualquier modelo de Odoo ERP desde el chat —órdenes, contactos, productos— con selección inteligente de campos y controles de solo lectura.

mcp-server-odoo se conecta a cualquier instancia de Odoo 16+ mediante XML-RPC. Expone búsqueda/lectura/creación/actualización/eliminación de registros con selección automática de campos relevantes por modelo, además de un modo YOLO-read para cualquier versión de Odoo. Usa autenticación API key (recomendado) o usuario/contraseña.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

server-odoo.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "server-odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "server-odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "server-odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "server-odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "server-odoo",
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "server-odoo": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-server-odoo"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add server-odoo -- uvx mcp-server-odoo

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: mcp-server-odoo

Responde preguntas ad-hoc de ventas contra Odoo

👤 Gerentes de operaciones, fundadores que usan Odoo como su fuente de verdad ⏱ ~10 min beginner

Cuándo usarlo: ¿Cuáles fueron los 5 clientes principales de la semana pasada por ingresos? — sin escribir XML-RPC.

Requisitos previos
  • API key de Odoo — Odoo: perfil de usuario > Preferencias > API Keys > Nuevo
  • Variables de entorno ODOO_URL, ODOO_DB, ODOO_API_KEY — Configura en tu configuración del cliente MCP
Flujo
  1. Listar modelos disponibles
    list_models — ¿qué modelos de Odoo podemos consultar en esta instancia?✓ Copiado
    → Catálogo de modelos con descripciones
  2. Ejecutar la consulta
    En sale.order, encuentra órdenes con date_order entre el lunes pasado y hoy, agrupa por partner_id, suma amount_total, top 5.✓ Copiado
    → Lista de clientes clasificados con totales
  3. Profundizar
    Para el cliente superior, muestra las últimas 3 órdenes con sus elementos de línea.✓ Copiado
    → Desglose detallado

Resultado: Una respuesta comercial de datos ERP sin salir del chat.

Errores comunes
  • Los totales multimoneda no se convierten — Especifica currency_id en el filtro, o convierte en la capa LLM
  • ODOO_YOLO=true es peligroso en producción — Usa ODOO_YOLO=read o déjalo sin establecer; habilita acceso completo solo en una BD de staging
Combinar con: notion

Limpia leads CRM obsoletos en Odoo

👤 Operaciones de ventas ⏱ ~30 min intermediate

Cuándo usarlo: Los leads se acumulan sin actividad; quieres reasignar o archivar.

Flujo
  1. Encuentra leads obsoletos
    En crm.lead, encuentra leads donde stage_id no es 'Won' y la última actividad > 60 días atrás.✓ Copiado
    → Lista de leads obsoletos
  2. Propone acciones
    Clasifica cada uno: archivar, reasignar al líder del equipo, o notificar al propietario actual.✓ Copiado
    → Clasificación por lead
  3. Aplica en lotes (¡solo lectura primero!)
    Solo dry run: muestra qué cambiaría si archivara el bucket 'archive'.✓ Copiado
    → Resumen de dry-run; luego confirma antes de update_record

Resultado: Un pipeline más limpio con cambios auditables.

Errores comunes
  • Archivar leads de los que otros equipos dependen — Siempre dry-run primero; etiqueta leads archivados en lugar de eliminar

Redacta seguimientos para facturas impagadas

👤 Cuentas por cobrar y finanzas ⏱ ~25 min intermediate

Cuándo usarlo: Ejecución de cobro mensual.

Flujo
  1. Obtén facturas vencidas
    En account.move, encuentra facturas donde state='posted', payment_state='not_paid', invoice_date_due < hoy - 15.✓ Copiado
    → Lista de vencidas con partner + monto
  2. Redacta un seguimiento cortés por cliente
    Para cada uno, redacta un email en el idioma preferido del cliente usando la configuración de ODOO_LOCALE.✓ Copiado
    → Texto de borrador por factura

Resultado: Emails de cobro listos para enviar (el humano aún revisa).

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

server-odoo + notion

Obtén una instantánea de ventas de Odoo, publica en Notion para stakeholders

Ejecuta ventas del mes pasado por categoría de producto desde Odoo, publica como tabla de Notion bajo Finanzas / Mensual.✓ Copiado
server-odoo + postgres

Referencia cruzada de datos de Odoo con una réplica de almacén para análisis pesados

Para los 10 principales clientes de Odoo, obtén sus conteos de sesiones web de la BD de análisis Postgres.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_models (ninguno) Descubrimiento de primera ejecución 1 llamada XML-RPC
search_records model: str, domain?: filter, fields?: str[], limit?: int Cualquier consulta de lectura 1 llamada XML-RPC
get_record model, id ID conocida, necesita detalle completo 1 llamada
create_record model, values: object Solo con ODOO_YOLO=true o API key otorgando acceso de escritura 1 llamada (escritura)
update_record model, id, values Escrituras — confirma primero 1 llamada (escritura)
delete_record model, id Raramente — archivar es usualmente mejor 1 llamada (escritura, destructiva)
list_resource_templates (ninguno) Explora URIs de recursos disponibles gratis

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Limitado por el servidor Odoo; sin costo por llamada
Tokens por llamada
Las respuestas de campo inteligente mantienen respuestas bajo 1k tokens por registro
Monetario
Gratuito; necesitas una instancia de Odoo (comunitaria o empresarial)
Consejo
Siempre pasa fields= explícito en modelos grandes como product.template para evitar obtener 200 campos.

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: API key o usuario con derechos de lectura en los modelos que consultas
Almacenamiento de credenciales: ODOO_API_KEY en variable de entorno; nunca comitas al repositorio
Salida de datos: Llamadas solo a tu instancia de Odoo
No conceder nunca: ODOO_YOLO=true en producción

Resolución de problemas

Errores comunes y soluciones

Acceso denegado en modelo

El usuario de API key no tiene derechos de acceso para ese modelo. Otorga o cambia de usuario.

Verificar: Odoo: Configuración > Usuarios > Derechos de Acceso
Base de datos no encontrada

Establece ODOO_DB explícitamente; la detección automática falla cuando el listado de bd está deshabilitado.

Verificar: curl -d '{"jsonrpc":"2.0","method":"call","params":{"service":"db","method":"list"}}' $ODOO_URL/jsonrpc
Módulo MCP Odoo no instalado

En modo estándar, instala el módulo comunitario mcp_odoo, o cambia a modo ODOO_YOLO=read.

Verificar: Odoo: Aplicaciones > busca mcp_odoo

Alternativas

mcp-server-odoo vs otros

AlternativaCuándo usarlaContrapartida
XML-RPC directo vía fetch MCPSolo necesitas una consulta específicaSin selección inteligente de campos; requiere mucho código repetitivo
postgres MCP en la BD de OdooQuieres SQL sin procesar y puedes conectar al Postgres subyacenteEvita las ACL de Odoo — peligroso sin cuidado

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills