Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Technical
  3. Odoo MCP Studio - AI React App, Module & EChart Builder v 16.0
  4. Sales Conditions FAQ

Odoo MCP Studio - AI React App, Module & EChart Builder

by Codemarchant https://codemarchant.com
Odoo

$ 352.64

v 16.0 Third Party 6
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 9887
Technical Name odoo_remote_mcp
LicenseOPL-1
Websitehttps://codemarchant.com
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 9887
Technical Name odoo_remote_mcp
LicenseOPL-1
Websitehttps://codemarchant.com
Versions 16.0 17.0 18.0 19.0
  • Description
  • Documentation
  • License

Odoo MCP Studio

AI React App, Module & EChart Builder — Powered by Remote MCP

Connect AI agents like Claude, Gemini, and ChatGPT to your Odoo instance. Build full-stack web applications, custom data modules, interactive dashboards, and automate workflows — all through natural conversation.

Four Powerful Pillars

Remote MCP Server

14 built-in tools with OAuth 2.1 security, granular access control, and comprehensive audit logging. No local installation required.

AI Web App Builder

AI generates complete multi-page React applications with routing, API endpoints, user storage, and public sharing — directly inside Odoo.

AI Module Builder

AI creates custom Odoo data modules with models, fields, views, and security rules — packaged as ZIP and installed via base_import_module.

EChart Dashboard Builder

Describe what you want to visualize and AI builds interactive Apache ECharts dashboards with live Odoo data — from bar charts to 3D globes.

Learn more about Remote MCP: modelcontextprotocol.io/docs/develop/connect-remote-servers
Demo App Library: Ready-to-import games, dashboards & ECharts — github.com/Codemarchant/odoo_mcp_app_library
Play Demo Games: codemarchant.com/mcp/webapp/game-vault

AI Builds a Complete Game in Under 60 Seconds

Watch Claude create a fully playable Snake game — from prompt to playing in under a minute

Claude AI creating a complete Snake game through MCP in under 60 seconds

Challenge mode: AI creates a full-featured Snake game with one prompt — under 60 seconds from start to playing

How It Works

1
Install Module

Install from Odoo Apps

2
Add MCP Users

From user access rights, assign MCP Admin to yourself, MCP User to others

3
Configure Access

Navigate to MCP Server menu, set tool allowlists and model restrictions

4
Connect AI Client

Add your Odoo /mcp URL in your AI client

See It in Action

Watch how AI agents interact with Odoo through the MCP Server

AI Builds Odoo Modules, Games & Dashboards

Watch Claude AI connect to Odoo via MCP and build 4 real use cases: 3D sales globe, customer portal, snake game, and a full theme park module — all from natural language prompts.

Watch on YouTube

Quick Start: Connect Your AI Agent

Works with any remote OAuth MCP-compatible AI agent. Replace the example URL with your Odoo instance URL + /mcp

Claude Code CLI

Add MCP server:

claude mcp add odoo --transport http https://your-odoo.com/mcp

Within Claude CLI, use /mcp command and authenticate

Claude Desktop / Claude.ai

Settings → Connectors → Add Custom Connector

https://your-odoo.com/mcp

Browser opens for OAuth → Authorize → Ready

Gemini CLI

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "odoo": {
      "url": "https://your-odoo.com/mcp"
    }
  }
}

Within Gemini CLI, use /mcp command and authenticate

ChatGPT (Developer Mode)*

Settings → Apps → Advanced → Enable Developer Mode → Create App

https://your-odoo.com/mcp

platform.openai.com/docs/guides/developer-mode

Optional: Install ripgrep for faster code search
# Ubuntu/Debian
sudo apt install ripgrep

# macOS
brew install ripgrep
Testing without HTTPS (ngrok)
# Expose local Odoo (port 8069) via HTTPS tunnel
ngrok http 8069

Set ngrok URL as web.base.url in System Parameters

Feature Documentation

Explore each feature in detail

  • MCP Server
  • Web Applications
  • Module Builder
  • EChart Dashboards
  • FAQs

Seamless AI Integration

Once connected, AI agents naturally interact with your Odoo data through conversation. Ask questions, create records, run reports, and automate workflows — all through natural language.

"Find all open sales orders for customer X"

"Create 10 new dummy test contacts with this theme for a demo"

"Show me how sale order discounts are calculated in our pricing module using code search tool"

"What products are low on stock?"

"Confirm SO/00042, send a message to the customer, and reassign to salesperson Jane"

"Identify our top 10 customers by revenue and their most purchased products"

Claude AI batch creating contacts in Odoo via MCP

Claude using MCP tools to batch create contacts in Odoo

Configuration Dashboard

The main configuration page serves as your command center. Access all settings, monitor connections, and manage security from a dedicated app menu.

  • Global enable/disable switch for the MCP server
  • Smart buttons for quick navigation to clients, tokens, and execution logs
  • Real-time connection status and endpoint URL display
  • Configurable token expiry and session timeouts
  • Execution logging with adjustable retention periods
  • Automatic cleanup via scheduled actions
