odoo-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ODOO_DB | Yes | Name of the Odoo database (case-sensitive) | |
| ODOO_URL | Yes | URL of your Odoo instance, e.g. https://tuinstancia.odoo.com | |
| ODOO_API_KEY | No | API key generated in Odoo (recommended authentication method). If both ODOO_API_KEY and ODOO_PASSWORD are set, ODOO_API_KEY takes priority. | |
| ODOO_PASSWORD | No | Odoo password (alternative authentication method if API key not available) | |
| ODOO_USERNAME | Yes | Odoo username (usually email) | |
| ODOO_VERIFY_SSL | No | Set 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JayLeo44/connector-odoo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server