Odoo HR 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 HR 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 HR "
"(9 tools)."
),
)
result = await agent.run(
"What tools are available in Odoo HR?"
)
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 HR MCP Server
Connect Odoo ERP to any AI agent — manage your entire business without switching tabs.
Pydantic AI validates every Odoo HR 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 HR 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 HR to Pydantic AI via MCP
Follow these steps to integrate the Odoo HR 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 HR with type-safe schemas
Why Use Pydantic AI with the Odoo HR MCP Server
Pydantic AI provides unique advantages when paired with Odoo HR 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 HR 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 HR connection logic from agent behavior for testable, maintainable code
Odoo HR + Pydantic AI Use Cases
Practical scenarios where Pydantic AI combined with the Odoo HR MCP Server delivers measurable value.
Type-safe data pipelines: query Odoo HR with guaranteed response schemas, feeding validated data into downstream processing
API orchestration: chain multiple Odoo HR tool calls with Pydantic validation at each step to ensure data integrity end-to-end
Production monitoring: build validated alert agents that query Odoo HR and output structured, schema-compliant notifications
Testing and QA: use Pydantic AI's dependency injection to mock Odoo HR responses and write comprehensive agent tests
Odoo HR MCP Tools for Pydantic AI (9)
These 9 tools become available when you connect Odoo HR to Pydantic AI via MCP:
odoo_create_leave
leave record in "draft" state. Requires the employee ID (from odoo_search_employees), leave type ID (from odoo_list_leave_types), and date range in format "YYYY-MM-DD HH:MM:SS". The request goes through the standard approval workflow. Use when the user wants to request time off for an employee. Submit a leave request for an employee with specific leave type, start date, and end date
odoo_list_attendance
attendance records ordered by check-in time descending. Returns employee name, check-in timestamp, check-out timestamp (if clocked out), and total worked hours. Use when the user asks about who is currently working, attendance history, or daily hours tracking. List employee attendance records (check-in/check-out times and worked hours) from Odoo
odoo_list_departments
department records showing the organizational structure. Returns department name, department manager, parent department (for hierarchy), and total employee count. Use when the user asks about org structure, department headcounts, or management hierarchy. List all departments in Odoo HR with their managers, parent departments, and headcount
odoo_list_employees
employee records — the full employee directory. Returns name, department, job title, work email, and direct manager for each employee. Use for a headcount overview, department composition analysis, or when the user wants to browse the org chart. List all employees in the Odoo HR directory with departments, job titles, and contact information
odoo_list_expenses
expense records ordered by date. Returns expense description, employee, state (draft/reported/approved/done/refused), total amount, and date. Use when the user asks about pending expense reports, reimbursement requests, or wants to review recent employee expenses. List employee expense reports in Odoo with amounts, approval status, and submission dates
odoo_list_jobs
job records — the defined job positions in the organization. Returns job title, department, number of open recruitments, and recruitment state. Use when the user asks about open positions, hiring pipeline, or workforce planning. List open job positions and recruitment status in Odoo HR with department and vacancy count
odoo_list_leave_types
leave.type records — the categories of leave employees can request. Returns type name and configuration. Use to find the correct leave type ID before creating a leave request, or when the user asks what kinds of time off are available. List available leave types (Paid Time Off, Sick Leave, Unpaid, etc.) configured in Odoo HR
odoo_list_leaves
leave records ordered by date. Returns employee name, department, leave type (e.g., Paid Time Off, Sick Leave), state (draft/confirm/validate/refuse), number of days, and date range. Use when the user asks about upcoming absences, pending leave approvals, vacation schedules, or team availability. List leave requests (vacation, sick, personal days) in Odoo with approval status and duration
odoo_search_employees
employee records by name. Returns employee name, department, job title/position, work email, direct manager, and hire date. Use when the user wants to find a specific employee, look up their department or manager, or get contact details for an internal team member. Search employees in Odoo by name, returning their department, job title, email, and manager
Example Prompts for Odoo HR in Pydantic AI
Ready-to-use prompts you can give your Pydantic AI agent to start working with Odoo HR immediately.
"Search for leads from the website"
"Show recent sales orders"
Troubleshooting Odoo HR MCP Server with Pydantic AI
Common issues when connecting Odoo HR to Pydantic AI through the Vinkius, and how to resolve them.
MCPServerHTTP not found
pip install --upgrade pydantic-aiOdoo HR + Pydantic AI FAQ
Common questions about integrating Odoo HR 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 HR 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 HR to Pydantic AI
Get your token, paste the configuration, and start using 9 tools in under 2 minutes. No API key management needed.
