Odoo Gemini integration with allowed_tools, not a custom plugin.
Gemini reaches Odoo over Streamable HTTP. You list which MCP tools may run. SSE is not the remote-MCP transport Google documents.

What Google documents
Remote MCP on the Gemini API is Streamable HTTP. Pass allowed_tools so delete is not callable just because the server advertised it. SSE is not this path. Clicks: connect Odoo to Gemini.
One Odoo MCP server can still serve Gemini, Claude and ChatGPT. That is the point of MCP.
Online
External MCP to Online still hits the Custom-plan API gate. In-Odoo MCP on Community 18/19 can skip it. Odoo Online.
allowed_tools as a change-control item
When someone adds confirm_order to the MCP server, Gemini will not call it unless you also add it to allowed_tools — if you configured that list. Keep the list in git next to the server. Review it like an ACL, not like a demo flag.
If you cannot show the list in an audit, you do not have a Gemini integration. You have a hope.
HTTP details that bite
Streamable HTTP, not SSE. Timeouts: ERP searches can be slow; keep tools to indexed domains (customer name, invoice number), not “scan all stock.move.” TLS must match what Gemini’s runtime can reach — a laptop ngrok for a board demo is not the production URL.
Official documentation
FAQ
Does Gemini support SSE MCP?
Google documents Streamable HTTP, not SSE. Remote MCP.
Can I restrict tools?
Yes. Use allowed_tools.
Does Gemini need JSON-2?
Only for an external proxy on Odoo 19. In-process uses the ORM. 17/18 external proxies use XML-RPC.
Keep going
Start read-only. Ask a real question.
Sandbox on sample Odoo 19 data, or we put MCP on your instance.