Skip to main content
Glama
parth-unjiya

odoo-mcp-gateway

by parth-unjiya

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ODOO_DBYesOdoo database name
MCP_HOSTNoHTTP host (streamable-http mode)127.0.0.1
MCP_PORTNoHTTP port (streamable-http mode)8080
ODOO_URLNoOdoo server URLhttp://localhost:8069
MCP_LOG_LEVELNoLogging levelINFO
MCP_TRANSPORTNoTransport mode (stdio or streamable-http)stdio

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
login

Authenticate with Odoo. Methods: 'api_key', 'password', or 'session'.

list_models

List available Odoo models. Optionally filter by keyword.

get_model_fields

Get field definitions for an Odoo model.

search_read

Search and read records from any Odoo model.

get_record

Read a single record by ID from any Odoo model.

search_count

Count records matching a domain in an Odoo model.

create_record

Create a new record in an Odoo model.

update_record

Update an existing record in an Odoo model.

delete_record

Delete a record from an Odoo model.

read_group

Read grouped/aggregated data from an Odoo model.

execute_method

Execute a method on an Odoo model.

check_in

Record attendance check-in for the current user.

        Finds the employee linked to the current user and creates
        an attendance record with check_in set to now.
        
check_out

Record attendance check-out for the current user.

        Finds the open attendance record and sets check_out to now.
        
get_my_attendance

Get attendance records for the current user.

        Args:
            limit: Max records to return (default 10)
            month: Filter by month (YYYY-MM format, optional)
        
get_my_leaves

Get leave requests for the current user.

        Args:
            state: Filter by state (draft, confirm, validate, refuse)
            limit: Max records (default 20)
        
request_leave

Submit a leave request.

        Args:
            leave_type_id: Leave type ID (e.g. annual leave, sick leave)
            date_from: Start date (YYYY-MM-DD)
            date_to: End date (YYYY-MM-DD)
            reason: Optional description
        
get_my_profile

Get the current user's employee profile.

get_my_quotations

Get quotations/orders where the current user is the salesperson.

        Args:
            state: Filter by state (draft, sent, sale, done, cancel)
            limit: Max records (default 20)
        
get_order_details

Get full order details with lines, totals, and partner info.

        Args:
            order_id: The sale order ID
        
confirm_order

Confirm a quotation, turning it into a sale order.

        Args:
            order_id: The sale order ID to confirm (must be in draft/sent state)
        
get_sales_summary

Get aggregated sales stats for the current user.

        Returns counts by state, totals by month, and top customers.

        Args:
            period: Filter period (YYYY-MM format, optional).
                If omitted, returns all-time stats.
        
get_my_tasks

Get tasks assigned to the current user.

        Args:
            state: Filter by task state (e.g. 01_in_progress, 1_done)
            project_id: Filter by project ID
            limit: Max records (default 20)
        
get_project_summary

Get project stats: task counts by stage, overdue, recent activity.

        Args:
            project_id: The project ID to summarize
        
update_task_stage

Move a task to a different stage.

        Args:
            task_id: The task ID to update
            stage_id: The target stage ID
        
get_my_tickets

Get helpdesk tickets assigned to the current user.

        Args:
            state: Filter by stage name (optional)
            priority: Filter by priority (0=Low, 1=Medium, 2=High, 3=Urgent)
            limit: Max records (default 20)
        
create_ticket

Create a new helpdesk ticket.

        Args:
            name: Ticket subject/title
            description: Detailed description
            team_id: Helpdesk team ID (optional)
            priority: Priority level (0=Low, 1=Medium, 2=High, 3=Urgent)
        
update_ticket_stage

Move a helpdesk ticket to a different stage.

        Args:
            ticket_id: The ticket ID to update
            stage_id: The target stage ID
        

Prompts

Interactive templates invoked by user choice

NameDescription
analyze_modelAnalyze an Odoo model's structure, fields, and relationships. Provides a comprehensive prompt for understanding any model.
explore_dataExplore data in an Odoo model based on a natural language question.
create_workflowGuide through a workflow on an Odoo model.
compare_recordsCompare two or more records from the same model.
generate_reportGenerate an analytical report from Odoo data.
discover_custom_modulesDiscover and understand custom Odoo modules installed.
debug_accessDebug access issues for a model.

Resources

Contextual data attached and managed by the client

NameDescription
list_models_resourceList all accessible Odoo models. Returns JSON array of model objects with name, description, is_custom, and access_level.
categories_resourceList available model categories with counts. Returns JSON object mapping category names to model counts.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/parth-unjiya/odoo-mcp-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server