Skip to main content
Glama
aljon-zb

peltierpro-mcp

by aljon-zb

Claude–Odoo 19 OAuth Read-Only MCP Connector

OAuth-включенная версия коннектора MCP для Odoo 19 только для чтения.

Claude
  -> OAuth 2.1 access token
  -> Python MCP Resource Server
  -> Odoo JSON-2 API

Важная архитектура

Сервис Python является OAuth Resource Server. Он проверяет bearer токены, выпущенные внешним OAuth/OIDC Authorization Server, таким как Microsoft Entra ID, Auth0, Okta или другой совместимый провайдер идентификации.

Ключ API Odoo остается только на сервере коннектора Python.

Related MCP server: MCP Server for Odoo

Инструменты Odoo

  • test_odoo_connection

  • search_crm_opportunities

  • get_crm_opportunity

  • search_sales_orders

  • get_sales_order

  • search_products

  • get_stock_by_location

  • search_inventory_transfers

Никакие инструменты Odoo для создания/обновления/удаления/подтверждения/проверки/отмены не включены.

Установка на Windows

py -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env

Первый локальный тест

Сохраните:

AUTH_ENABLED=false
TRANSPORT=streamable-http
HOST=0.0.0.0
PORT=8000

Запустите:

python test_connection.py
python -m unittest discover -s tests
python -m app.server

Затем протестируйте http://127.0.0.1:8000/mcp с помощью MCP Inspector.

Конфигурация OAuth

Зарегистрируйте API/ресурс и OAuth-клиент у провайдера идентификации клиента. Провайдер должен выдавать JWT access токены, содержащие:

  • iss, совпадающий с AUTH_ISSUER_URL

  • aud, совпадающий с AUTH_AUDIENCE

  • exp

  • required scope, по умолчанию odoo.read

Затем настройте:

AUTH_ENABLED=true
AUTH_ISSUER_URL=https://auth.example.com
AUTH_RESOURCE_SERVER_URL=https://YOUR_PUBLIC_HOST/mcp
AUTH_JWKS_URL=https://auth.example.com/.well-known/jwks.json
AUTH_AUDIENCE=https://YOUR_PUBLIC_HOST/mcp
AUTH_REQUIRED_SCOPES=odoo.read
AUTH_ALGORITHMS=RS256

Перезапустите:

python -m app.server

MCP SDK будет публиковать метаданные защищенного ресурса, используемые Claude для обнаружения OAuth. Сам Authorization Server остается внешним.

Claude

Добавьте:

https://YOUR_PUBLIC_HOST/mcp

Если провайдер идентификации не поддерживает динамическую регистрацию клиента, добавьте OAuth Client ID и Client Secret в расширенные настройки коннектора Claude.

Затем каждый авторизованный пользователь Claude нажимает Connect и входит через настроенного провайдера идентификации.

Dev Tunnel

Публичный VS Code Dev Tunnel можно временно использовать для промежуточного тестирования. Если его URL изменится, обновите AUTH_RESOURCE_SERVER_URL и, как правило, также AUTH_AUDIENCE.

Не оставляйте AUTH_ENABLED=false на публично доступном постоянном развертывании MCP.

peltierpro-mcp

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    This read-only MCP Server allows you to connect to Odoo data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that enables AI assistants like Claude to interact with Odoo ERP systems through natural language, allowing users to search, create, update, and manage business data in their Odoo instance.
    1,543 PyPI
    397
    Mozilla Public 2.0
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables AI assistants to interact with Odoo ERP apps like Inventory, CRM, Sales, and Manufacturing. It allows users to read, create, and manage Odoo records and workflows using natural language commands.
    25
    13 npm
    1
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server that enables AI assistants to query Odoo instances via XML-RPC, supporting search, read, count, and field inspection without requiring custom modules.
    97 PyPI
    1
    Mozilla Public 2.0