Connect Odoo to Gemini with JSON-2 + MCP.
Give Gemini search_overdue_invoices, not the whole ORM. MCP is the tool list; JSON-2 is how each tool hits Odoo 19.

Architecture: Gemini → MCP → JSON-2 → Odoo.
Example tools: search_customers, search_orders, get_invoice, search_products, get_stock.
Business tools give the model a smaller, understandable action space. That is the whole security argument in one line. Client details: connect Odoo to Gemini. Agent sequence: JSON-2 then MCP.
Gemini remote MCP over a JSON-2 back end
Gemini can call a remote MCP server (Streamable HTTP in Google’s current MCP client story). That server should not be a thin wrapper around “run any Odoo method.” It should be a short list of ERP tools whose implementations call JSON-2 — or the ORM, if the server is an Odoo module.
allowed_tools on the Gemini side is the client-side version of least privilege. Mirror it on the server: even if Gemini is configured to only call search_customers, do not also expose unlink_invoice “just in case.”
How to click Gemini itself: connect Odoo to Gemini. This page is the Odoo 19 wiring underneath.
Gemini will use every tool you advertise
Models are completers. If you advertise twenty write tools, some session will try one. The security design is the catalogue, not a system prompt that says “please be careful.”
Start with five reads that match how the business talks: customers, orders, invoices, products, stock. Add a sixth only when a real prompt fails without it. That is slower than dumping the model list and much cheaper than an accidental write.
JSON-2 still applies the bot user’s rights. Gemini cannot escalate by asking nicely. It can only call tools; tools only call methods the key can call. Keep the key boring. Odoo MCP security.
Gemini plus Odoo Online is two gates
Gate one: does this Gemini product allow remote MCP and the transport you are using? Check Google’s docs the day you connect.
Gate two: if the MCP server is external, does this Odoo Online database include the external API? Documented answer: Custom plan, not Standard. An in-Odoo module skips gate two.
Do not conflate “Gemini can use MCP” with “our Standard Online database is now an AI platform.” Architecture when the API exists: Odoo Online + JSON-2 + MCP.
Official documentation
FAQ
Why not raw API access?
A tiny action space is easier to reason about and to govern. search_overdue_invoices beats execute_any_odoo_method.
What is the principle?
The smallest useful set of capabilities. Gemini's allowed_tools list is the client-side version of that idea.
Does Gemini need JSON-2?
The Gemini side needs a remote MCP endpoint over Streamable HTTP (Gemini remote MCP). That endpoint, if it is external, typically uses JSON-2 to reach Odoo 19.
Where is the Gemini client guide?
JSON-2, MCP and clients
Start read-only. Ask a real question.
Sandbox on sample data, or we put MCP on your instance.