loading…
Search for a command to run...
loading…
MCP server for managing Odoo ERP tasks, timesheets, and wiki pages via JSON-RPC protocol. Supports restricted and full trust modes for secure AI assistant acces
MCP server for managing Odoo ERP tasks, timesheets, and wiki pages via JSON-RPC protocol. Supports restricted and full trust modes for secure AI assistant access.
CI Python 3.12+ MCP Odoo 17 License: MIT Code style: ruff Security: detect-secrets Conventional Commits
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) пока не поддерживаются.
pip install mcp-odoo-jsonrpc
mcp-odoo-cli login --url https://odoo.example.com
Откроется браузер — войдите в Odoo. Сессия сохранится автоматически в системное хранилище (Windows Credential Manager / macOS Keychain / GNOME Keyring).
mcp-odoo-cli
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "mcp_odoo_jsonrpc"]
}
}
}
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"
}
}
}
}
| Инструмент | Описание |
|---|---|
list_tasks |
Получение списка задач пользователя |
get_task |
Детали задачи с обсуждениями и вложениями |
create_task |
Создание новой задачи в проекте |
update_task |
Обновление задачи (название, описание и пр.) |
change_task_stage |
Смена стадии/статуса задачи |
log_timesheet |
Списание трудозатрат по задаче |
get_timesheets |
Получение трудозатрат по задаче |
| Инструмент | Описание |
|---|---|
list_wiki_pages |
Список wiki-страниц и категорий |
get_wiki_page |
Содержимое страницы (с фильтром секретов) |
create_wiki_page |
Создание wiki-страницы в категории |
search_wiki |
Поиск страниц по названию |
MCP-сервер работает в restricted mode по умолчанию — AI видит только структурные данные без корпоративного контента:
| Режим | Что видит AI | Активация |
|---|---|---|
restricted |
ID, стадия, часы, дедлайн. Без названий и текста | По умолчанию |
full |
Все данные: названия, описания, сообщения | ODOO_TRUST_MODE=full |
Дополнительные меры:
ODOO_ALLOWED_PROJECTS=99,101 — ограничить видимые проектыsession_id хранится в системном keyring, не в plaintextПодробнее: SECURITY.md | ADR-005: Модель безопасности
mcp-odoo-cli login --url https://odoo.example.com
| Переменная | Обязательная | Описание |
|---|---|---|
ODOO_BASE_URL |
Да | Базовый URL инстанса Odoo |
ODOO_SESSION_ID |
Да | Значение cookie session_id |
ODOO_UID |
Да | ID пользователя в Odoo |
ODOO_EMPLOYEE_ID |
Нет | ID сотрудника (по умолчанию = UID) |
ODOO_COMPANY_IDS |
Да | ID компаний (через запятую) |
ODOO_TRUST_MODE |
Нет | restricted (по умолчанию) или full |
ODOO_ALLOWED_PROJECTS |
Нет | Фильтр проектов (ID через запятую) |
ODOO_LANG |
Нет | Язык (по умолчанию: ru_RU) |
ODOO_TZ |
Нет | Часовой пояс (по умолчанию: Europe/Moscow) |
См. .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 | mcp v1.12+ |
| HTTP | httpx |
| Модели | pydantic v2 |
| TUI | rich |
| Credentials | keyring |
| Browser auth | playwright (dev) |
| Lint | ruff |
| CI | GitHub Actions |
| Odoo | 17 |
| Документ | Описание |
|---|---|
| Context Map | Архитектура и DDD-паттерны |
| Domain Model | 14 доменных объектов |
| JSON-RPC Reference | 9 задокументированных эндпоинтов |
| ADR | 9 архитектурных решений |
| CONTRIBUTING | Как внести вклад |
| SECURITY | Политика безопасности |
Выполни в терминале:
claude mcp add mcp-odoo-jsonrpc -- npx Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolProvides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzНе уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai