Odoo Inventory MCP Server for Pydantic AI 9 tools — connect in under 2 minutes
Pydantic AI brings type-safe agent development to Python with first-class MCP support. Connect Odoo Inventory through the Vinkius and every tool is automatically validated against Pydantic schemas — catch errors at build time, not in production.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import asyncio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerHTTP
async def main():
# Your Vinkius token — get it at cloud.vinkius.com
server = MCPServerHTTP(url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
agent = Agent(
model="openai:gpt-4o",
mcp_servers=[server],
system_prompt=(
"You are an assistant with access to Odoo Inventory "
"(9 tools)."
),
)
result = await agent.run(
"What tools are available in Odoo Inventory?"
)
print(result.data)
asyncio.run(main())
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Odoo Inventory MCP Server
Connect Odoo ERP to any AI agent — manage your entire business without switching tabs.
Pydantic AI validates every Odoo Inventory tool response against typed schemas, catching data inconsistencies at build time. Connect 9 tools through the Vinkius and switch between OpenAI, Anthropic, or Gemini without changing your integration code — full type safety, structured output guarantees, and dependency injection for testable agents.
What you can do
- CRM — Search and create leads, track opportunities through your pipeline
- Contacts — Find individual contacts and companies, create new partners
- Sales — List and manage sales orders with full order details
- Notes — Add comments and notes to any record in your Odoo instance
The Odoo Inventory MCP Server exposes 9 tools through the Vinkius. Connect it to Pydantic AI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Odoo Inventory to Pydantic AI via MCP
Follow these steps to integrate the Odoo Inventory MCP Server with Pydantic AI.
Install Pydantic AI
Run pip install pydantic-ai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save to agent.py and run: python agent.py
Explore tools
The agent discovers 9 tools from Odoo Inventory with type-safe schemas
Why Use Pydantic AI with the Odoo Inventory MCP Server
Pydantic AI provides unique advantages when paired with Odoo Inventory through the Model Context Protocol.
Full type safety: every MCP tool response is validated against Pydantic models, catching data inconsistencies before they reach your application
Model-agnostic architecture — switch between OpenAI, Anthropic, or Gemini without changing your Odoo Inventory integration code
Structured output guarantee: Pydantic AI ensures tool results conform to defined schemas, eliminating runtime type errors
Dependency injection system cleanly separates your Odoo Inventory connection logic from agent behavior for testable, maintainable code
Odoo Inventory + Pydantic AI Use Cases
Practical scenarios where Pydantic AI combined with the Odoo Inventory MCP Server delivers measurable value.
Type-safe data pipelines: query Odoo Inventory with guaranteed response schemas, feeding validated data into downstream processing
API orchestration: chain multiple Odoo Inventory tool calls with Pydantic validation at each step to ensure data integrity end-to-end
Production monitoring: build validated alert agents that query Odoo Inventory and output structured, schema-compliant notifications
Testing and QA: use Pydantic AI's dependency injection to mock Odoo Inventory responses and write comprehensive agent tests
Odoo Inventory MCP Tools for Pydantic AI (9)
These 9 tools become available when you connect Odoo Inventory to Pydantic AI via MCP:
odoo_get_transfer
picking record with all fields including move line IDs. Use after listing transfers to drill into a specific receipt, delivery, or internal transfer for full details. Get complete details of a specific stock transfer including its individual stock move lines
odoo_list_adjustments
quant records where inventory_quantity_set is true — these are quants with a proposed adjustment that has not yet been applied. Use when the user asks about pending stock corrections, cycle count discrepancies, or inventory adjustments awaiting approval. List pending inventory adjustments that need to be validated or reviewed by a warehouse manager
odoo_list_locations
location records with usage="internal" — the physical locations where stock is stored. Returns location name, full hierarchical path (e.g., WH/Stock/Zone A), and parent warehouse. Use when the user needs to find specific storage locations, plan inventory placement, or understand the warehouse structure. List internal stock locations (bins, zones, shelves) within Odoo warehouses
odoo_list_stock_moves
move records ordered by date descending. Each move represents a single product movement from one location to another. Returns product name, quantity, state, origin/destination locations, and source document. Use when the user needs a granular audit trail of what moved where and when. List recent individual stock movements showing product, quantity, source, destination, and processing state
odoo_list_transfers
picking records — each represents a batch of stock moves like incoming shipments, outgoing deliveries, or internal transfers. Returns transfer reference, partner, operation type, state (draft/waiting/confirmed/assigned/done), source document (e.g., SO or PO number), scheduled date, and source/destination locations. Filter by state to see only pending, ready, or completed transfers. List stock transfers (receipts, deliveries, internal moves) in Odoo with their current processing status
odoo_list_warehouses
warehouse records. Each warehouse has a name, short code (e.g., WH, WH2), and linked partner/address. Warehouses are the top-level organizational unit in Odoo Inventory. Use when the user asks about warehouse locations, needs warehouse codes for transfers, or wants an overview of the logistics network. List all configured warehouses in Odoo with their short codes and addresses
odoo_product_stock
quant records for the given product ID, showing quantity and reserved quantity at each internal location. Use when the user needs to know WHERE stock is located, not just the total — e.g., "how much of Product X is in Warehouse A vs Warehouse B?" Get detailed stock levels for a specific product broken down by warehouse location
odoo_search_inventory_products
product records (variants) by name. Returns product name, internal reference (SKU), quantity on hand (qty_available), forecasted quantity (virtual_available), incoming qty, outgoing qty, category, and product type. Use when the user wants to check stock levels, find products with low inventory, or verify availability before fulfillment. Search products in Odoo Inventory with real-time stock quantities, including available, incoming, and outgoing
odoo_search_lots
lot records by name/number. Returns lot name, associated product, and total quantity in that lot. Use for traceability — when the user needs to find which products belong to a specific batch, or trace a serial number back to its origin. Search for lot numbers or serial numbers in Odoo to trace product batches
Example Prompts for Odoo Inventory in Pydantic AI
Ready-to-use prompts you can give your Pydantic AI agent to start working with Odoo Inventory immediately.
"Search for leads from the website"
"Show recent sales orders"
Troubleshooting Odoo Inventory MCP Server with Pydantic AI
Common issues when connecting Odoo Inventory to Pydantic AI through the Vinkius, and how to resolve them.
MCPServerHTTP not found
pip install --upgrade pydantic-aiOdoo Inventory + Pydantic AI FAQ
Common questions about integrating Odoo Inventory MCP Server with Pydantic AI.
How does Pydantic AI discover MCP tools?
MCPServerHTTP instance with the server URL. Pydantic AI connects, discovers all tools, and generates typed Python interfaces automatically.Does Pydantic AI validate MCP tool responses?
Can I switch LLM providers without changing MCP code?
Connect Odoo Inventory with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Odoo Inventory to Pydantic AI
Get your token, paste the configuration, and start using 9 tools in under 2 minutes. No API key management needed.
