Skip to main content
Glama

Odoo MCP server для OpenCode

В этом рабочем пространстве есть локальный stdio MCP-сервер (odoo_mcp), который открывает задачи вашего размещённого у себя Odoo, ленту обсуждений (chatter) и таймшиты как девять типизированных инструментов, к которым агент может обращаться напрямую. В этом же репозитории по-прежнему находится оригинальный CLI odoo_tasks.py — без изменений в поведении — который использует общий сервисный слой с MCP-сервером.

Предварительные требования

  • Python 3.10+ (рабочее пространство разрабатывалось под 3.12)

  • uv в PATH (pip install uv, если отсутствует)

Установите всё один раз:

uv sync

Related MCP server: MCP Server for Odoo

Учётные данные (переменные окружения)

Переменная

Назначение

По умолчанию

ODOO_URL

Базовый URL вашего Odoo

https://odoo.geosigmoid.group

ODOO_DB

Имя базы данных

odoo

ODOO_USERNAME

Ваш email для входа

обязательно

ODOO_PASSWORD

Пароль или внешний API-ключ

обязательно

ODOO_URL должен быть абсолютным HTTPS-URL, чтобы учётные данные никогда не передавались по незашифрованному HTTP.

Настоятельно рекомендуется использовать API-ключ, а не пароль (Odoo: Preferences → Account Security → New API Key): его можно отозвать, и он не подходит для входа в веб-интерфейс. Скопируйте .env.example в .env, заполните его и загрузите в свою оболочку — либо задайте переменные так, как вы обычно управляете секретами. И MCP-сервер, и CLI-помощник автоматически загружают .env из корня рабочего пространства, если он есть; переменные окружения, уже заданные OpenCode или оболочкой, имеют приоритет. Никогда не коммитьте .env.

Оговорка об интерполяции: opencode.json использует плейсхолдеры {env:VAR}. Если при запуске OpenCode какой-то переменной не хватает, она становится пустой строкой, и каждый вызов инструмента завершится с понятной ошибкой, в которой названы недостающие переменные (Missing required environment variables: ODOO_USERNAME, ...), а не с отправкой некорректных учётных данных куда-либо. Значения никогда не выводятся в логи или результаты.

Регистрация в OpenCode

opencode.json в этом рабочем пространстве уже содержит:

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

OpenCode загружает конфигурацию при запуске — после изменения учётных данных или этого файла закройте и перезапустите OpenCode, чтобы они вступили в силу. Сервер запускается один раз за сессию через stdio; никакой сетевой порт не прослушивается.

Инструменты

Инструменты, изменяющие данные, по умолчанию выполняются сразу; каждый из них принимает флаг dry_run=true, который возвращает предпросмотр без записи чего-либо.

Инструмент

Что делает

list_my_tasks

Задачи, назначенные вам; фильтр по проекту, этапу, статусу и срокам

get_task

Полная информация об одной задаче (включая запланированные и фактически затраченные часы)

update_task

Устанавливает имя/описание/приоритет/срок/часы/статус/этап; append_description добавляет текст к существующему описанию

post_task_message

Публикует сообщение в ленте обсуждений (chatter) задачи (подписчики получают уведомления)

get_task_states

Допустимые коды состояний рабочего процесса на этом сервере, а также какие из них являются конечными

list_stages

ID и названия этапов задач для фильтрации

list_timesheets

Ваши записи таймшитов; фильтр по задаче или за последние дни

create_timesheet

Записать часы на задачу (дата по умолчанию — сегодня)

update_timesheet

Изменить часы/дату/описание/задачу записи

Коды состояний различаются в зависимости от сборки Odoo — сначала вызовите get_task_states, а не угадывайте; недопустимые состояния отклоняются вместе со списком допустимых.

Проверка установки

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

Само рукопожатие канала stdio покрыто тестом tests/test_stdio_smoke.py.

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