MCP Configuration - Main settings page

Main configuration page: Server settings, smart navigation buttons, and OAuth configuration

Tool Settings

Configure code execution limits, search result caps, and toggle detailed execution logging.

MCP Tool Settings tab

Tool Settings: Execution limits and logging options

Connection Settings

Self-documenting module with connection details and access token management.

MCP Connection Settings tab

Connection Settings: Token expiry and session configuration

Per-Tool Access Control

Precisely control which users can execute each tool, from safe read-only operations to powerful code execution.

Low Risk

Read Tools
Auto-enabled for all MCP users

Medium Risk

Write Tools
Require explicit allowlist membership

High Risk

Execute Tools
Restricted to trusted power users

MCP Tool Allowlist - Read and Write tools MCP Tool Allowlist - Execute and Code tools MCP Tool Allowlist - Execute and Code tools

Tool allowlists: Read tools (auto-enabled) and Write/Execute tools with user selection

Model & Field Restrictions

Create fine-grained restrictions at the model and field level. Protect sensitive business data by blocking AI access to specific models or fields. Applies to: list_models, get_model_schema, search_read, read_record, create_record, update_record, delete_record, and execute_method. Does not restrict execute_orm, create_echart, manage_webapp, or manage_module which execute arbitrary code.

Model Restrictions
  • Create restriction groups for different user types
  • Block specific CRUD operations per model
  • Apply globally or to specific users
  • Mass-add models via wizard
Field Restrictions
  • Hide sensitive fields from AI responses
  • Protect passwords, API keys, personal data
  • Per-field CRUD control
  • Works alongside Odoo's native ACLs
MCP Model Access

Model Access tab: Create and manage model restriction groups with user assignments

MCP Model Group - Restricted models

Model Group form: Configure restricted models with blocked CRUD operations

MCP Model Group - Restricted fields

Model Group form: Configure restricted fields per toolset

Enterprise-Grade Security

OAuth 2.1 + PKCE

Proof Key for Code Exchange prevents authorization code interception.

Token Rotation

Refresh tokens rotated on each use, limiting stolen token windows.

Audience Binding

RFC 8707 resource indicators bind tokens to your MCP server URL.

Scope-Based Access

OAuth scopes (read, write, execute) plus offline_access for refresh tokens.

Model-Level Restrictions

Block AI access to sensitive models like accounting or HR.

Field-Level Restrictions

Hide passwords, API keys, or personal data from AI agents.

OAuth Consent Screen

OAuth consent screen: Clear permission display with authorize/deny actions

Complete Audit Trail

Every tool invocation is captured with full parameter/result logging, timing metrics, and user attribution.

User & Client

Parameters

Results

Timing

Execution Logs detail

Execution log: Full audit trail with tool name, parameters, results, timing, and IP address

Reusable Prompt Templates

Create standardized prompts that appear as selectable commands in AI clients. Define argument placeholders with {{variable}} syntax and control visibility across your organization.

Template Features
  • Argument placeholders with defaults
  • Required and optional parameters
  • Rich text prompt content
Sharing Options
  • Private: Only you can see it
  • Shared: Specific users
  • Public: All MCP users
Prompt Template Form View

Prompt template form: Define prompts with arguments, descriptions, and visibility settings

Prompt Templates in Claude AI

Templates in Claude: Prompts appear as selectable commands with argument inputs

14 Powerful Tools

Everything AI agents need to interact with Odoo

Read Tools (Auto-enabled)
  • list_models — Discover models with regex filtering
  • get_model_schema — Get field definitions with filters
  • search_read — Search records with domain filters
  • read_record — Read single record by ID

Binary fields automatically returned as embedded resources

Write Tools (Allowlist Required)
  • create_record — Create one or more records
  • update_record — Bulk update with same or different values
  • delete_record — Delete records by ID
  • execute_method — Call model methods (action_confirm, etc.)

Protected by user allowlists and model restrictions

Code Tools (Allowlist Required)
  • code_search — Search addon source with ripgrep
  • code_read — Read source files with pagination

Ripgrep integration for blazing fast searches

Advanced Tools (Restricted)
  • execute_orm — Execute Python code with safe_eval
  • create_echart — Create persistent ECharts dashboards
  • manage_webapp — Create and manage React web applications
  • manage_module — Create and install custom Odoo data modules

Full ORM access — only for trusted users

Technical Details

MCP Protocol

Implements MCP 2025-11-25 with Streamable HTTP transport

OAuth Discovery

RFC 8414 authorization server and RFC 9728 protected resource metadata

Resource Templates

MCP resource templates for attachments and binary fields

Ripgrep Integration

Optional ripgrep for 10x faster code searches (Python fallback included)

Multi-Database Support

For environments with multiple databases on a single Odoo URL, use path-based routing.

Configuration Required

Add to odoo.conf:

server_wide_modules = web,base,odoo_remote_mcp
Connection URL Format

Include database name in path:

https://your-odoo.com/<database>/mcp

AI-Powered Web Application Builder

Describe what you want — AI builds complete, multi-page React web applications directly inside Odoo. From games to business dashboards, portals to internal tools. Full-stack applications with routing, API endpoints, persistent user storage, and granular access control — all generated through natural conversation. Organize apps with tags, track view counts, and create custom URL slugs for memorable, shareable links.

React 19 + Router 6
Multi-page SPAs with client-side routing

API Endpoints
Custom Python-powered REST APIs

Share Anywhere
Public, portal, or internal user access

Web Application Form View

Every AI-generated web application is stored as a fully editable Odoo record. Inspect and modify pages, endpoints, shared components, global state, CDN dependencies, and sharing settings — all from the familiar Odoo form view.

Web Application form view walkthrough showing all configuration tabs

Neon Drift: Arcade Shooter — walkthrough of the webapp form view showing pages, endpoints, components, and settings

What You Can Build

Games, business apps, portals, dashboards — anything you can describe

Games & Interactive Apps

AI can build complete games with scoring, statistics tracking, and persistent high scores. The Snake game below was generated in a single prompt — complete with game statistics and graph visualizations.

Snake game demo - playing and viewing game statistics

Snake game: Full gameplay with statistics dashboard showing score history and performance graphs

Business Applications & Portals

Build complete business applications with multi-page navigation, live Odoo data, customer filtering, order management, and full CRUD operations through custom API endpoints.

Sales Dashboard demo - navigation, customer filtering, order creation

Sales Dashboard: Multi-page navigation, sales statistics, customer browsing, order filtering, and creating a new sale order with dynamic product lines

Zero Build Step Architecture

Web applications require no build step, no compilation, and no bundling. React 19 and React Router 6 are loaded via ESM from CDN, JSX is compiled in the browser by Babel Standalone, and Tailwind CSS is included via CDN. This means AI-generated apps run immediately — no npm install, no webpack, no CI/CD pipeline. The entire application is stored as plain text fields in Odoo, making it fully portable, exportable, and editable without any development tooling.

Configuration & Management

Full control over your web applications through Odoo's familiar interface. Export applications for deployment across instances, and open them directly from the form view.

Web Application form view - basic settings with export and open buttons

Snake Game form view: Basic settings with Export and Open App buttons

Export & Deployment

Export

Generates a standard Odoo-formatted CSV file containing all app data — pages, endpoints, components, settings, and external IDs. CSV format supports unlimited code size (unlike XLSX which has cell limits).

Staging → Production: Export on staging, then import the CSV on production. External IDs allow Odoo to match and update existing records on subsequent imports — no need to delete and recreate.

Backup & Restore: Export regularly to save working versions. If something breaks, reimport the CSV to restore your application.

Note: Exports include app structure only (pages, endpoints, settings) — User Storage data is excluded, so production user data is never overwritten on reimport. If pages or endpoints were removed on staging, reimporting will not delete them on production — they remain as orphans and need manual cleanup. Do not delete the webapp record to avoid this, as that would destroy all User Storage data.

Custom API Endpoints

Each web application can define custom REST API endpoints with Python handlers. Support for GET, POST, PUT, and DELETE methods with dynamic route parameters — enabling full CRUD operations and complex business logic directly from the frontend.

API Endpoints tab showing custom endpoint definitions

Sales Dashboard API endpoints: Confirm orders, cancel orders, and more — each powered by server-side Python with full Odoo ORM access

Sharing & Public Access

Control who can access your web applications. Share with specific users, user groups, portal users, or make applications fully public. Public applications can be linked directly from your website for anyone to access without an Odoo login.

Sharing tab showing public access configuration

Ping Pong game sharing: "Shared with Groups" set to Public, making the app accessible to anyone with the link — add the URL to your website for public access

Embed Web Apps on Any Website

Embed any web application on your website, portal, or intranet using a simple iframe. A ready-to-use embed code with one-click copy is available in the Sharing tab of every web application.

One-Click Embed Code

Every web application includes a computed embed code in the Sharing tab. Simply copy the iframe snippet and paste it into your website HTML.

<iframe
  src="https://your-odoo.com/mcp/webapp/my-app"
  width="100%"
  height="700"
  style="border: none;"
  loading="lazy">
</iframe>

Slug URLs — Use clean URLs like /mcp/webapp/my-app instead of numeric IDs

Public Access — Add the "Public" group in Sharing tab for external websites (no login required)

Key Capabilities

  • Multi-page routing — React Router 6 with dynamic URL parameters
  • Global state management — Shared state across all pages
  • Persistent user storage — 5MB per user with offline fallback via localStorage
  • Shared components — Reusable JSX functions across all pages
  • Tailwind CSS — Built-in styling framework (optional)
  • CDN dependencies — Import any npm library via ESM
  • Server-side data — Python data fetching with full ORM access
  • User context — Built-in user info (name, role, company) for personalization
  • Export / Import — CSV export with external IDs for backup and cross-instance deployment
  • Visitor permissions — All code executes with the end-user's access rights
