mcp-multiclient-platform
Provides tools for interacting with a configured Odoo instance, enabling MCP clients to connect to Odoo ERP services with per-client credentials and settings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-multiclient-platformShow me the open invoices for ZenBiz"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ZenBiz Multi-Client Docker MCP Platform
A Dockerized, multi-client version of the existing Odoo MCP connector. The codebase is shared, while every client runs in an isolated MCP container with its own configuration and Odoo credentials.
Architecture
HOST OPERATING SYSTEM
clients/peltierpro/.env clients/zenbiz/.env
| |
v v
+--------------------+ +--------------------+
| mcp-peltierpro | | mcp-zenbiz |
| container :8000 | | container :8000 |
| host :8000 | | host :8001 |
+---------+----------+ +----------+---------+
| |
v v
Peltier Pro Odoo ZenBiz Odoo
same Docker image / same MCP tool modulesThis directly follows the proposed initialization/configuration plan, but does not introduce a database yet. Configuration currently comes from per-client Docker environment files.
Related MCP server: Odoo MCP Gateway
Why this is multi-client
The application no longer hard-codes Peltier Pro in server.py. At container startup, Settings.from_env() initializes the MCP identity, Odoo connection, transport, OAuth and security settings from that client's .env file.
As a result, one repository can serve Peltier Pro, ZenBiz, and future customers without duplicating the tools.
Project structure
.
├── app/
│ ├── server.py # generic MCP initialization
│ ├── config.py # dynamic per-container settings
│ ├── odoo_client.py
│ ├── prompts.py
│ └── tools/ # shared MCP capabilities
├── clients/
│ ├── peltierpro/
│ │ ├── .env # local example; replace secrets
│ │ └── .env.example
│ ├── zenbiz/
│ │ ├── .env
│ │ └── .env.example
│ └── _template/
│ └── .env.example
├── Dockerfile # one reusable MCP image
└── docker-compose.yml # creates multiple MCP containersStart both MCP containers
First replace ODOO_API_KEY=replace-... in the client .env files.
docker compose up -d --buildThen:
Peltier Pro MCP:
http://localhost:8000/mcpZenBiz MCP:
http://localhost:8001/mcpPeltier health:
http://localhost:8000/healthZenBiz health:
http://localhost:8001/health
Both containers listen on port 8000 internally. Docker maps them to different host ports, matching the proposed MCP:8000, MCP:8001 model.
Add a third client
Copy the template:
cp -R clients/_template clients/client3
cp clients/client3/.env.example clients/client3/.envAdd this service:
mcp-client3:
<<: *mcp-common
container_name: mcp-client3
env_file:
- ./clients/client3/.env
ports:
- "8002:8000"Then rebuild:
docker compose up -d --buildConfiguration flow
At this stage, the proposed Initialization & Load Configurations block is implemented by Docker + Settings.from_env():
Docker Compose selects a client configuration.
Docker creates an isolated MCP container.
app/config.pyloads client identity, Odoo settings, transport/security and OAuth settings.app/server.pycreates the MCP service and registers the shared tools.The MCP container connects only to the Odoo instance defined for that client.
A future management system/database can replace or generate these .env files without requiring a redesign of the MCP tools.
Security note
Do not commit real .env files or API keys. For production, use deployment secrets/environment variables (Railway, Docker secrets, a secrets manager, etc.).
mcp-multiclient-platform
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
One PAT, any MCP agent: Vercel, GitHub, Cloudflare, Supabase, GCP — unified dev infra gateway.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-grade multi-tenant MCP server that provides different tools and configurations to different clients using API key-based routing.1-
- FlicenseNot gradedqualityBmaintenanceEnables managing multiple Odoo instances from a single panel and exposes MCP tools for interacting with them via a unified service.-
- AlicenseBqualityBmaintenanceAn MCP server that connects to any Odoo 16+ database using existing credentials, providing read, write, diagnostic, and migration tools via XML-RPC or JSON-2 without requiring Odoo-side module installation.41MIT
- AlicenseAqualityBmaintenanceA version-agnostic MCP server for Odoo that enables AI agents to interact with any Odoo app's data, schema, and source code, supporting tasks like data CRUD, schema mapping, code analysis, and feature implementation.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/aljon-zb/mcp-multiclient-platform'
If you have feedback or need assistance with the MCP directory API, please join our Discord server