Skip to main content

MCP Server for Odoo - Enable AI assistants to interact with Odoo ERP

Project description

YT MCP Server for Odoo

A Python MCP (Model Context Protocol) client that enables AI assistants like Claude, Cursor, and VS Code Copilot to interact with your Odoo ERP system.

Features

  • 🔍 Search & Read - Query any Odoo model with natural language
  • ✏️ Create & Update - Create and modify records via AI
  • 🗑️ Delete - Remove records (with proper permissions)
  • 📊 Bulk Operations - Create/update multiple records at once
  • 🔢 Count & Browse - Count records or fetch by specific IDs
  • 📝 Prompt Templates - Pre-defined prompts for common tasks
  • 🔐 Secure - API key authentication with Odoo user permissions

Installation

Option 1: Local Development (Recommended)

# Navigate to the mcp_client directory
cd /path/to/yt_mcp_server/mcp_client

# Install in development mode
pip install -e .

# Or using uv
uv pip install -e .

Option 2: Direct from Path

# Install directly from local path
pip install /path/to/yt_mcp_server/mcp_client

Option 3: Run without Installing

# Run directly with Python
cd /path/to/yt_mcp_server/mcp_client
python -m yt_mcp_server_odoo

Configuration

Environment Variables

Variable Required Default Description
ODOO_URL Yes http://localhost:8069 Your Odoo instance URL
ODOO_API_KEY Yes - API key from MCP Server module
ODOO_DB No Auto-detect Database name
ODOO_USER No - Username (alternative to API key)
ODOO_PASSWORD No - Password (alternative to API key)
MCP_TRANSPORT No stdio Transport: stdio or streamable-http
MCP_HOST No localhost Host for HTTP transport
MCP_PORT No 8000 Port for HTTP transport
DEFAULT_LIMIT No 10 Default records per query
MAX_LIMIT No 100 Maximum records per query
MAX_SMART_FIELDS No 25 Max fields for smart selection
ODOO_YOLO No off YOLO mode: off, read, true

IDE Setup Guides

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

Option A: Using installed package

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["-m", "yt_mcp_server_odoo"],
      "env": {
        "ODOO_URL": "https://your-odoo.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database"
      }
    }
  }
}

Option B: Using local path directly

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["/path/to/yt_mcp_server/mcp_client/src/yt_mcp_server_odoo/__main__.py"],
      "env": {
        "ODOO_URL": "https://your-odoo.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database"
      }
    }
  }
}

Cursor

Location: ~/.cursor/mcp.json

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["-m", "yt_mcp_server_odoo"],
      "env": {
        "ODOO_URL": "https://your-odoo.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database"
      }
    }
  }
}

VS Code (with Copilot/Continue)

Location: .vscode/mcp.json in your workspace or ~/.vscode/mcp.json globally

{
  "servers": {
    "odoo": {
      "command": "python",
      "args": ["-m", "yt_mcp_server_odoo"],
      "env": {
        "ODOO_URL": "https://your-odoo.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database"
      }
    }
  }
}

Windsurf

Location: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["-m", "yt_mcp_server_odoo"],
      "env": {
        "ODOO_URL": "https://your-odoo.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database"
      }
    }
  }
}

Zed

Location: ~/.config/zed/settings.json

{
  "context_servers": {
    "odoo": {
      "command": {
        "path": "python",
        "args": ["-m", "yt_mcp_server_odoo"],
        "env": {
          "ODOO_URL": "https://your-odoo.com",
          "ODOO_API_KEY": "your-api-key-here",
          "ODOO_DB": "your-database"
        }
      }
    }
  }
}

Custom/Programmatic

from yt_mcp_server_odoo import OdooMCPServer
from yt_mcp_server_odoo.config import OdooConfig

config = OdooConfig(
    odoo_url="https://your-odoo.com",
    odoo_api_key="your-api-key",
    odoo_db="your-database"
)

server = OdooMCPServer(config)
server.run()

Available MCP Tools

Tool Description
list_models List all MCP-enabled Odoo models
search_records Search records with domain filters
get_record Get a single record by ID
create_record Create a new record
update_record Update an existing record
delete_record Delete a record
count_records Count records matching a domain
browse_records Get multiple records by IDs
create_bulk Create multiple records at once
update_bulk Update multiple records with different values
list_prompts List available prompt templates

Usage Examples

Once configured, ask your AI assistant:

"Show me all customers from Spain"
"Create a new contact named John Doe at Acme Corp"
"Find unpaid invoices from last month over $1000"
"Update the phone number for partner ID 42"
"How many products do we have in stock?"
"Delete the draft quotation SO0123"

YOLO Mode (Development)

For development/testing, enable YOLO mode to bypass MCP model restrictions:

{
  "env": {
    "ODOO_YOLO": "read"
  }
}
Mode Effect
off Normal - only configured models accessible
read Can read ANY model without MCP config
true Full access to ALL models (dangerous!)

⚠️ Warning: YOLO mode bypasses MCP restrictions but still respects Odoo user permissions.


Getting Your API Key

  1. Go to Settings > MCP Server in Odoo
  2. Click Manage API Keys
  3. Create a new API key for your user
  4. Copy the key (shown only once!)

Troubleshooting

Connection Failed

  • Check ODOO_URL is accessible
  • Ensure MCP Server module is installed and enabled
  • Verify API key is valid

Model Not Found

  • Ensure model is enabled in MCP Server > Enabled Models
  • Check if YOLO mode should be enabled for development

Permission Denied

  • Verify API key user has access to the model
  • Check model permissions (read/write/create/delete)

License

LGPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yt_mcp_server_odoo-0.1.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yt_mcp_server_odoo-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file yt_mcp_server_odoo-0.1.0.tar.gz.

File metadata

  • Download URL: yt_mcp_server_odoo-0.1.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for yt_mcp_server_odoo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4ba46bbf9ada8321b43a6bad07fa7e43bfd9b18d92202835f484b2b399a7648c
MD5 ee8790c77e8a39d527410e04b0400cd9
BLAKE2b-256 07d32ca66041405b0dced39a1f57c22bfd453585f1b14ee1f3b5dd72e03c6147

See more details on using hashes here.

Provenance

The following attestation bundles were made for yt_mcp_server_odoo-0.1.0.tar.gz:

Publisher: publish.yml on yugmatech/yt-mcp-server-odoo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yt_mcp_server_odoo-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for yt_mcp_server_odoo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b08615459194fe3ad9f6c5e2f002c13c6375d0c7eab9561489093b01f540442
MD5 518dbfe87f93dc4bc32a6f916d36368d
BLAKE2b-256 c31e7eb3764b606b73c90355273f96bad4681679bd72631073eafeda69adf8ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for yt_mcp_server_odoo-0.1.0-py3-none-any.whl:

Publisher: publish.yml on yugmatech/yt-mcp-server-odoo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page