What you will build
n8n is good at moving data between apps and running automations on a schedule or a webhook. Odoo holds your customers, orders, invoices and stock. The Model Context Protocol (MCP) is the bridge between them: it gives n8n a single, secured connection to your Odoo data, with a fixed set of safe actions like searching records, reading a record, creating one or posting a message.
Once the connection is in place, an AI agent in n8n can answer questions about your Odoo data, or you can build a plain workflow that creates and updates records without writing XML-RPC calls by hand. This guide walks through the full setup. There is also a short video at the top of this page if you prefer to follow along on screen.
Before you start
- An Odoo MCP Pro account with at least one Odoo connection set up and verified. If you have not done this yet, add your Odoo URL, database and login on the setup page first.
- An n8n instance. Both n8n Cloud and self-hosted work. For self-hosted, use a recent version so the MCP Client Tool node is available.
- Your MCP server URL. You will find it on your Odoo MCP Pro setup page under "Your MCP server URL". Keep that tab open, you will copy the URL in a moment.
Step 1: Copy your MCP server URL
Open your Odoo MCP Pro dashboard and go to the setup page. Find the block labelled "Your MCP server URL" and copy the value. This is the address n8n connects to. Every workspace has its own URL, so make sure you copy the one for the workspace you want to use.
Step 2: Add the MCP Client Tool node
In n8n, open the workflow where you want to use Odoo. If you are building an AI agent, add an AI Agent node first, then attach an MCP Client Tool node to it as a tool. If you only want to call Odoo from a normal workflow, add the MCP Client node on its own.
In the node settings, set the transport to HTTP Streamable. The older SSE transport is deprecated, so pick HTTP Streamable for a new connection. Paste your MCP server URL into the endpoint field.
Step 3: Connect and authorise
Odoo MCP Pro uses OAuth, so n8n sends you to a login screen instead of asking for a password inside the node. In the node credentials, choose OAuth2 and start the connection. A window opens where you log in and approve access for n8n. After you approve, n8n stores the token and the node turns green.
You only do this once per credential. n8n refreshes the token in the background, so the connection keeps working without you logging in again.
Step 4: Test the connection
Run the node once to confirm it works. A simple first call is list_models, which returns the Odoo models you can reach, or search_records on res.partner to pull back a few contacts. If you get a list back, n8n is talking to Odoo through MCP and you are ready to build.
What you can do from n8n
The connection exposes the same tools you would use in any MCP client:
- search_records and get_record to read data, for example open quotations or a single customer.
- create_record, update_record and delete_record to write back, for example logging a lead or updating an order line.
- post_message to add a note or message to a record's chatter.
- list_models to discover which models are available in your database.
Because the actions are fixed and scoped to your connection, an AI agent in n8n can only do what these tools allow. It cannot run arbitrary code against your database.
Example: turn a form submission into an Odoo lead
A common first workflow looks like this:
- A Webhook or form trigger receives a new enquiry.
- An AI Agent node reads the message and decides what to store.
- The MCP Client Tool node calls
create_recordoncrm.leadwith the name, email and a short summary. - Optionally,
post_messageadds the original enquiry text to the lead so your sales team has the full context.
From here you can branch out: enrich the lead, notify a channel, or create a follow-up task. n8n handles the flow, MCP handles the Odoo part.
Troubleshooting
- The login window does not appear or fails. Check that you copied the full MCP server URL and that the transport is set to HTTP Streamable.
- The node connects but returns nothing. Confirm your Odoo connection is verified on the setup page, and that the model you are querying exists in your database.
- You hit a call limit. Each plan has a daily call budget. If a busy workflow runs into it, check your plan on the billing page.
Need a hand?
If you get stuck, the video at the top of this page walks through the same steps on screen. You can also email support@pantalytics.com and we will help you get connected.