biszx-odoo-mcp
Provides tools for interacting with Odoo ERP systems, enabling searching, reading, creating, updating, and deleting records, retrieving model and field metadata, and calling custom model methods.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Odoo MCP Server
An MCP server implementation for Odoo ERP systems, providing a set of tools for managing Odoo records, models, and custom methods. Inspired by tuanle96/mcp-odoo.
Tools
All tools support an optional save_to parameter to save results to a JSON file.
Data Retrieval
search_records: Search for records with advanced filtering
Inputs:
model_name(string),domain(array),fields(optional array),limit(optional number),offset(optional number),order(optional string)Returns: Dictionary with matching records
search_ids: Get only IDs of matching records
Inputs:
model_name(string),domain(array),offset(optional number),limit(optional number),order(optional string)Returns: Dictionary with list of IDs
search_count: Count records matching a domain
Inputs:
model_name(string),domain(array)Returns: Dictionary with count
read_records: Read specific records by their IDs
Inputs:
model_name(string),ids(array of ints),fields(optional array)Returns: Dictionary with record data
read_group: Group and aggregate records
Inputs:
model_name(string),domain(array),fields(array with optional aggregations),groupby(array),offset(optional number),limit(optional number),order(optional string)Returns: Dictionary with grouped results
Data Modification
create_records: Create records
Inputs:
model_name(string),values_list(array of objects)Returns: Dictionary with
url,db,modeland the createdids
write_records: Update records by ID
Inputs:
model_name(string),record_ids(array of ints),values(object)Returns: Dictionary with operation result,
url,db,modelandids
search_and_write: Search for records, then update matched records
Inputs:
model_name(string),domain(array),values(object)Returns: Dictionary with affected record count and IDs,
url,dbandmodel
unlink_records: Delete records by ID
Inputs:
model_name(string),record_ids(array of ints)Returns: Dictionary with operation result
search_and_unlink: Search for records, then delete matched records
Inputs:
model_name(string),domain(array)Returns: Dictionary with affected record count and IDs
Model Metadata
search_models: Search for available models
Inputs:
query(string) — search term for model names and display namesReturns: Dictionary with matching models
get_model_info: Get information about a specific model
Inputs:
model_name(string)Returns: Dictionary with model information
get_model_fields: Get field definitions for a model
Inputs:
model_name(string),query_field(string) — search term for field names and labelsReturns: Dictionary with field definitions
Utility
get_current_user: Retrieve information about the currently authenticated Odoo user
Inputs:
fields(optional array of strings)Returns: Dictionary with current user data, plus the connected
urlanddb
call_method: Call an arbitrary method on a model
Inputs:
model_name(string),method_name(string),args(optional array),kwargs(optional object)Returns: Dictionary with method result
Related MCP server: MCP Server for Odoo
Resources
Model Information
odoo://models/search/{query}: Search for models by name or description
odoo://models/{model_name}/info: Information about a specific model
odoo://models/{model_name}/fields: Field definitions for a specific model
Documentation
odoo://help/domains: Complete guide to Odoo domain syntax with examples
odoo://help/operations: Documentation of all available MCP tools and workflows
Configuration
Odoo Connection Setup
To connect to your Odoo instance, set the following environment variables:
ODOO_URL: Your Odoo server URLODOO_DB: Database nameODOO_USERNAME: Login usernameODOO_PASSWORD: Password or API keyODOO_TIMEOUT: Connection timeout in seconds (default: 30)ODOO_VERIFY_SSL: Whether to verify SSL certificates (default: true)LOG_LEVEL: Logging level (default: INFO)
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["biszx-odoo-mcp"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}Installation
Python Package
pip install biszx-odoo-mcpRunning the Server
# Using the installed package
biszx-odoo-mcp
# Using uv for development
uv run biszx-odoo-mcp
# Using the MCP development tools
uv run mcp dev src/biszx_odoo_mcp/main.pyLicense
This MCP server is licensed under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI to Odoo ERP 14-20: search, create, update and manage records in natural language.
Odoo MCP Pack — ERP/CRM via Odoo's external JSON-RPC API.
Odoo virtual employee via MCP: query, create, modify records, workflows, PDFs, and activities.
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Odoo ERP systems through XML-RPC communication. Provides access to Odoo models, records, methods, and data structures for comprehensive ERP integration.2MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Odoo ERP systems through natural language to search records, create entries, update data, and manage business operations. Supports secure authentication and configurable access controls for production environments.Mozilla Public 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with Odoo ERP systems through natural language, allowing users to search, create, update, and manage business records like customers, products, and invoices across any Odoo instance.21 PyPI1Mozilla Public 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Odoo databases via XML-RPC and JSON-RPC for performing CRUD operations and managing modules. It supports advanced features like domain-based searching, field metadata inspection, and administrative task execution.6 npmMIT