odoo_mcp
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 syncRelated MCP server: MCP Server for Odoo
Учётные данные (переменные окружения)
Переменная | Назначение | По умолчанию |
| Базовый URL вашего Odoo |
|
| Имя базы данных |
|
| Ваш email для входа | обязательно |
| Пароль или внешний 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, который возвращает предпросмотр без записи чего-либо.
Инструмент | Что делает |
| Задачи, назначенные вам; фильтр по проекту, этапу, статусу и срокам |
| Полная информация об одной задаче (включая запланированные и фактически затраченные часы) |
| Устанавливает имя/описание/приоритет/срок/часы/статус/этап; |
| Публикует сообщение в ленте обсуждений (chatter) задачи (подписчики получают уведомления) |
| Допустимые коды состояний рабочего процесса на этом сервере, а также какие из них являются конечными |
| ID и названия этапов задач для фильтрации |
| Ваши записи таймшитов; фильтр по задаче или за последние дни |
| Записать часы на задачу (дата по умолчанию — сегодня) |
| Изменить часы/дату/описание/задачу записи |
Коды состояний различаются в зависимости от сборки 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.
Maintenance
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
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Odoo ERP systems through natural language to search records, create entries, update data, and manage business operations. Supports secure authentication and configurable access controls for production environments.
- AlicenseNot gradedqualityCmaintenanceEnables 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.1Mozilla Public 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to interact with Odoo ERP as the authenticated user, with tools for discovery, planning, and mutations bounded by user permissions.34372MIT
- FlicenseNot gradedqualityBmaintenanceEnables ChatGPT to interact with Odoo by providing tools for repository management, git operations, Odoo.sh management, Odoo RPC, browser screenshots, and approval workflows.
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.
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/hazem-gs/odoo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server