mcp-odoo-jsonrpc
Provides tools for managing tasks and timesheets in Odoo ERP via JSON-RPC, including listing, creating, updating tasks, changing task stages, and logging timesheets.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-odoo-jsonrpclist my tasks due this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Odoo JSON-RPC
MCP-сервер и CLI для управления задачами и трудозатратами в Odoo ERP через JSON-RPC протокол.
Что это?
Odoo не предоставляет публичного REST/GraphQL API. Этот инструмент использует внутренний JSON-RPC протокол веб-клиента Odoo 17 и предоставляет два способа доступа:
mcp-odoo-server— MCP-сервер для Claude Code и других AI-ассистентовmcp-odoo-cli— интерактивный терминальный клиент для человека
Scope: проектные задачи + трудозатраты (timesheets). Другие модули Odoo (CRM, Sales, Inventory) пока не поддерживаются.
Related MCP server: odoo-mcp
Быстрый старт
Установка
pip install mcp-odoo-jsonrpcАвторизация
mcp-odoo-cli login --url https://odoo.example.comОткроется браузер — войдите в Odoo. Сессия сохранится автоматически в системное хранилище (Windows Credential Manager / macOS Keychain / GNOME Keyring).
CLI
mcp-odoo-cliMCP-сервер (для Claude Code)
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "mcp_odoo_jsonrpc"]
}
}
}Docker
docker build -t mcp-odoo .{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ODOO_BASE_URL",
"-e", "ODOO_SESSION_ID",
"-e", "ODOO_UID",
"-e", "ODOO_COMPANY_IDS",
"-e", "ODOO_TRUST_MODE",
"mcp-odoo"
],
"env": {
"ODOO_BASE_URL": "https://odoo.example.com",
"ODOO_SESSION_ID": "your_session_id",
"ODOO_UID": "1",
"ODOO_COMPANY_IDS": "1",
"ODOO_TRUST_MODE": "restricted"
}
}
}
}Возможности
Задачи и трудозатраты
Инструмент | Описание |
| Получение списка задач пользователя |
| Детали задачи с обсуждениями и вложениями |
| Создание новой задачи в проекте |
| Обновление задачи (название, описание и пр.) |
| Смена стадии/статуса задачи |
| Списание трудозатрат по задаче |
| Получение трудозатрат по задаче |
Wiki (document.page)
Инструмент | Описание |
| Список wiki-страниц и категорий |
| Содержимое страницы (с фильтром секретов) |
| Создание wiki-страницы в категории |
| Поиск страниц по названию |
Безопасность
MCP-сервер работает в restricted mode по умолчанию — AI видит только структурные данные без корпоративного контента:
Режим | Что видит AI | Активация |
| ID, стадия, часы, дедлайн. Без названий и текста | По умолчанию |
| Все данные: названия, описания, сообщения |
|
Дополнительные меры:
Фильтр проектов:
ODOO_ALLOWED_PROJECTS=99,101— ограничить видимые проектыWiki: фильтр секретов: страницы с паролями, ключами и токенами цензурируются автоматически даже в full mode (ADR-009)
Secure credentials:
session_idхранится в системном keyring, не в plaintextdetect-secrets: pre-commit hook предотвращает случайный коммит секретов
CLI: всегда работает в full mode (пользователь смотрит в свой терминал)
Подробнее: SECURITY.md | ADR-005: Модель безопасности
Конфигурация
Через CLI (рекомендуется)
mcp-odoo-cli login --url https://odoo.example.comЧерез переменные окружения
Переменная | Обязательная | Описание |
| Да | Базовый URL инстанса Odoo |
| Да | Значение cookie |
| Да | ID пользователя в Odoo |
| Нет | ID сотрудника (по умолчанию = UID) |
| Да | ID компаний (через запятую) |
| Нет |
|
| Нет | Фильтр проектов (ID через запятую) |
| Нет | Язык (по умолчанию: |
| Нет | Часовой пояс (по умолчанию: |
См. .env.example
Архитектура
Odoo ERP (JSON-RPC)
↑
Anti-Corruption Layer
├── Transport (httpx + session_id cookie)
├── Protocol (JSON-RPC envelope, specifications)
└── Mapper (Odoo records ↔ Domain objects)
↑
Service Layer (OdooTaskService)
├── MCP Server (строки для AI)
└── CLI (rich таблицы для человека)DDD-паттерн: Conformist + Anti-Corruption Layer. Подробнее: Context Map | Domain Model
Технологический стек
Компонент | Технология |
Язык | Python 3.12+ |
MCP SDK |
|
HTTP |
|
Модели |
|
TUI |
|
Credentials |
|
Browser auth |
|
Lint |
|
CI | GitHub Actions |
Odoo | 17 |
Документация
Документ | Описание |
Архитектура и DDD-паттерны | |
14 доменных объектов | |
9 задокументированных эндпоинтов | |
9 архитектурных решений | |
Как внести вклад | |
Политика безопасности |
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseBqualityAmaintenanceAn MCP server implementation that integrates with Odoo ERP systems, enabling AI assistants to interact with Odoo data and functionality through the Model Context Protocol.41604 PyPI408MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that connects AI assistants to Odoo ERP instances via the built-in XML-RPC API without requiring any additional addons. It enables users to search, create, update, and manage Odoo records and models through natural language.25 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn enterprise-grade MCP server for interacting with Odoo ERP through AI assistants, enabling guided workflows, native BI, and deep introspection.10MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that integrates AI agents with Odoo ERP, supporting CRUD operations, model discovery, and customization via natural language.3MIT