Odoo XML-RPC MCP Server

Odoo XML-RPC MCP Server

Enables interaction with Odoo instances via XML-RPC, supporting CRUD operations and custom model queries through natural language.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured