Odoo Inventory MCP. Audit stock levels across every location, instantly.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Odoo Inventory MCP Server lets you manage your entire warehouse and product lifecycle using natural conversation with Odoo ERP. Track stock levels across multiple sites, audit complex transfers, search specific lot numbers, or find exact storage locations—all without opening a single tab.
It gives you full visibility into where every item is right now.
What your AI agents can do
Odoo get transfer
Retrieves full details for a specific stock transfer, including every individual product move line within that transfer.
Odoo list adjustments
Lists proposed inventory adjustments—like discrepancies or cycle count differences—that are awaiting review and approval.
Odoo list locations
Retrieves a list of all internal storage locations (bins, zones) within your Odoo warehouses, including their full path.
Find out exactly how much of a specific product is stored in each warehouse zone or internal bin.
Pull up a complete audit trail for any batch of goods, showing every source and destination location the stock moved through.
List all proposed inventory corrections—like cycle count discrepancies or missing items—that are waiting for manager approval.
Get a list of every physical storage area and bin within your Odoo network, helping you plan placement.
Use lot numbers or serial identifiers to quickly find all associated products and their quantities for strict traceability.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Odoo Inventory MCP Server: 9 Tools for Warehouse Operations
These tools let your AI agent interact with core Odoo inventory functions—from listing warehouses to tracking individual product moves. Use them to automate deep operational queries.
019d75e2odoo get transfer
Retrieves full details for a specific stock transfer, including every individual product move line within that transfer.
019d75e2odoo list adjustments
Lists proposed inventory adjustments—like discrepancies or cycle count differences—that are awaiting review and approval.
019d75e2odoo list locations
Retrieves a list of all internal storage locations (bins, zones) within your Odoo warehouses, including their full path.
019d75e2odoo list stock moves
Lists recent individual product movements in chronological order, showing what moved, the quantity, and where it went.
019d75e2odoo list transfers
Pulls a list of all major stock transfers (receipts, deliveries) showing their current status, source/destination, and reference number.
019d75e2odoo list warehouses
Lists the names, short codes, and addresses for every top-level warehouse configured in your Odoo system.
019d75e2odoo product stock
Gets a detailed breakdown of stock levels for one product, showing its quantity reserved at each specific internal location.
019d75e2odoo search inventory products
Searches for products by name and returns real-time counts: available, incoming, and outgoing quantities.
019d75e2odoo search lots
Searches for product lots or serial numbers to trace a specific batch's origin and total quantity.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Odoo Inventory, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
You gotta stop jumping between tabs just to check stock levels. This Odoo Inventory MCP Server lets your agent connect straight into Odoo ERP so you can talk through complex warehouse operations using plain English. You never have to open a single reporting module again; your AI client handles the database calls, giving you real-time visibility into where every item is sitting right now.
You use natural conversation—like asking 'Where's Product XYZ?'—and it runs the necessary queries instantly. The server exposes nine specific tools that cover everything from mapping out your physical bins to tracing a single batch of goods through multiple sites. It gives you full control without needing any clicks or confusing menus.
To figure out exactly how much product is where, you run odoo_product_stock, which pulls up a detailed breakdown for one product, showing its precise quantity reserved at every internal location within your system. If you need to know the general availability of products across multiple sites, use odoo_search_inventory_products; it gives you real-time counts: what's available right now, what’s incoming soon, and what's outgoing.
For full warehouse mapping, two tools do the heavy lifting. You get a master list of all top-level warehouses—including their names, short codes, and addresses—by calling odoo_list_warehouses. To drill down into where goods actually sit, use odoo_list_locations; this retrieves every single internal storage location (your bins or zones) and its full path in the network.
You can combine these to plan exactly where you need to place something.
When you need to track what moved through your system, you have several options. To pull up a list of all major stock transfers—the receipts or deliveries that move large quantities—you use odoo_list_transfers. For the actual movement history, odoo_list_stock_moves lists every individual product movement in chronological order; you see what moved, how much, and where it went.
If you need the deep dive on one specific transfer, run odoo_get_transfer, which pulls up all the full details for that stock transfer, including every single product move line attached to it.
For strict traceability, especially with specialized goods, use odoo_search_lots. This tool lets you search by lot numbers or serial identifiers, tracing a specific batch's whole origin and its total quantity. If you need to check pending paperwork, running odoo_list_adjustments lists all proposed inventory corrections—things like cycle count discrepancies or missing items—that are sitting there waiting for a manager to sign off on them.
In short, the server handles these nine specific functions: odoo_get_transfer, odoo_list_adjustments, odoo_list_locations, odoo_list_stock_moves, odoo_list_transfers, odoo_list_warehouses, odoo_product_stock, odoo_search_inventory_products, and odoo_search_lots. It gives you the complete picture of your product lifecycle, from warehouse planning to final count verification.
How Odoo Inventory MCP Works
- 1 You tell your AI agent what you need—for example, 'Show me all transfers that happened last week.'
- 2 The agent identifies the required tools (like
odoo_list_transfers) and executes them against Odoo's database. - 3 It returns structured data showing transfer references, status, source/destination locations, and related documents.
The bottom line is: you ask a question about your inventory flow, and the agent runs multiple backend queries to build the answer for you.
Who Is Odoo Inventory MCP For?
This server targets warehouse managers and operations analysts who spend too much time cross-referencing reports. If you're tired of running five different standard Odoo reports just to figure out where a product is, this is for you. It gives deep access to the transactional data that drives physical logistics.
Uses odoo_list_adjustments and odoo_get_transfer to review pending stock corrections or drill down into specific incoming receipts.
Runs checks using odoo_product_stock to determine if a product's current count matches its expected location-by-location breakdown.
Queries odoo_search_inventory_products to check overall availability and incoming/outgoing quantities before creating purchase orders.
What Changes When You Connect
- See the complete current stock count for any product using
odoo_search_inventory_products. You get available quantity, incoming projected amounts, and outgoing commitment numbers—all in one view. - Trace a shipment's full lifecycle by calling
odoo_list_transfersfirst. Then, useodoo_get_transferto drill down into the precise product move lines for audit records. - Map your entire warehouse structure using
odoo_list_locations. This helps you understand which bins exist before planning any physical inventory placement or count. - Quickly review discrepancies by running
odoo_list_adjustments. You instantly see all proposed stock changes that need validation, without manually filtering reports. - Confirm product availability across multiple sites by using
odoo_product_stock. This tool shows you the quantity broken down by location, not just a single total number.
Real-World Use Cases
Finding Stock for a Customer Order
The operations team needs to fulfill an urgent order but isn't sure if enough stock exists. They ask the agent: 'Check stock for SKU-456.' The agent runs odoo_search_inventory_products, which returns real-time data showing not just the total available count, but also how many units are reserved versus physically ready to ship.
Investigating a Stock Discrepancy
The warehouse manager notices Product B is short by 10 units. They ask the agent to 'Show pending adjustments for Product B.' The agent runs odoo_list_adjustments, immediately presenting all cycle count reports and proposed corrections that need review, stopping the manual investigation process.
Tracking a Failed Delivery
A delivery was supposed to happen but failed. A user asks: 'What happened with transfer XYZ?' The agent runs odoo_list_transfers to find the status, then uses odoo_get_transfer to pull the detailed list of items that were involved in that specific move.
Checking Batch Traceability
A quality control officer needs to confirm all parts used in a recall must come from Lot #ABC. They ask: 'Search for lot ABC.' The agent uses odoo_search_lots and gets the product name, associated records, and total quantity linked to that specific batch number.
The Tradeoffs
Checking only total stock.
A user checks the main dashboard and sees 'Total Stock: 500 units.' They assume this is enough, but they don't know if those 500 units are all sitting in one inaccessible corner of the warehouse.
→
To find out where the stock is, use odoo_product_stock. This tool breaks down the quantity by every specific location, telling you exactly what you have and where to get it.
Confusing product list with movement history.
A user asks 'What moved today?' and only gets a simple list of products. They can't see the source or destination, making auditing impossible.
→
Use odoo_list_stock_moves. This tool provides an audit trail that shows the product name, quantity, and the specific origin/destination locations for every single move.
Searching across multiple reports manually.
To check a transfer, a user has to open the transfers report, find the ID, then open the details view, and finally look at the line items. It's three steps just to get the full picture.
→
Run odoo_get_transfer. This single call pulls all necessary data—the transfer header and every associated product move line—into one structured response.
When It Fits, When It Doesn't
Use this MCP server if your core business process involves physically counting, moving, or tracking goods. You need to know the 'where' and 'how much' at any given moment. For example: If you need to validate a product count against its current location, use odoo_product_stock. If you are auditing why stock changed (a transaction), use odoo_list_transfers or odoo_list_adjustments. Don't use this server if you only need general financial reporting (like P&L) or HR data. Those require separate tools, and they aren't covered here.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Odoo. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 9 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Managing inventory shouldn't feel like a scavenger hunt through reports.
Today, checking the status of one product requires logging into Odoo, navigating to the Inventory tab, filtering by product SKU, running the stock report, and then if you need history, you have to open another module entirely. It’s clicking between 4 or 5 different reports just to answer a single question.
With this MCP server, your agent handles that whole process in one go. You ask for 'The current status of Product X,' and it combines the data from `odoo_search_inventory_products` with location details, giving you the full picture without ever switching tabs.
Odoo Inventory MCP Server: Get a real-time audit trail.
Before, figuring out if a transfer was properly recorded meant finding the initial picking record, then cross-referencing that against the final receiving report. It was slow and prone to human error or missed links.
Now, running `odoo_list_stock_moves` gives you an immediate, chronological flow of every single product movement. You get the audit trail instantly—the system handles the complex linking for you.
Common Questions About Odoo Inventory MCP
How do I check stock by location using odoo_product_stock? +
Run odoo_product_stock and specify the product ID. It will return a breakdown showing the quantity for that item at every internal bin or warehouse zone, not just the total count.
What is the difference between odoo_list_transfers and odoo_list_stock_moves? +
Use odoo_list_transfers to see the high-level batch movements (e.g., 'Incoming Shipment ABC'). Use odoo_list_stock_moves to get the granular, chronological record of every individual product unit that moved during those transfers.
Can I find out about pending adjustments using odoo_list_adjustments? +
Yes. Running odoo_list_adjustments pulls all quant records where an adjustment has been proposed but hasn't yet been confirmed or applied by a manager.
Which tool do I use to find out what product lots are available? +
Use odoo_search_lots. You provide the lot number, and it returns information on the associated product name and the total quantity remaining for that specific batch.
When do I use odoo_get_transfer to see granular stock movements? +
It gives you every single associated move line (move IDs) within a specific transfer. You need this when the summary isn't enough; it shows exactly which product moved, how much, and where for that one receipt or delivery.
How do I use odoo_list_locations to map my warehouse structure? +
This tool lists all internal storage spots—bins, zones, and shelves. It returns the full hierarchical path (e.g., WH/Aisle 1/Bin C), letting you understand where stock is physically stored inside a larger location.
What does odoo_search_inventory_products tell me about general availability and forecasts? +
It provides real-time quantities, but it also includes forecasted numbers (virtual_available). This lets you check not just what's on hand now, but also the expected incoming or outgoing stock for planning.
When do I use odoo_list_warehouses to see all operational sites? +
This is your starting point if you need an overview of every top-level warehouse configured in Odoo. It lists the short codes and addresses for all major organizational units before you check specific transfers.
Which Odoo versions are supported? +
This server uses the JSON-RPC protocol, which is compatible with Odoo 14, 15, 16, 17, and 18. Both Odoo Community and Enterprise editions are supported.
Does it work with Odoo.com (SaaS)? +
Yes! Works with both Odoo.com hosted instances and self-hosted Odoo servers. Just provide your instance URL and API key.
How do I generate an API Key? +
Go to Settings → Users → select your user → API Keys tab → New API Key. Give it a descriptive name and copy the generated key.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
InflatableOffice
Run your party rental and inflatable business with online booking, inventory management, and delivery route planning.
ArcGIS
Automate mapping and spatial analysis via ArcGIS — perform geocoding, route solving, vehicle routing, and calculate origin-destination matrices from any AI agent.
Younium
Manage B2B subscriptions, accounts, and financial metrics on Younium — the leading subscription management and billing platform.
You might also like
Buildkite
Automate CI/CD pipelines via Buildkite — manage builds, agents, and deployments directly from any AI agent.
Nalpeiron V10
Protect your software with license management, usage tracking, and entitlement enforcement for desktop and cloud applications.
ScraperAPI
Equip your AI agent with proxy rotation and headless browsers to extract HTML, Google SERPs, and Amazon data at scale.