Troubleshooting AI-Generated Apps

AI can occasionally make mistakes. If your app shows a blank page or error:

  • Open browser developer tools (F12 → Console) to check for JavaScript errors
  • Copy error messages and share them with your AI agent to diagnose and fix issues
  • Use Export regularly to save working versions — restore anytime via Odoo import

AI-Powered Module Builder

Let AI create custom Odoo data modules through natural conversation. Define new models, fields, views, menus, security rules, and server actions — all packaged as installable ZIP modules using Odoo's native base_import_module framework. Modules persist across restarts and appear in the standard Apps menu.

Data-Only Modules
XML, CSV data files — no Python code execution

Auto ZIP Packaging
One-click package and install workflow

Full Lifecycle
Create, update, reinstall, and uninstall

Odoo Documentation: odoo.com/documentation/17.0/developer/tutorials/importable_modules.html
No Server Restart. No Deployment Step. No Manual Upload.

AI creates, packages, and installs modules all in one step — entirely through conversation. There is no server restart, no deployment pipeline, and no manual ZIP upload. The AI agent calls manage_module to create the module files, automatically packages them into a ZIP, and installs via Odoo's base_import_module — your new models, fields, views, and menus are live immediately. Updates work the same way: AI modifies the files, repackages, and reinstalls in a single operation.

How It Works
1
Describe Your Module

"Create a module that adds a delivery reference field to sale orders and partners"

2
AI Creates Files

Manifest, XML data files, CSV security rules — all generated via manage_module

3
Package & Install

Auto-packaged as ZIP and installed via base_import_module — no server restart

4
Live in Odoo

Module appears in Apps menu, fields and views active immediately

Module Form View

Every AI-created module is stored as a fully editable Odoo record. View all files, track state (Draft / Packaged / Installed), and manage the full lifecycle from a familiar Odoo form view. The chatter tracks all packaging and installation activity.

MCP Module form view showing file list and chatter activity

Customer Delivery Reference module: Files tab with manifest, data files, views, and security — chatter showing package and install history

File Editor

Each module file is editable with a code widget. AI generates the XML data files that define new models, fields, views, and security rules — all reviewable and editable before installation.

Module file form view with XML content editor

data/models.xml: Adding a Customer Delivery Reference field to sale orders and a Require Delivery Reference boolean to partners

Download & Backup

After packaging, download the module ZIP file for backup or manual deployment to other instances.

Module download tab with ZIP file

Download tab: Packaged ZIP file ready for download or manual import

Native Odoo Integration

Installed modules appear directly in Odoo's standard Apps menu as imported modules. This uses Odoo's built-in base_import_module framework — no custom installation mechanism.

Imported module visible in Odoo Apps menu

Apps menu: AI-created module installed and visible alongside standard Odoo modules via the Import Module feature

Access Control

The manage_module tool is controlled via the same per-tool allowlist system as all other MCP tools. Only users explicitly added to the allowlist can create and install modules.

manage_module tool allowlist configuration

Tool allowlist: manage_module marked as High Risk — creates importable data modules with models, fields, views, and security rules

What Can Modules Contain?

  • New models — Define custom models via ir.model XML records
  • New fields — Add fields to existing or new models via ir.model.fields
  • Views — Form, list, search, and kanban views
  • Menus & actions — Window actions and menu items
  • Security rules — Access control lists via CSV and record rules
  • Server actions — Automated actions and scheduled tasks
  • Data records — Pre-populated reference data
  • Static files — Icons, descriptions, and assets

Export & Deployment

Export

Click Export on the module record to generate a CSV posted to the chatter. This CSV contains all module files and metadata with external IDs — ready for import on another instance.

First Deployment (Staging → Production)
  1. On staging: develop, test, and install the module via AI
  2. Click Export → a CSV is posted to the chatter
  3. On production: go to MCP → Modules, use Odoo's Import records (list view → gear icon) to import the CSV
  4. Open the newly created module record and click Install / Upgrade
Subsequent Updates
  1. On staging: make changes and re-test
  2. Click Export to generate a fresh CSV
  3. On production: delete the existing MCP module record (this only removes the file container — the installed Odoo module is unaffected)
  4. Import the new CSV to recreate the module record with updated files
  5. Click Install / Upgrade to apply changes

Why delete first? Reimporting over an existing record may leave orphan files if any were removed on staging. Deleting and reimporting ensures the file list exactly matches the source.

Review & Control

Review Before Installing

By default, AI automatically installs after creating files. If you prefer to review first, ask the AI to use skip_install=true — this saves the files without triggering installation. Review in the Files tab, then click Install / Upgrade when ready.

Uninstall & Reinstall

The AI can use uninstall_first=true to cleanly drop all module tables and data before reinstalling. This permanently deletes all user data in the module's custom models — only during initial development.

