Skip to main content
Glama
daitianjun

Odoo MCP Skeleton

by daitianjun

Odoo MCP Skeleton

This is a Python skeleton for an Odoo MCP server built with fastmcp.

It includes:

  • FastMCP tool registration

  • FastAPI HTTP service

  • secret-key header authentication for /mcp

  • Odoo JSON-RPC client wrapper

  • Example read-only tools

Quick Start With uv

  1. Install uv.

  2. Enter the project directory.

  3. Sync dependencies:

uv sync
  1. Copy environment variables:

copy .env.example .env
  1. Fill in:

  • MCP_SECRET_KEY

  • ODOO_BASE_URL

  • ODOO_DB

  • ODOO_USERNAME

  • ODOO_PASSWORD

  1. Start the server:

uv run uvicorn odoo_mcp.main:app --host 127.0.0.1 --port 8080

On Windows PowerShell, you can also use:

.\run.ps1

Related MCP server: Odoo MCP Server

Authentication

Clients must send this header when connecting to the MCP endpoint:

secret-key: your-secret-value

Suggested MCP Endpoint

http://127.0.0.1:8080/mcp

Troubleshooting Logs

If you see this pattern:

GET /mcp HTTP/1.1 307 Temporary Redirect
GET /mcp/ HTTP/1.1 404 Not Found

it usually means the outer FastAPI app and the inner FastMCP app both added an /mcp path. This project mounts FastMCP at /mcp and configures the inner FastMCP HTTP app with path="/", so the final endpoint stays:

http://127.0.0.1:8080/mcp

If you see requests to these paths:

/.well-known/oauth-protected-resource
/.well-known/oauth-authorization-server
/.well-known/openid-configuration

those are MCP client OAuth discovery probes. They can return 404 when you use simple secret-key header authentication instead of OAuth.

Common uv Commands

uv sync
uv run uvicorn odoo_mcp.main:app --host 127.0.0.1 --port 8080
uv run python -c "import odoo_mcp; print('ok')"

Notes About fastmcp Versions

FastMCP has changed quickly across versions. This skeleton isolates the MCP-to-ASGI mounting logic in src/odoo_mcp/server.py. If your installed version exposes a different HTTP adapter, update only that file.

Example Tools

  • odoo_healthcheck

  • search_customers

  • get_customer_detail

  • list_sale_orders

F
license - not found
-
quality - not tested
C
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.

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/daitianjun/odoo-mcp-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server