Odoo XML-RPC MCP Server
Interact with Odoo instances using the XML-RPC API. Requires configuration via environment variables or config files.
Odoo XML-RPC MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Odoo via XML-RPC.
Features
- Connect to any Odoo instance via XML-RPC
- Configurable project and environment parameters
- Environment variable support with priority over config files
- Complete set of Odoo operations: search, read, create, write, delete
- Integration with Claude Desktop and Claude Code
Installation
Global Installation (Desktop MCP Server)
- Install globally using npm:
npm install -g .
- Add to your Claude Desktop configuration (
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"odoo-xmlrpc": {
"command": "odoo-xmlrpc-mcp-server",
"args": ["--project", "your_project", "--environment", "your_env"],
"env": {
"ODOO_URL": "https://your-odoo.domain.com",
"ODOO_DATABASE": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password"
}
}
}
}
Local Installation (Claude Code)
-
Clone or copy this repository to your project directory
-
Install dependencies:
npm install
- Build the project:
npm run build
- Create
.claude.jsonin your project root:
{
"mcp": {
"servers": {
"odoo-xmlrpc": {
"command": "node",
"args": ["./dist/index.js", "--project", "your_project", "--environment", "your_env"],
"env": {
"ODOO_URL": "https://your-odoo.domain.com",
"ODOO_DATABASE": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password"
}
}
}
}
}
Development
For development, you can run directly with tsx:
npm run dev -- --project your_project --environment your_env
Configuration
Config File Method
Create a configuration file at ~/.odoo_config/<project>_<environment>.conf:
[odoo]
url = https://your-odoo.domain.com
database = your_database
username = your_username
password = your_password
Environment Variables (Priority)
Set these environment variables (they take priority over config files):
ODOO_URLODOO_DATABASEODOO_USERNAMEODOO_PASSWORD
Usage
Available Tools
odoo_search
Search for records in an Odoo model.
{
"model": "res.partner",
"domain": [["is_company", "=", true]],
"limit": 10
}
odoo_read
Read specific records by ID.
{
"model": "res.partner",
"ids": [1, 2, 3],
"fields": ["name", "email", "phone"]
}
odoo_create
Create a new record.
{
"model": "res.partner",
"values": {
"name": "New Company",
"is_company": true,
"email": "info@newcompany.com"
}
}
odoo_write
Update existing records.
{
"model": "res.partner",
"ids": [123],
"values": {
"phone": "+1-555-0123"
}
}
odoo_unlink
Delete records.
{
"model": "res.partner",
"ids": [456]
}
odoo_search_count
Count records matching a domain.
{
"model": "res.partner",
"domain": [["is_company", "=", true]]
}
odoo_fields_get
Get field definitions for a model.
{
"model": "res.partner",
"fields": ["name", "email"]
}
odoo_search_read
Search and read in one operation.
{
"model": "res.partner",
"domain": [["is_company", "=", true]],
"fields": ["name", "email"],
"limit": 5
}
Development
Requirements
- Node.js 18+
- npm or yarn
Running Locally
npm run dev -- --project myproject --environment staging
Building
npm run build
Testing Connection
npm run dev -- --project idp --environment staging
License
MIT License
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Website Generator MCP
An example MCP server designed for deployment on Cloudflare Workers, supporting both remote and local setups.
MCP-Mem0
Integrate long-term memory into AI agents using Mem0.
Universal MCP Server
A universal MCP server with a modular plugin architecture.
Cargo MCP
Interact with Rust projects using Cargo commands like build, test, and run.
HAL (HTTP API Layer)
An MCP server that enables Large Language Models to make HTTP requests and interact with web APIs. It supports automatic tool generation from OpenAPI/Swagger specifications.
Contract Inspector
Retrieve on-chain information for EVM contracts locally using an Ethereum RPC node and Etherscan API.
ForeverVM
Run Python in a code sandbox.
MCP-guide
A guide for setting up an MCP server using a Python virtual environment and integrating it with the Cline VS Code extension.
QuantConnect
A server for local interactions with the QuantConnect API.
Rongda MCP Server
An MCP server for Rongda that supports authentication through environment variables.