MCP server for Odoo 16–19
Your AI assistant, inside Odoo. With your permissions.
Each person connects as their own Odoo user. The assistant sees only what they see and changes nothing without an explicit approval.
Features
What it can do
More than thirty tools, built for people who use Odoo every day.
Search and analyse
Customers, orders, invoices, stock: questions in plain language, with totals computed by Odoo.
Changes under control
Preview, validation, approval. With compatible clients an approval card shows current and new values, with Approve and Reject.
Accounting
Receivable and payable aging, unreconciled items, a summary of accounting health.
Data quality
Duplicates, empty required fields, inconsistent records, found before they become mistakes.
Search your documents
Index notes, descriptions and messages to find what you need.
Your custom code · paid plan
Connect the GitHub repositories of your modules: the assistant reads the code behind models and methods.
Built for companies
One or more admins decide what every colleague can do
Writes on for one person and off for another, only on some models, methods only from a list, and the assistant can read your custom code first for more context. Your admins hold the controls, not the assistant and not the user.
| Colleague | Profile | Can write on | Methods |
|---|---|---|---|
| Anna · Sales | Operator | sale.order, res.partner | sale.order.action_confirm |
| Luca · Warehouse | Reader | Nothing: read only | — |
| Giulia · Accounting | Power | account.move, account.payment | Broad, with confirmation |
| Sara · IT admin | Power | All models | All methods |
Example of what an admin sets up. Names are invented. More than one user per company needs the paid plan: the free trial has one seat.
Reader reads and analyses. Operator proposes changes and runs listed methods, always with approval. Power has broad methods, with automatic confirmation where the company allows it.
Per-user control
The admin invites, assigns the profile, limits models, methods and tools, and disables a person at once.
Sensitive fields and audit
Hide fields per organisation and keep a record of every change.
Standard sign-in
OAuth 2.1 with PKCE, two-step verification, Google or GitHub sign-in, one-click disconnect of any app.
Compared with the MCP server built into Odoo 20
| Odoo 20 built-in | Hawklify | |
|---|---|---|
| Before a change | Nothing. The AI writes straight to Odoo. | You see old and new value and press Approve. |
| Who can write | Off by default. Switch it on and it is on for every MCP user alike. | Person by person: Anna can confirm quotations, Luca can only read. |
| Which data | Any record the user can edit in Odoo. Nothing narrows it on the MCP side. | Only the models you list: sales orders yes, payroll never. An expert on the Power profile gets all models at once. |
| Odoo actions | No ready-made tool. Someone must build one first. | Only the methods you allow, such as “confirm quotation”. An admin or expert on Power has them all by default, no method-by-method setup. |
| Your custom code | Not read. | Paid plan: read before acting, so the AI knows what your modules do. |
| Odoo versions | Enterprise 20. | Odoo 16 to 19, wherever the external API is on. |
Data and privacy
Hosted in Europe, built around GDPR
Your Odoo data is handled under the European data protection rules (Regulation (EU) 2016/679, GDPR).
Servers in the EU
The service and its database run in a European data centre (Frankfurt, Germany).
Keys encrypted, nothing sold
Each user enters their Odoo API key directly on a protected page; it is stored encrypted and never passes through the chat. Your data is not used for advertising and is not sold.
A data processing agreement
For your company’s data we act as processor, under an Art. 28 GDPR agreement. Read the DPA
Quick start
Ready in five steps
- Register and activate
Name, work email and company. Follow the activation email and choose a password.
- Describe your Odoo
HTTPS URL, database and transport (XML-RPC for 16–18, JSON-2 for 19).
- Save your API key
Create it in Odoo and enter it yourself on the protected page. It is stored encrypted and the assistant never sees it.
- Add the server to your assistant
Paste the server address into Claude, ChatGPT or your editor and authorise the app once.
- Ask your first question
For example: “Which invoices are overdue?”