MCP Directory

How to add Odoo Claude MCP to Windsurf

Self-hosted MCP gateway connecting Claude to Odoo ERP (15→19) — 197+ tools, multi-tenant, Bulgaria l10n. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 32 · http · apikey

Windsurf config for Odoo Claude MCP

claude mcp add odoo-mcp --url https://your-domain.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
{
  "mcpServers": {
    "odoo-claude-mcp": {
      "serverUrl": "https://your-domain.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

Remote server — no local install needed. Restart the client after saving the config.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Odoo Claude MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Odoo Claude MCP's tools become available to Cascade.

Before you start

  • A reachable self-hosted Odoo instance (15 → 19, Community or Enterprise) with URL, DB, username, and API key/password
  • Docker + Docker Compose (or a K3s/Kubernetes cluster with kubectl + Kustomize for production)
  • A public HTTPS endpoint / reverse proxy (Nginx, Traefik, Caddy, or Cloudflare Tunnel) to expose the gateway for Claude.ai connector use
  • A generated per-user Bearer token for MCP authentication
  • Optional: Qdrant (vector store), Ollama (local LLMs), and service-specific env vars for Portainer/Teams

What Odoo Claude MCP can do in Windsurf

odoo_search_read

Search and read Odoo records (combined search + read) on any model.

odoo_create

Create new Odoo records.

odoo_write

Update existing Odoo records.

odoo_unlink

Delete Odoo records.

odoo_execute

Call arbitrary Odoo model methods via RPC.

odoo_fields_get

Introspect a model's field definitions.

odoo_list_models

List available Odoo models.

odoo_module_info

Get information about an installed Odoo module.

Security

Self-hosted: you deploy the gateway (Docker Compose or K3s) behind your own HTTPS reverse proxy. Authentication is a per-user Bearer token generated by the stack; the gateway enforces per-user profile isolation, connection-level access control, and per-user audit logging. No credentials in code — all secrets via env vars or Kubernetes secrets. BYOK Anthropic keys are stored encrypted per-user and never shared across tenants. Report security issues privately to vladimirov.rosen@gmail.com.

Odoo Claude MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Odoo Claude MCP config there under the "mcpServers" key and restart the client.

Is Odoo Claude MCP safe to use with Windsurf?

Self-hosted: you deploy the gateway (Docker Compose or K3s) behind your own HTTPS reverse proxy. Authentication is a per-user Bearer token generated by the stack; the gateway enforces per-user profile isolation, connection-level access control, and per-user audit logging. No credentials in code — all secrets via env vars or Kubernetes secrets. BYOK Anthropic keys are stored encrypted per-user and never shared across tenants. Report security issues privately to vladimirov.rosen@gmail.com.

Does it work with Odoo Enterprise?

Yes. Odoo 15→19 (Community + Enterprise) are supported via XML-RPC + JSON-RPC. EE-specific tools (license check, EE module discovery, dependency analysis) live in the dedicated ee-mcp server. Works on any self-hosted Odoo (bare metal, Docker, K3s).

Can one stack serve multiple Odoo databases?

Yes — that's the core design. One MCP gateway proxies to N Odoo connections, each with its own credentials/language/timezone; odoo_connect / user_connection_activate switch the active database mid-session, and per-user memory namespaces keep context isolated.

Does it require Cloudflare?

No. Cloudflare (Tunnel + WAF + AI Gateway) is the recommended production topology, but the stack runs behind any reverse proxy (Nginx, Traefik, Caddy) or on a LAN/VPN. A docker-compose.local.yml override removes the Cloudflare network requirement for local dev.

View repo Full Odoo Claude MCP page