Once real data exists, use force=true to overwrite noupdate records without dropping tables, or remove leftover fields manually via Settings → Technical → Fields/Models.

Troubleshooting AI-Generated Modules

AI can occasionally produce errors in generated XML, CSV, or field definitions. Errors may surface during installation or later when opening views, menus, or server actions:

  • Paste the full error message (traceback or validation error) back to your AI agent — it can usually diagnose and fix the issue in one step
  • Post-install errors (e.g. a view or action fails to load) are common — copy the error dialog or server log and share it with the AI
  • Review Odoo base code for patterns: Ask the AI to search existing Odoo modules for similar models, views, or security rules before generating new ones — this dramatically reduces errors
  • Use skip_install=true to review generated files before installing, and Export regularly to save working versions
  • Installation timeout: Module installation can take several minutes, especially for modules with many models and fields. The MCP tool call may time out before receiving a response — but the install is still running server-side and will usually complete successfully. If this happens, check the module state in Odoo (or ask the AI to search ir.module.module) before retrying — duplicate installs while one is in progress can cause database locks

Best practice: Instruct the AI to study the target Odoo version's base addons for naming conventions, field types, and view structures before building your module. This produces cleaner, more compatible results.

Important Notes
  • Data-only modules: These are data modules (XML/CSV), not Python code modules. They cannot contain Python model classes, but can define models, fields, views, and security rules through Odoo's data file mechanism.
  • Computed fields and server actions use safe_eval — same risk level as execute_orm.
  • Schema changes persist: Installed modules affect the database schema and persist across server restarts. Use the uninstall feature to cleanly remove modules.
  • Install duration: Module installation involves packaging files, importing via base_import_module, and setting up models/fields — this can take several minutes for larger modules and may exceed the MCP client's default tool-call timeout. The install still completes server-side; verify module state before retrying.

Interactive ECharts Dashboards

Describe what you want to visualize — AI builds it for you

Vibe Coding for Dashboards

Simply describe what you want to see in natural language and AI generates the complete dashboard — data queries, chart configurations, and styling included. No coding required.

Powered by Apache ECharts, one of the most powerful and flexible charting libraries. Build everything from simple bar charts to complex multi-axis dashboards with drill-down capabilities.

Apache ECharts Logo
Documentation: echarts.apache.org/en/option.html
Examples: echarts.apache.org/examples/en/index.html
A Blank Canvas for AI

Unlike rigid dashboard builders, ECharts provides a blank canvas where AI has complete creative freedom. Any chart type, any layout, any data combination.

No Configuration Lock-in

Dashboards are stored as pure Python data code and JSON chart options — no proprietary formats. Easily inspect, modify, or migrate your visualizations.

How It Works
1
Describe Your Dashboard

"Show me monthly sales by product category for the past 6 months with a bar chart and trend line"

2
AI Generates Everything

Data queries, chart options, styling — all created using the create_echart tool

3
Share Instantly

Get a shareable link immediately, or share with specific users and groups

Claude creating interactive dashboard via MCP

Claude using MCP tools to generate an interactive sales dashboard

EChart Dashboard Demo - Browsing dashboards from kanban view

Browse and manage all your dashboards from the kanban view

Featured: 3D Globe Command Center

Turn your Odoo data into a stunning global visualization

Download ready-to-import version: github.com/Codemarchant/odoo_mcp_app_library/tree/main/echart_global_sales_command_center
Try This Prompt

Use the built-in "3D Globe Command Center" prompt template, or paste this into your AI client:

Create a 3D globe dashboard titled "Global Sales Command Center" using echarts-gl.

Use this globe texture URL: https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/planets/earth_atmos_2048.jpg

Data from Odoo:
- Customers grouped by country
- Sale orders from the last 30 days grouped by partner country
- Revenue per country
- Summary stats: countries, customers, revenue, orders

Layout:
- Compact header bar with title and small inline stat badges, globe visible without scrolling
- Revenue filter slider as a floating panel on the left side

Globe features:
- Scatter points sized by customer count, colored by revenue level
- 3D bar columns on the top 5 revenue countries
- Animated arcs from order countries to HQ
- Slow auto-rotation with atmosphere glow
- Clickable countries showing a detail panel, closes on click

Professional dark theme.
3D Globe Command Center

3D Globe: Real-time sales data with glowing points, 3D bars, and animated arcs

Live Demo: Interactive World Explorer Globe (click countries for facts, poetry & humor) — codemarchant.com/mcp/echart/public/1/UqbJ37CaC39UlJJ0RC6xWHbgwctDI956-yqcNeNpQh0
Dashboard Configuration
EChart Configuration - Data Code Tab

Data Code tab: Python code for data retrieval using safe_eval

EChart Configuration - Sharing Tab

Sharing tab: Generate public links or share with specific users and groups

Sales Performance Dashboard View

The resulting interactive dashboard with multiple chart types

Embed Dashboards on Any Website

Embed any EChart dashboard on your website, portfolio, or intranet using a simple iframe. A ready-to-use embed code with one-click copy is available in the Sharing tab of every dashboard.

One-Click Embed Code

Every dashboard includes a computed embed code in the Sharing tab. Simply copy the iframe snippet and paste it into your website HTML.

<iframe
  src="https://your-odoo.com/mcp/echart/public/1/token?embed=1"
  width="100%"
  height="700"
  style="border: none;"
  loading="lazy">
</iframe>

embed=1 — Automatically hides the header bar for a clean, seamless look

Public Link — Enable for external websites (no login required)

Full Data Isolation Support

With "Expose EChart Data in Tool Response" disabled, AI agents only generate dashboard code — all execution happens on your Odoo server. The AI never sees the actual data in your charts.

Best Practices
  • Build on staging first: Test dashboards before sharing widely
  • Validate before production: Verify data accuracy and performance
  • Use descriptive names: Help others understand each dashboard
  • Review data code: Data code uses safe_eval with full ORM access
Troubleshooting AI-Generated Dashboards

AI can occasionally make mistakes. If your dashboard shows a blank page or error:

  • Open browser developer tools (F12 → Console) to check for JavaScript errors
  • Copy error messages and share them with your AI agent to diagnose and fix issues
  • Use Export regularly to save working versions — restore anytime via Odoo import
Advanced: Extensions & Custom JavaScript
ECharts Extensions
  • echarts-gl — 3D charts, globes, WebGL
  • echarts-wordcloud — Word clouds
  • echarts-liquidfill — Liquid gauges
  • echarts-stat — Statistical transforms
Pre-Init JavaScript
  • echarts.registerMap()
  • echarts.registerTheme()
  • echarts.registerTransform()
Post-Init JavaScript
  • chart.on('click', ...)
  • Drill-down navigation
  • Export/download buttons
Export & Deployment
Export

Generates a standard Odoo-formatted CSV file containing all dashboard data — data code, chart options, settings, and external IDs. CSV format supports unlimited code size (unlike XLSX which has cell limits).

Staging → Production: Export on staging, then import the CSV on production. External IDs allow Odoo to match and update the existing record on subsequent imports — reimporting cleanly overwrites all fields.

Backup & Restore: Export regularly to save working versions. If something breaks, reimport the CSV to restore your dashboard.

Frequently Asked Questions

Why hasn't my tool list updated after changing the allowlist?

MCP clients cache the tool list at connection time. After changing tool allowlists, adding/removing prompt templates, or modifying any MCP configuration, you must disconnect and reconnect your AI client for changes to take effect. In Claude Code CLI, use /mcp to manage connections. In Claude Desktop/Claude.ai, remove and re-add the connector.

How do I create custom prompt templates?

Navigate to MCP Server → Prompt Templates and create a new template. Use {{variable}} syntax for arguments and set visibility to Private, Shared, or Public. Templates appear as selectable commands in connected AI clients. Remember to disconnect and reconnect your AI client after creating new templates for them to appear.

Why can't my user access MCP tools?

Users need the "MCP User" group assigned in their access rights (Settings → Users → Access Rights). Additionally, write and execute tools require explicit allowlist membership in the MCP configuration. Read tools are auto-enabled for all MCP users.

How do I share a web application publicly?

In the webapp's Sharing tab, add the "Public" group to "Shared with Groups". The app URL can then be accessed without login. You can add a link to the app directly on your website for public accessibility. Portal users can be granted access the same way by adding the "Portal" group.

Why can't other users see the EChart or WebApp I created?

By default, ECharts and WebApps are only visible to the user who created them. To share with other users in your organization, go to the Sharing tab on the record and add users or groups to "Shared with Users" or "Shared with Groups". For example, add "Role / User" to share with all internal employees, or "Role / Portal" to share with portal users. You can also share with specific users individually.

Is my data safe when AI generates dashboards and web apps?

Yes. All code execution happens on your Odoo server, not on the AI provider's infrastructure. For EChart dashboards, disable "Expose EChart Data in Tool Response" in configuration so AI agents only generate code without ever seeing the actual data. Webapp data code and endpoint handlers also run server-side with the viewer's permissions — never exposing data to the AI agent.

Can I export and deploy my web apps and dashboards across instances?

Yes. Both web applications and EChart dashboards have an Export button that generates a CSV with external IDs. Import the CSV on any Odoo instance — first import creates the records, subsequent imports match on external IDs and update in place. This enables a clean staging → production workflow.

What AI clients are supported?

Any client supporting Remote MCP with OAuth 2.1 is compatible. This includes Claude (Desktop, CLI, claude.ai), Gemini CLI, ChatGPT (Developer Mode), Cursor, Windsurf, and more. The module implements standard MCP 2025-11-25 specification with Streamable HTTP transport.

How do I test without HTTPS?

Use ngrok to create an HTTPS tunnel to your local Odoo instance: ngrok http 8069. Then set the ngrok URL as web.base.url in System Parameters and use the ngrok URL as your MCP server address.

Does it work with multiple databases?

Yes. Add odoo_remote_mcp to server_wide_modules in your odoo.conf, then use the URL format https://your-odoo.com/<database>/mcp to connect AI agents to specific databases.

How do I enable faster code search?

Install ripgrep on your server for significantly faster code searches. On Ubuntu/Debian: sudo apt install ripgrep. On macOS: brew install ripgrep. The module automatically detects and uses ripgrep when available, with a Python fallback.

Does the module builder require a server restart or deployment step?

No. The entire workflow — creating files, packaging the ZIP, and installing the module — happens live through AI conversation with no server restart, no deployment pipeline, and no manual file upload. AI calls the manage_module tool which automatically packages and installs via Odoo's base_import_module. Your new models, fields, views, and menus are active immediately. Updates work the same way: AI modifies files, repackages, and reinstalls in a single operation.

Are AI-created modules locked to this app? Can I convert them to standard Odoo modules?

No lock-in. Modules created by the AI are standard Odoo importable modules — they use the same base_import_module framework that Odoo itself provides. The generated ZIP files contain a standard __manifest__.py and data files (XML, CSV) that follow Odoo's conventions.

You can download the ZIP from the Download tab and use it independently — import it on any Odoo instance via Apps → Import Module, without needing this app installed. If you outgrow the data-module approach, a developer can convert the ZIP into a full Python-based Odoo addon by adding model classes and business logic. The AI-generated data files (views, security rules, menus) remain valid and reusable as-is.

My AI-generated app shows a blank page or error — what should I do?

AI can occasionally make mistakes when generating code. If your web application or dashboard doesn't display correctly:

  1. Open browser developer tools (F12 or right-click → Inspect → Console tab) to check for JavaScript errors
  2. Copy the error message and share it with your AI agent — it can usually diagnose and fix the issue
  3. Describe what you see (blank page, partial render, specific error) to help the AI understand the problem
Pro tip: Use the Export button regularly to save working versions of your apps and dashboards. If something breaks after an AI modification, you can restore by reimporting the CSV file.

Support & Documentation

Documentation

Built-in docs at /mcp/docs

Email Support

support@codemarchant.com

Website

codemarchant.com

Start Building with AI Today

Install Odoo MCP Studio and let AI build your next web app, data module, dashboard, or automation.

MCP Server for Odoo

Enable AI agents like Claude, Gemini, and ChatGPT to interact with your Odoo instance via the Model Context Protocol (MCP).

Setup

  1. Install the module
  2. Add users to the MCP User group
  3. Configure tool allowlists in MCP Server → Configuration
  4. Connect your AI client (see Quick Connect below)

Quick Connect

Replace https://your-odoo.com with your Odoo instance URL.

Claude Code CLI:

claude mcp add odoo --transport http https://your-odoo.com/mcp
within claude cli use /mcp command and authenticate.

Claude Desktop / Claude.ai

Settings → Connectors → Add Custom Connector → Enter URL:

https://your-odoo.com/mcp

Browser opens for OAuth → Authorize → Ready

Guide: https://modelcontextprotocol.io/docs/develop/connect-remote-servers#connecting-to-a-remote-mcp-server

Gemini CLI

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "odoo": {
      "url": "https://your-odoo.com/mcp"
    }
  }
}

within gemini cli, use /mcp command and authenticate

ChatGPT (Developer Mode)

In chatgpt settings → Apps menu → Advanced settings → Enable Developer Mode → Create app and add MCP server URL:

https://your-odoo.com/mcp

Browser opens for OAuth → Authorize → Ready

Guide: https://platform.openai.com/docs/guides/developer-mode

Requirements

  • HTTPS required for production
  • ripgrep (optional) - Faster code search

Install ripgrep

# Ubuntu/Debian
sudo apt install ripgrep

# macOS
brew install ripgrep

# Windows
choco install ripgrep

Testing without HTTPS (ngrok)

For local development without HTTPS:

# Expose local Odoo via HTTPS tunnel
ngrok http 8069

# Use generated URL, set as web base url in system parameters: https://xxx.ngrok-free.app/mcp

Endpoints

  • /mcp - MCP protocol endpoint
  • /mcp/docs - Built-in documentation
  • /.well-known/oauth-protected-resource - OAuth resource metadata
  • /.well-known/oauth-authorization-server - OAuth server metadata

Multi-Database Support

For environments with multiple databases served from a single Odoo URL, the module supports path-based database routing.

Requirements

Add the module to server_wide_modules in your odoo.conf:

server_wide_modules = web,base,odoo_remote_mcp

Connection URLs

Use the database name in the URL path when connecting:

https://your-odoo.com/<database>/mcp

Examples

Claude Code CLI:

claude mcp add production --transport http https://your-odoo.com/production_db/mcp
claude mcp add staging --transport http https://your-odoo.com/staging_db/mcp

