# Deployment Options
This document outlines deployment architecture options for using the Odoo MCP Server in a multi-user environment.
## Option A: Local MCP + Remote Odoo (Recommended)
Each user runs the MCP server locally on their machine, connecting to the centralized Odoo instance on gaurav-vm.
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ User Machine │ │ User Machine │ │ User Machine │
│ │ │ │ │ │
│ Claude Desktop │ │ Claude Desktop │ │ Claude Desktop │
│ ↓ │ │ ↓ │ │ ↓ │
│ MCP Server │ │ MCP Server │ │ MCP Server │
│ (local stdio) │ │ (local stdio) │ │ (local stdio) │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
▼
┌────────────────────────┐
│ gaurav-vm │
│ │
│ Odoo Server :8069 │
└────────────────────────┘
```
### Setup per user
1. Install Node.js 18+ on local machine
2. Clone the repository:
```bash
git clone https://github.com/deeprunnerai/odoo-mcp-server.git
cd odoo-mcp-server
npm install && npm run build
```
3. Configure Claude Desktop (`~/.claude.json` or Claude Desktop settings):
```json
{
"mcpServers": {
"odoo": {
"command": "node",
"args": ["/path/to/odoo-mcp-server/dist/index.js"],
"env": {
"ODOO_URL": "https://odoo.deeprunner.ai",
"ODOO_DB": "deeprunner",
"ODOO_USERNAME": "<your-odoo-username>",
"ODOO_PASSWORD": "<your-odoo-password>"
}
}
}
}
```
### Pros
- No code changes required
- Each user has their own credentials
- Simple to set up and maintain
### Cons
- Requires Node.js on each user's machine
- Users need to clone/update the repo themselves
---
## Option B: Centralized MCP Server (Future Enhancement)
A single MCP server runs on gaurav-vm, and users connect remotely via HTTP.
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ User Machine │ │ User Machine │ │ User Machine │
│ │ │ │ │ │
│ Claude Desktop │ │ Claude Desktop │ │ Claude Desktop │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│ HTTP/SSE
▼
┌────────────────────────┐
│ gaurav-vm │
│ │
│ MCP Server :3000 │
│ ↓ │
│ Odoo Server :8069 │
└────────────────────────┘
```
### Requirements (code changes needed)
- Change transport from `stdio` to `SSEServerTransport`
- Add HTTP server (Express/Fastify)
- Implement authentication to accept per-user Odoo credentials
- Handle concurrent connections
### Pros
- Centralized management
- No Node.js required on user machines
- Easier updates (single deployment)
### Cons
- Requires significant code changes
- Need to handle authentication securely
- More complex infrastructure
---
## Recommendation
Start with **Option A** for simplicity. Move to Option B when:
- Number of users grows significantly
- Managing local installations becomes burdensome
- You need centralized logging/monitoring