Skip to main content
Glama

Odoo MCP server for OpenCode

Este workspace incluye un servidor stdio MCP local (odoo_mcp) que expone las tareas, el chatter y los partes de horas de tu proyecto Odoo autoalojado como nueve herramientas tipadas que un agente puede invocar directamente. El mismo repositorio contiene el CLI original odoo_tasks.py, sin cambios de comportamiento, que comparte la capa de servicio con el servidor MCP.

Requisitos previos

  • Python 3.10+ (el workspace se ha desarrollado contra 3.12)

  • uv en el PATH (pip install uv si no está)

Instala todo de una vez:

uv sync

Related MCP server: MCP Server for Odoo

Credenciales (variables de entorno)

Variable

Propósito

Valor predeterminado

ODOO_URL

URL de tu instancia de Odoo

https://odoo.geosigmoid.group

ODOO_DB

Nombre de la base de datos

odoo

ODOO_USERNAME

Tu correo de inicio de sesión

requerido

ODOO_PASSWORD

Contraseña o clave API externa

requerido

ODOO_URL debe ser una URL absoluta HTTPS para que las credenciales nunca se envíen por HTTP en claro.

Se recomienda encarecidamente usar una clave API en lugar de una contraseña (Odoo: Preferencias → Seguridad de la cuenta → Nueva clave API): es revocable y no se puede usar para el inicio de sesión web. Copia .env.example a .env, complétalo y cárgalo en tu shell, o define las variables como mejor gestiones los secretos. Tanto el servidor MCP como la ayuda CLI cargan automáticamente el .env de la raíz del workspace si existe; las variables de entorno ya establecidas por OpenCode o por el shell tienen prioridad. Haz nunca un commit del .env.

Advertencia de interpolación: opencode.json usa placeholders {env:VAR}. Si falta una variable cuando OpenCode arranca, se convierte en una cadena vacía y toda llamada de herramienta fallará con un error claro que nombra la variable o variables que faltan (Missing required environment variables: ODOO_USERNAME, ...) en lugar de enviar credenciales incorrectas a algún sitio. Los valores nunca se muestran en los logs ni en los resultados.

Registro con OpenCode

opencode.json de este workspace ya contiene:

{
  "mcp": {
    "odoo": {
      "type": "local",
      "command": ["uv", "run", "python", "-m", "odoo_mcp"],
      "environment": { "...": "{env:ODOO_*} placeholders" },
      "enabled": true
    }
  }
}

OpenCode carga la configuración al arrancar; después de cambiar las credenciales o este archivo, sal y reinicia OpenCode para que los cambios tengan efecto. El servidor se lanza una vez por sesión y escucha en ningún puerto de red.

Herramientas

Las herramientas de mutación se ejecutan inmediatamente por defecto; todas aceptan un flag dry_run=true que devuelve una vista previa sin escribir nada.

Tool

Qué hace

list_my_tasks

Tareas asignadas a ti; filtra por proyecto, etapa, estado y fechas límite

get_task

Detalle completo de una tarea (incluye horas previstas/registradas)

update_task

Establece nombre/descripción/prioridad/fecha límite/horas/estado/etapa; append_description combina el texto en la descripción existente

post_task_message

Publica un mensaje en el chatter de una tarea (los seguidores reciben aviso)

get_task_states

Códigos de estado de flujo de trabajo válidos en el servidor y cuáles son terminales

list_stages

IDs/nombres de las etapas de las tareas para filtrar

list_timesheets

Tus registros de horas; filtra por tarea o por días recientes

create_timesheet

Registra horas en una tarea (la fecha por defecto es hoy)

update_timesheet

Cambia horas/fecha/descripción de la entrada

Los códigos de estado varían de un Odoo a otro — llama primero a get_task_states en lugar de adivinar; los estados no válidos se rechazan con la lista de los válidos.

Verificar la instalación

uv sync                                              # deps resolve
uv run pytest tests -q                               # protocol + service suites
uv run python -m unittest discover -s tests -v       # CLI characterization suite
uv run python odoo_tasks.py --help                   # legacy CLI still intact

El propio handshake de stdio está cubierto por tests/test_stdio_smoke.csé.

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with Odoo ERP systems through natural language, allowing users to search, create, update, and manage business records like customers, products, and invoices across any Odoo instance.
    1
    Mozilla Public 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to interact with Odoo ERP as the authenticated user, with tools for discovery, planning, and mutations bounded by user permissions.
    34
    37
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables ChatGPT to interact with Odoo by providing tools for repository management, git operations, Odoo.sh management, Odoo RPC, browser screenshots, and approval workflows.

View all related MCP servers

Related MCP Connectors

  • Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

View all MCP Connectors

Latest Blog Posts

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/hazem-gs/odoo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server