360 AI Platform

Talk to your Odoo.

360 Odoo MCP connects Claude, ChatGPT, Cursor and any other MCP client to live Odoo data. On your desktop, in the browser, on your phone. Scoped to the models you choose, bound to each user's own Odoo access rights. Sign in with your Odoo account, or paste one config.

Read-first by design. No blanket write access.

Works with Claude · web, desktop & mobile Claude Code ChatGPT Cursor VS Code any MCP client · streamable HTTP
The standard

MCP is how AI talks to software.
Now it speaks Odoo.

The Model Context Protocol is the open standard AI assistants use to call external tools. The USB-C of AI integrations. 360 Odoo MCP puts a governed MCP endpoint in front of your Odoo, so assistants stop guessing about your business and start reading it.

7
Tools
search, read, count, metadata, aggregate, act
2
Keys on every call
environment key + personal user key
0
Blanket write tools
no generic create, write or delete
1
Sign-in to connect
OAuth with your Odoo login, or one pasted config
How it works

Three steps. No new infrastructure.

Your Odoo already talks to the 360 AI server. The MCP relay rides that same connection: nothing new to host or expose.

1

Connect your environment

Your Odoo is registered as an environment on the 360 AI server. One probe validates the link and syncs models, users and languages over the standard x360 connection.

2

Scope what AI can reach

Activate the models the assistant may see. Optionally pin the exact public methods per model. Everything else answers Unknown remote model.

3

Connect your client

On the web and on mobile, users add the connector and sign in with their own Odoo login (OAuth). Desktop and scripted clients paste a personal JSON snippet from the MCP Parameters wizard. First answer in minutes.

Capabilities

Seven tools. The whole surface an assistant needs.

A typed MCP toolset over Odoo's own RPC. Full domains, field metadata, grouped aggregates: everything an assistant needs to answer properly.

x360_search_read

Find and read records with full Odoo domains, field selection, ordering and pagination.

x360_read

Fetch specific records by ID. Just the fields you ask for.

x360_search_count

Count anything instantly, without pulling a single record into the conversation.

x360_fields_get

Field definitions and metadata, so the assistant understands your schema before it queries.

x360_list_models

Discover which models are open to the assistant. The allowlist, nothing more.

x360_read_group

Grouped aggregates straight from the ORM: revenue by month, tickets by team, pipeline by stage.

opt-in x360_call_method

Call public model methods. Only the ones you allowlisted, model by model.

Every tool accepts an Odoo language and context. Answers arrive in your users' language, timezone and company.

Security model

Give AI answers,
not the keys to your ERP.

Access is layered: protocol, environment, user, model, method. Every layer must agree before a single record leaves your Odoo.

Runs as a real user

Every tool call is bound to the authenticated remote user. Odoo's own ACLs and record rules decide what comes back. No shared super-user, ever.

Sign in, don't paste keys

OAuth 2.0 with the user's own Odoo login: authorization code with PKCE, dynamic client registration, refresh tokens. Revoke a client from Odoo at any time.

Two keys, both expiring

Config-based connections send an environment key plus a personal user key, validated together in constant time. Both carry expiry dates you control.

Model allowlist

Only synced, active models are reachable. Anything else returns Unknown remote model. The assistant can't even see that it exists.

Method allowlist

Method calls are opt-in per model, method by method. Private (underscore) methods are blocked outright.

Read-first by design

No generic create, write or delete tools are exposed. If the AI changes anything, it's through a method you deliberately allowed.

MCP Inspector: calling x360_search_read on project.task returns the error Unknown remote model
The allowlist, live: project.task isn't on it, so the relay refuses before your Odoo is even asked.
JSON-RPC 2.0 MCP 2024-11-05 → 2025-06-18 Streamable HTTP OAuth 2.0 · PKCE Open source · LGPL-3.0
In the product

Not a concept. Running today.

360 Odoo MCP ships as modules on the 360 AI server and connects environments on Odoo 16, 17, 18 and 19. Below: a live tool call through the relay, a connected environment with 432 synced models, and the per-user wizard that generates a paste-ready config.

MCP Inspector: x360_search_read on sale.order returns live order S00020 for Joel Willis with amount and state
x360_search_read on sale.order through the live relay: real records back in the client. Joel is a portal user, so he gets his own orders and nothing else.
Odoo backend: the Remote MCP tab on a connected x360 environment, showing the /x360mcp endpoint, header documentation and example configuration
The Remote MCP tab on a connected environment: endpoint, headers, example config.
Odoo backend: the Remote MCP Parameters wizard for a remote user, generating a personal paste-ready MCP configuration in JSON
One click per user: the MCP Parameters wizard emits a personal, paste-ready config.
What teams do with it

Ask. Report. Decide.

Real conversations in Claude over the MCP connection. Every answer starts with the x360 tool calls you can see at the top of the reply. Click any screenshot to read along.

Claude conversation: analyse last week's sales orders. Three x360 tool calls, then a breakdown of 27 orders worth 214,600 euro with proposed next actions
"Analyse my sales orders from last week." Three tool calls later: € 214,600 booked, four quotations going cold, two blocked deliveries, and a plan.
Claude conversation: accounts receivable status. Aging buckets over 312,480 euro of open invoices, worst offenders and suggested actions
"What's the status of our accounts receivable?" Aging buckets, the three customers behind 48% of the overdue book, and who to call instead of email.
Claude conversation: which suppliers to pay first. A ranked pay-now to can-wait list over 148,900 euro of open vendor bills with reasoning
"Which suppliers should I pay first, and why?" A pay-now to can-wait ranking, with the one flag that keeps the week cash-positive.
Get started

One sign-in. Or three lines of JSON.

  • On the 360 AI platform? Your server already has the endpoint. Open an environment, sync users, hand out configs.
  • Pick who gets access. Each user gets a personal key with an expiry date you control. Revoke one user without touching the rest.
  • Sign in or paste. On claude.ai, ChatGPT or the mobile apps: add the connector and sign in with your Odoo login. On Claude Desktop, Claude Code or Cursor: paste the snippet.
{
  "mcpServers": {
    "x360-remote": {
      "type": "streamable-http",
      "url": "https://<your-360-ai-server>/x360mcp",
      "headers": {
        "x360-api-key": "<environment-api-key>",
        "x360-user-id": "<your-user-id>",
        "x360-user-api-key": "<your-personal-key>"
      }
    }
  }
}
FAQ

The questions your IT team will ask.

Which AI clients can connect?
Practically all of them. Browser and mobile clients (claude.ai, the Claude apps, ChatGPT connectors) sign in with OAuth. Desktop and scripted clients (Claude Desktop, Claude Code, Cursor, VS Code, agent frameworks) connect with a pasted config. If it speaks MCP, it can speak Odoo.
How does the OAuth sign-in work?
By the book. The MCP endpoint advertises its authorization server per the MCP spec, the client registers itself (RFC 7591) and sends the user to the Odoo login page. Tokens use authorization code with PKCE and refresh; users sign in as themselves, so access rights apply as always. Revoke a connected client from Odoo whenever you want.
Can the assistant change my data?
No generic write tools are exposed. Changes happen only through public methods you've allowlisted per model with x360_call_method. Private (underscore) methods are blocked outright.
What data can the assistant see?
Only active models on the environment's allowlist. Within those, only the records the authenticated user could see in Odoo itself. Access rights and record rules are enforced by your Odoo, not re-implemented in a proxy.
Does my Odoo have to be exposed to the internet?
No. AI clients connect to the 360 AI server's /x360mcp endpoint. Your Odoo talks to that server over the existing x360 connection. No extra ports, no new public surface.
What's under the hood?
Open-source (LGPL-3.0) Odoo modules on the 360 AI platform. The relay speaks JSON-RPC 2.0 over streamable HTTP and supports MCP protocol versions 2024-11-05 through 2025-06-18. Connected environments can run Odoo 16, 17, 18 or 19.

Your ERP already knows the answer.
Let it speak.

360 Odoo MCP is part of the 360 AI platform by 360 ERP. Put a governed MCP endpoint in front of your Odoo and give every assistant in your company the same, safe view of the business.

Talk to 360 ERP