Odoo XML-RPC MCP Server - Secure MCP Server by ALMC Security 2025

Odoo XML-RPC MCP Server

View on GitHub

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)

  1. Install globally using npm:
npm install -g .
  1. 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)

  1. Clone or copy this repository to your project directory

  2. Install dependencies:

npm install
  1. Build the project:
npm run build
  1. Create .claude.json in 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_URL
  • ODOO_DATABASE
  • ODOO_USERNAME
  • ODOO_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 in Development - Secure MCP Servers

ServerSummaryActions
MCP JenkinsView
mcp-nodejsBring the model context protocol (MCP) in action:View
UIAutomator2 MCP Server基于FastMCP框架实现的UIAutomator2 MCP服务器,提供Android设备自动化控制能力。View
Projet MCP Server-ClientCe projet est une implémentation du protocole MCP (Model Context Protocol) qui permet la communicati...View
CodacyView
Flux ImageGen MCP ServerA specialized Model Context Protocol (MCP) server for image generation and manipulation, powered by...View