Gemini CLI (~/.gemini/settings.json):

{
  "mcpServers": {
    "odoo_production": {
      "url": "https://your-odoo.com/production_db/mcp"
    },
    "odoo_staging": {
      "url": "https://your-odoo.com/staging_db/mcp"
    }
  }
}

Path-based Endpoints

All endpoints support the database path prefix:

  • /<database>/mcp - MCP protocol endpoint
  • /<database>/mcp/docs - Built-in documentation
  • /<database>/oauth/authorize - OAuth authorization
  • /<database>/oauth/token - Token endpoint
  • /.well-known/oauth-protected-resource/<database>/mcp - Resource metadata

Changelog

16.0.4.0.0 — 2026-02-09 (AI Module Builder)

Create Custom Odoo Data Modules with AI

  • New manage_module tool for creating and managing custom Odoo data modules
  • Create models, fields, views, menus, security rules, and server actions via XML/CSV data files
  • Automatic ZIP packaging and one-click installation via base_import_module
  • Modules persist across restarts and appear in the standard Apps menu
  • Full lifecycle management: create, package, install, update, and uninstall
  • Download packaged ZIP files for backup or manual deployment
  • Per-user allowlist access control for the manage_module tool
  • Module form view with file editor, download tab, and chatter activity tracking
  • Tool count increased from 13 to 14
  • Major rebrand: "Odoo MCP Studio — AI React App, Module & EChart Builder"
16.0.3.2.0 — 2026-02-06 (Code Patches & Embed)
  • Code patching for manage_webapp: surgical find/replace edits via *_patches fields (e.g. component_code_patches, shared_components_patches, handler_code_patches) instead of rewriting entire code fields — saves context and reduces errors
  • Iframe embed code for web applications: one-click copy snippet in the Sharing tab
  • Improved storage documentation in tool description: clarifies mcp.webapp.user.storage model is queryable server-side for cross-user features (leaderboards, aggregations)
16.0.3.1.0 — 2026-01-30 (Tags, Gallery and webapp slugs)
  • Tags system for categorizing webapps/echarts with management view
  • Webapp enhancements: thumbnail, view count, sequence ordering, webapp slug support
  • EChart iframe embed option with one-click copy in Sharing tab
16.0.3.0.0 — 2026-01-20 (React Web Applications)

Build Full React Apps from Odoo

  • New manage_webapp tool for creating and managing React 19 web applications
  • Multi-page routing with React Router 6 (HashRouter or MemoryRouter)
  • Tailwind CSS enabled by default for utility-first styling
  • ESM import maps: add any library from esm.sh (Chart.js, Recharts, etc.)
  • Browser-based JSX compilation with Babel — no server build step
  • Python data binding: fetch Odoo data with Python, access via React props
  • Custom API endpoints: define GET/POST/PUT/DELETE handlers with Python
  • Persistent user storage: server-side (5MB) with localStorage cache
  • User context in components: id, name, email, roles, company info
  • Flexible sharing: public, portal, groups, or specific users
  • Version control: export/import webapps as XLSX
  • Tool count increased from 12 to 13
  • Major rebrand: "Odoo MCP Studio — AI App & EChart Builder"
16.0.2.1.0 — 2026-01-12 (Advanced ECharts)

Extensions & Custom JavaScript Support

  • ECharts extensions: 4 popular extensions loaded by default (echarts-gl, wordcloud, liquidfill, stat)
  • Pre-init JavaScript: code that runs before chart renders (registerMap, registerTheme, registerTransform)
  • Post-init JavaScript: code that runs after chart renders (event handlers, drill-down, exports)
  • New prompt templates: "3D Globe Command Center" and "Word Cloud Dashboard"
  • Advanced tab in EChart form view for extension and JavaScript configuration
  • CORS-friendly texture URLs documented for 3D globe visualizations
16.0.2.0.0 — 2026-01-08 (Major Release)

ECharts Interactive Dashboards

  • New create_echart tool for AI-generated dashboards using Apache ECharts
  • Vibe coding for dashboards: describe what you want to visualize, AI builds it
  • Blank canvas for AI: no rigid widgets, complete creative freedom
  • No configuration lock-in: pure Python data code and JSON chart options
  • Full data isolation support: toggle "Expose EChart Data in Tool Response" to keep data on server
  • Flexible sharing: public links via secure tokens or internal user/group sharing
  • Tool count increased from 11 to 12
16.0.1.1.1 — 2026-01-05
  • Improved transaction handling: tool execution now uses savepoints to rollback partial changes on failure
  • Added full traceback logging to execution logs for easier debugging
  • Defensive user_id capture before tool execution
16.0.1.1.1
  • Fixed "Invalid access mode" error affecting Calendar and other views
16.0.1.1.0
  • Added support for multi-database environments
  • Minor fixes
16.0.1.0.0 — 2026-01-03
  • Added support for multi-database environments
  • Minor fixes
16.0.1.0.0 — 2026-01-01
Initial release
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with