peltierpro-mcp

peltierpro-mcp

OAuth-enabled read-only MCP server for Odoo 19 ERP that allows Claude to search and retrieve CRM opportunities, sales orders, products, and inventory data via the Odoo JSON-2 API.

Category
Visit Server

README

Claude–Odoo 19 OAuth Read-Only MCP Connector

OAuth-enabled version of the read-only Odoo 19 MCP connector.

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

Important architecture

The Python service is an OAuth Resource Server. It validates bearer tokens issued by an external OAuth/OIDC Authorization Server such as Microsoft Entra ID, Auth0, Okta, or another compatible identity provider.

The Odoo API key stays only on the Python connector server.

Odoo tools

  • test_odoo_connection
  • search_crm_opportunities
  • get_crm_opportunity
  • search_sales_orders
  • get_sales_order
  • search_products
  • get_stock_by_location
  • search_inventory_transfers

No Odoo create/update/delete/confirm/validate/cancel tools are included.

Install on Windows

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

First local test

Keep:

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

Run:

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

Then test http://127.0.0.1:8000/mcp with MCP Inspector.

OAuth configuration

Register an API/resource and OAuth client with the client's identity provider. The provider must issue JWT access tokens containing:

  • iss matching AUTH_ISSUER_URL
  • aud matching AUTH_AUDIENCE
  • exp
  • required scope, default odoo.read

Then configure:

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

Restart:

python -m app.server

The MCP SDK will publish protected-resource metadata used by Claude for OAuth discovery. The Authorization Server itself remains external.

Claude

Add:

https://YOUR_PUBLIC_HOST/mcp

If the identity provider does not support dynamic client registration, add the OAuth Client ID and Client Secret in Claude connector Advanced settings.

Each authorized Claude user then clicks Connect and signs in through the configured identity provider.

Dev Tunnel

A public VS Code Dev Tunnel can be used temporarily for staging. If its URL changes, update AUTH_RESOURCE_SERVER_URL and usually AUTH_AUDIENCE as well.

Do not leave AUTH_ENABLED=false on a publicly accessible persistent MCP deployment.

peltierpro-mcp

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured