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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted Magento MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Manage CloudPepper servers, Odoo instances, backups, and deployments over MCP.
Hosted MCP for Google Workspace, Atlassian and Notion: one OAuth, per-user accounts, write access.
Hosted Shopify MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with multiple Jenkins instances from a single MCP server, using header-based authentication for multi-tenancy.1-
- FlicenseNot gradedqualityDmaintenanceEnables managing multiple Odoo instances from a single panel and exposes MCP tools for interacting with them via a unified service.-
- AlicenseAqualityDmaintenanceA 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.148MIT
- FlicenseNot gradedqualityDmaintenanceHardened Docker infrastructure enabling secure, single-tenant MCP access to Jira and Confluence Cloud through a proxy.-