Odoo MCP Skeleton
A Python-based MCP server for interacting with Odoo ERP, offering example tools such as health checks, customer search, customer details, and listing sale orders.
README
Odoo MCP Skeleton
This is a Python skeleton for an Odoo MCP server built with fastmcp.
It includes:
FastMCPtool registrationFastAPIHTTP servicesecret-keyheader authentication for/mcp- Odoo JSON-RPC client wrapper
- Example read-only tools
Quick Start With uv
- Install
uv. - Enter the project directory.
- Sync dependencies:
uv sync
- Copy environment variables:
copy .env.example .env
- Fill in:
MCP_SECRET_KEYODOO_BASE_URLODOO_DBODOO_USERNAMEODOO_PASSWORD
- 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
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_healthchecksearch_customersget_customer_detaillist_sale_orders
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.