Rosen Vladimirov.
OCA l10n-bulgaria maintainer. 10+ years specializing in Odoo implementations for Bulgarian businesses. Executing company Terraros Commerce Ltd.
Single-purpose MCP wrappers don't scale. This one is built for real production: token-based auth across all endpoints, one identity / all servers, per-user profile isolation, and multi-tenant switching between dozens of Odoo databases on the fly.
Nine specialized servers behind one authenticated gateway. Unified identity, multi-tenant by design, vector-store native. Deploy on bare metal, Docker Compose, or K3s — scale without re-authenticating.
Token-based auth across all MCP endpoints. One identity, all servers, with per-user profile isolation persisted at the gateway.
One stack, dozens of Odoo databases. Switch connections on the fly. Each user sees only their own data, always.
Public HTTPS endpoint with Bearer token auth. Register as a Custom Connector in Team or Enterprise — done in minutes.
Kustomize overlays for dev and prod. Docker Compose for solo developers. Pick your scale and upgrade when ready.
xterm.js + tmux + Claude Code in the browser. Themable UI (Catppuccin, Dracula, Tokyo Night+), persistent sessions, auth-integrated WebSocket.
Qdrant integration for semantic search across Odoo records. Ollama (nomic-embed-text) default for local LLM inference.
Live demonstrations on YouTube — Claude Code driving a production Odoo instance through the MCP gateway. No scripts, no cuts, no narration tricks. Real queries, real data, real results.
FEATURED DEMO
Natural language query → Claude plans tool calls → odoo-rpc-mcp executes → results synthesized back as answer. The kind of workflow that used to take a developer an hour.
Subscribe to channel →Claude connects to a unified gateway. The gateway proxies to specialized MCP servers. Each server is a Docker container with its own scope, tools, and authentication.
The active Odoo connection belongs to the MCP session, not to the process. Two connected Claudes never overwrite each other’s connection — odoo_connect, identify and connection activation each write into their own slot.
Enrolments live next to the principal’s own data, like Telegram subscriptions. A principal without a file imports the old global one once on first read; writes never go back to it.
Header debug logging off by default and redacted when on. /api/user/connections requires ownership proof and returns no keys. The OAuth flow never hands out the master token. Plus Telegram file transfer, confined to the download root.
Enrol from the Security page: password re-challenge → QR → confirming code → eight recovery codes. Every path that issues a session goes through one door, so an unscanned QR cannot lock anyone out. Preceded by 3.3.6, which put PKCE S256 and an authenticated /metrics on the OAuth surface.
The project ships on two branches with different audiences and release cadences. Pick the one matching your role.
Odoo 19 end-users, accountants, Bulgarian SMEs, developers working with a single Odoo stack, content teams managing website and blog content. Every series back to 15 is supported.
Odoo implementation partners, OCA community contributors, SaaS MSPs running multiple client instances, integrator agencies deploying AI workflows.
The MCP stack pairs with two Odoo modules that turn any instance into a fully MCP-aware, multi-tenant, billing-ready AI workstation.
Exposes MCP + Claude Terminal configuration as user preferences and company settings. Works on Odoo 16, 18 and 19 — each major series on a dedicated branch.
Enterprise billing module for hosting providers and tier management. Tracks per-user MCP usage, calculates bills, provisions Portainer stacks per tenant.
Native Odoo RPC tools come from odoo-rpc-mcp. Proxied infrastructure tools are exposed through the unified gateway from portainer-mcp, github-mcp, oca-mcp, ee-mcp, filesystem-mcp. All authenticated via the same Bearer token.
Natural language queries, bulk imports, workflow automation (action_post, action_confirm).
"Which fields are translate?" "Where is this module installed?"
Translate blog posts, product descriptions, website pages. 3 modes + auto-ZWSP fix.
Swap banner backgrounds, insert CTAs, mutate blog/page HTML via xpath + CSS-property substitutions.
Cookie-based HTTP. Works through Cloudflare — no XML-RPC endpoints needed.
Binary pipeline including vision-based invoice OCR.
PDF invoices, XLSX exports, HTML dashboards — all headless.
Headless customer portal — orders, invoices, tickets, shop.
Fiscal position tax action maps for НАП: protocols Art. 117, customs declarations, private usage.
Qdrant vector embeddings per record. Ollama (nomic-embed-text) default. Semantic search.
Three scopes: per-user, shared team, licensed memory packs. Merged on session start.
Multi-tenant aliases, TOFU cert pinning for self-signed, per-user profile isolation.
Gmail · Calendar · Drive over OAuth. Email triage, scheduling, Drive file lookup — all from Claude.
Full MTProto client — user-account, not bot-API. Send / read / DM / groups / channels.
Remote command execution with SSH agent forwarding; git metadata and GitHub API escape hatch.
Clone and maintain the whole OCA constellation; EE module selection + conflict detection.
Provision per-tenant MCP stacks, scale k8s, raw Docker API when needed.
Powered by the official ghcr.io/github/github-mcp-server. Full REST passthrough.
Sandboxed to /repos — safe AI agent filesystem operations.
# Clone & configure $ git clone https://github.com/ rosenvladimirov/odoo-claude-mcp.git $ cd odoo-claude-mcp $ cp .env.example .env $ nano .env # Start the stack $ docker compose up -d ✓ 8 services running
# Linux / macOS $ curl -fsSL raw.../install.sh | bash # Windows (PowerShell admin) > iwr -useb raw.../install.ps1 | iex ✓ Docker containers pulled ✓ Env configured interactively ✓ Stack up on localhost:8084
# Kustomize overlays in k3s/ $ cd k3s/overlays/prod $ cp .env.example .env $ cp ../../base/secrets.example.yaml secrets.yaml # Edit secrets, then deploy $ kubectl apply -k . ✓ Deployed with cert-manager ✓ Ingress + TLS ready
Maintained by the OCA l10n-bulgaria maintainer. Bulgarian-specific features are not an afterthought — they're native. The only Odoo partner in CEE with direct НАП reporting integration.
OCA l10n-bulgaria maintainer. 10+ years specializing in Odoo implementations for Bulgarian businesses. Executing company Terraros Commerce Ltd.