Skip to main content
Glama
JayLeo44

odoo-mcp-server

by JayLeo44

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ODOO_DBYesName of the Odoo database (case-sensitive)
ODOO_URLYesURL of your Odoo instance, e.g. https://tuinstancia.odoo.com
ODOO_API_KEYNoAPI key generated in Odoo (recommended authentication method). If both ODOO_API_KEY and ODOO_PASSWORD are set, ODOO_API_KEY takes priority.
ODOO_PASSWORDNoOdoo password (alternative authentication method if API key not available)
ODOO_USERNAMEYesOdoo username (usually email)
ODOO_VERIFY_SSLNoSet to "false" to disable SSL verification for self-signed certificates on local/dev instances. Do not disable in production.true

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
odoo_pingA

Verifica conectividad con la instancia Odoo configurada y devuelve su versión.

odoo_crm_list_leadsA

Lista leads/oportunidades de CRM (crm.lead) en Odoo.

Args: stage: filtra por nombre de etapa (ej. "New", "Won"). salesperson: filtra por nombre del vendedor asignado. only_opportunities: si True, solo trae oportunidades (type='opportunity'), excluyendo leads sin calificar. limit: máximo de registros a devolver (default 20).

odoo_crm_create_leadA

Crea un nuevo lead u oportunidad en el CRM de Odoo.

Args: name: título/asunto del lead (requerido). partner_name: nombre de la empresa/contacto. email_from: email de contacto. phone: teléfono de contacto. expected_revenue: ingreso esperado, si aplica. type_: "lead" o "opportunity" (default "lead").

odoo_crm_update_leadA

Actualiza campos de un lead/oportunidad existente.

Args: lead_id: ID del registro crm.lead a modificar. values: diccionario de campo->valor a actualizar (ej. {"probability": 80, "expected_revenue": 5000}).

odoo_sales_list_ordersA

Lista cotizaciones y pedidos de venta (sale.order).

Args: customer: filtra por nombre de cliente (partner). state: filtra por estado ('draft', 'sent', 'sale', 'done', 'cancel'). limit: máximo de registros a devolver (default 20).

odoo_sales_create_orderA

Crea una cotización/pedido de venta (sale.order) con sus líneas.

Args: customer_id: ID del partner (res.partner) cliente. order_lines: lista de líneas, cada una como {"product_id": , "product_uom_qty": }.

odoo_project_list_projectsA

Lista proyectos (project.project) en Odoo.

Args: name: filtra por nombre del proyecto (búsqueda parcial). limit: máximo de registros a devolver (default 20).

odoo_project_list_tasksA

Lista tareas (project.task) de Odoo, opcionalmente filtradas.

Args: project_id: ID exacto del proyecto. project_name: nombre del proyecto (búsqueda parcial), alternativa a project_id. assignee: nombre del responsable asignado. stage: nombre de la etapa/columna kanban (ej. "In Progress", "Done"). limit: máximo de registros a devolver (default 30).

odoo_project_create_taskA

Crea una tarea (project.task) dentro de un proyecto Odoo.

Útil para que una tarea programada de Cowork registre trabajo pendiente directamente en Odoo.

Args: name: título de la tarea (requerido). project_id: ID del proyecto donde se crea. description: descripción/detalle de la tarea. assignee_id: ID del usuario (res.users) responsable. deadline: fecha límite en formato YYYY-MM-DD. priority: "0" (normal) o "1" (alta/estrella), default "0".

odoo_project_update_taskA

Actualiza campos de una tarea existente (ej. cambiar de etapa/estado).

Args: task_id: ID de la tarea (project.task) a modificar. values: diccionario de campo->valor a actualizar (ej. {"stage_id": 3} para mover de columna kanban).

odoo_inventory_list_productsA

Lista productos y su disponibilidad en stock (product.product).

Args: name: filtra por nombre o referencia interna (búsqueda parcial). only_low_stock: si True, solo trae productos con qty_available <= 0. limit: máximo de registros a devolver (default 20).

odoo_purchase_list_ordersA

Lista órdenes de compra (purchase.order).

Args: supplier: filtra por nombre del proveedor. state: filtra por estado ('draft', 'sent', 'purchase', 'done', 'cancel'). limit: máximo de registros a devolver (default 20).

odoo_purchase_create_orderA

Crea una orden de compra (purchase.order) con sus líneas.

Args: supplier_id: ID del partner (res.partner) proveedor. order_lines: lista de líneas, cada una como {"product_id": , "product_qty": , "price_unit": }.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct domain-resource-action combination (e.g., CRM leads, sales orders, project tasks, purchase orders), so there is no meaningful overlap. Even similar list tools are clearly separated by domain prefixes like sales vs purchase.

Naming Consistency5/5

Tool names follow a highly consistent pattern: odoo_<domain>_<verb>_<resource> (e.g., odoo_crm_create_lead, odoo_project_update_task). The only exception, odoo_ping, is a standard health-check exception and does not detract from the overall consistency.

Tool Count5/5

With 13 tools covering CRM, sales, projects, inventory, and purchase, the surface is well-scoped for an Odoo integration. Each tool serves a clear purpose, and the count is neither bloated nor too thin.

Completeness4/5

Core read and create workflows are well represented across major modules, including lead management, task management, and order creation. However, there are notable gaps such as no update or delete for sales/purchase order and no project creation, which slightly limit full lifecycle coverage.

Maintenance

ActivityMaintained
ResponsivenessNo issues