4,500+ servers built on MCP Fusion
Vinkius

Odoo HR MCP. Manage PTO, attendance, and employee data in one chat.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

Odoo HR MCP on Cursor AI Code Editor MCP Client Odoo HR MCP on Claude Desktop App MCP Integration Odoo HR MCP on OpenAI Agents SDK MCP Compatible Odoo HR MCP on Visual Studio Code MCP Extension Client Odoo HR MCP on GitHub Copilot AI Agent MCP Integration Odoo HR MCP on Google Gemini AI MCP Integration Odoo HR MCP on Lovable AI Development MCP Client Odoo HR MCP on Mistral AI Agents MCP Compatible Odoo HR MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

Odoo HR MCP Server connects your agent directly to Odoo's core Human Resources system. Use it to search employees by name, manage time off requests, track daily attendance records, or review pending expense reports—all through natural conversation.

It gives you a single point of access for employee directory lookups and operational reporting.

What your AI agents can do

Odoo create leave

Submits a time off request for an employee, requiring the employee ID, leave type, and specific date range.

Odoo list attendance

Lists attendance records, showing name, clock-in/out times, and total hours worked by employees.

Odoo list departments

Retrieves the organization's department structure, including managers, parent departments, and employee count.

+ 6 more capabilities included
Requesting Time Off

Submit a formal leave request for an employee, triggering the standard Odoo approval workflow.

Checking Attendance History

Get a list of employees' check-in/check-out times and total hours worked from Odoo's attendance logs.

Mapping Org Structure

Retrieve the full department hierarchy, including managers and current employee counts for each unit.

Searching Employee Profiles

Find a specific person in the company using their name to pull up their role, manager, email, and hire date.

Reviewing Financial Claims

List employee expense reports, showing amounts, submission dates, and current approval status (draft/approved).

Managing Job Openings

Check the recruiting pipeline to see which jobs are open, what departments they belong to, and how many positions need filling.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

Odoo HR MCP Server: 9 Tools for HR Management

Manage leave requests, check team availability, view department structures, and track employee expenses using these nine specialized tools.

odoo019d75e2

odoo create leave

Submits a time off request for an employee, requiring the employee ID, leave type, and specific date range.

odoo019d75e2

odoo list attendance

Lists attendance records, showing name, clock-in/out times, and total hours worked by employees.

odoo019d75e2

odoo list departments

Retrieves the organization's department structure, including managers, parent departments, and employee count.

odoo019d75e2

odoo list employees

Provides a full directory listing of all employees, detailing their job titles, departments, and contact info.

odoo019d75e2

odoo list expenses

Retrieves employee expense reports with amounts, submission dates, and current approval status in Odoo.

odoo019d75e2

odoo list jobs

Lists open job positions across departments and shows the current count of vacancies for hiring efforts.

odoo019d75e2

odoo list leave types

Returns a list of all configured leave types (e.g., Sick Leave, PTO) so you know what categories exist before requesting time off.

odoo019d75e2

odoo list leaves

Lists all employee leave requests with details like department, type, number of days, and current approval status.

odoo019d75e2

odoo search employees

Finds a specific employee by name, returning their job title, department, email address, and manager's contact info.

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
Start building

Make Your AI Do More

Start with Odoo HR, 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

Yo, forget flipping through ten different tabs or running some garbage report manually. The Odoo HR MCP Server plugs your agent straight into Odoo’s core Human Resources system. You get single-point access to everything from checking who's clocked in today to submitting an expense claim—all just by talking to it.

If you need to find a person, the tools handle it fast. You can use odoo_search_employees to nail down any employee by name; that spits out their job title, department, email address, and even the manager's contact info. For a full rundown of everyone in the company, run odoo_list_employees, which gives you a complete directory listing with every person’s job role, department, and contact details.

Handling time off is simple too. First, check what leave categories are even available by running odoo_list_leave_types. Then, if you wanna see the full picture of team availability or review past requests, use odoo_list_leaves—it shows department, type, number of days, and whether it’s approved. You submit a formal time off request for an employee using odoo_create_leave, which requires the employee ID, the specific leave type, and the date range you need.

For tracking daily operations, check out attendance records with odoo_list_attendance; this gives you names alongside their clock-in/clock-out times and total hours worked. You can also map out who runs the company by using odoo_list_departments, which retrieves the full department hierarchy—it includes managers, parent departments, and how many employees are in each unit.

When it comes to hiring, you check open positions with odoo_list_jobs. This tool lists every job opening across all departments and shows you the current count of vacancies.

Managing finances is straightforward. You can pull a list of employee expense reports using odoo_list_expenses, which details amounts, submission dates, and whether the report is still in draft or already approved. Getting an overview of staff is easy too: run odoo_list_departments to map the full organizational structure for managers and parent departments while also getting a count of employees within each unit.

How Odoo HR MCP Works

  1. 1 You prompt your agent with a request (e.g., 'Who needs their PTO approved?').
  2. 2 The agent determines the required data—say, checking all submitted leave records—and calls odoo_list_leaves.
  3. 3 Odoo returns the filtered list of leaves and statuses directly to your agent for final interpretation.

The bottom line is: you talk to your agent, it talks to Odoo, and you get the structured data back without leaving your chat window.

Who Is Odoo HR MCP For?

This server is built for HR staff and operations managers who deal with employee data daily. If you're tired of jumping through five different dashboards—one for payroll, one for time off, and another for reporting—you need this. It puts all those systems into a single conversational flow.

HR Generalist

Uses the server to manage employee records, check eligibility using odoo_list_leave_types, and approve or query pending leave requests.

Operations Manager

Checks departmental headcounts (odoo_list_departments) and monitors who is currently working via odoo_list_attendance to manage team coverage.

Account Coordinator

Quickly finds contact details or employment status for a client's employee using odoo_search_employees before an important meeting.

What Changes When You Connect

  • Never guess who's available again. Instead of checking a calendar sheet, ask your agent to run odoo_list_leaves for team availability or use odoo_list_attendance to see real-time clock hours.
  • Stop hunting down contact info. With odoo_search_employees, you get an employee's department, job title, and direct manager instantly by name, without logging into a directory portal.
  • Streamline the expense process. Use odoo_list_expenses to pull up all pending reports for review, seeing who submitted what amount and whether it’s waiting on approval.
  • Understand your growth needs. If you need to plan hiring, check odoo_list_jobs to see current vacancies, or use odoo_list_departments to understand the structure that needs filling.
  • Make time-off requests instantly. Instead of filling out a form and emailing it, just tell your agent to run odoo_create_leave with the dates and leave type.

Real-World Use Cases

01

The Manager Checking Team Coverage

A manager needs to know if three people can take next Friday off. Instead of opening three different calendars, they ask their agent. The agent runs odoo_list_leaves and cross-references that data with the current team roster from odoo_list_employees, giving a clear availability report.

02

The HR Generalist Auditing Spending

HR needs to check all expenses submitted by employees in Q3. They prompt their agent, which runs odoo_list_expenses. This instantly pulls up the amounts and approval status for every report, letting them identify bottlenecks before talking to anyone.

03

The Onboarding Specialist Finding a Team Lead

A new hire needs to know who their direct manager is. The specialist asks the agent by name (odoo_search_employees), and the system pulls back the exact manager's name, department, and contact info, skipping manual lookups.

04

The Department Head Planning Reorg

A department head wants to know if their division is understaffed. They ask the agent, which runs odoo_list_departments. The system returns not only the name and parent but also the exact headcount for accurate planning.

The Tradeoffs

Asking for 'all employee data'

The user prompts, 'Give me everything about employees.' The system returns a massive, unformatted dump of 10 fields for 50 people. It's unusable and overwhelming.

Don't ask for 'everything.' Use specific tools. If you need to find one person, use odoo_search_employees. If you need the full list for a report, call odoo_list_employees.

Trying to calculate complex metrics

The user asks, 'What is the average PTO balance across all departments?' The server doesn't have that calculation logic. It only pulls raw records.

This tool lists existing data. You can use odoo_list_leaves to see the number of days and statuses, but you need a separate analysis step for calculating averages.

Guessing the Leave Type ID

The user attempts to run odoo_create_leave without knowing the correct internal code for 'Parental Leave'. The request fails with an invalid type error.

Always check available leave types first. Run odoo_list_leave_types to confirm the exact name or ID of the leave category before attempting to create a record.

When It Fits, When It Doesn't

Use this MCP Server if your core need involves querying, creating, or viewing standard HR records stored in Odoo. This includes managing leaves (odoo_list_leaves), checking attendance logs (odoo_list_attendance), reviewing expense reports (odoo_list_expenses), and directory lookups (odoo_search_employees).

Don't use this if your problem requires advanced financial modeling (e.g., calculating tax liabilities) or custom business logic that isn't a direct CRUD operation on an existing Odoo record. For pure coding tasks, you need general API access; for HR data management specifically, this server is what you want. If the necessary information can be found by asking 'Who,' 'What,' or 'When' regarding people or time off, use these tools.

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

How we secure it →

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

odoo_create_leave odoo_list_attendance odoo_list_departments odoo_list_employees odoo_list_expenses odoo_list_jobs odoo_list_leave_types odoo_list_leaves odoo_search_employees

HR reporting shouldn't feel like debugging a database schema.

Right now, pulling simple data—like knowing who is out next week or checking the status of an expense report—requires jumping between the employee directory module, the leave request form, and the finance dashboard. You spend time copying names, cross-referencing dates, and clicking through multiple 'View Details' buttons just to assemble a basic picture.

With this MCP Server, you ask your agent directly: 'Who is out next week?' The agent runs `odoo_list_leaves` and instantly returns the list of people and their specific date ranges. You get the answer in clean, structured text without ever leaving your chat window.

Odoo HR MCP Server: Get a complete employee profile.

Before this server, if you needed to contact an employee and know their reporting structure, you'd first search the directory for the name (`odoo_search_employees`), then manually look up their department on another screen, and finally check who that manager reports to. It’s a minimum of three distinct actions.

Now, you just ask your agent: 'What is Jane Doe's job title and who does she report to?' The agent runs the necessary tools and returns the full hierarchy in one go. That's the difference.

Common Questions About Odoo HR MCP

How do I check PTO status with odoo_list_leaves? +

You ask your agent to run odoo_list_leaves. It returns a list of every leave request, showing the employee's name, department, type (like Sick Leave), and the current approval state.

What is the best tool for finding an employee by name? +

odoo_search_employees is the dedicated tool. It searches the directory specifically to pull back contact details, manager, department, job title, and hire date for that person.

Can odoo_list_attendance tell me who is currently working? +

Yes. The odoo_list_attendance tool returns the clock-in time and includes a clock-out timestamp if the employee has already logged off, giving you real hours worked.

Do I need to run odoo_list_leave_types before creating leave? +

It's smart practice. Running odoo_list_leave_types first shows you all the available categories (Paid Time Off, etc.), making sure you use the correct type ID when running odoo_create_leave.

If I run odoo_list_employees, what fields does it provide about the manager or department? +

It provides name, department, job title, email, and direct manager for every employee. This structure lets your agent map out reporting lines immediately without extra steps.

How can I narrow down results when using odoo_list_expenses? +

The tool returns records with an approval state and date. You just need to instruct your agent to filter the output by a specific status, like 'draft' or 'approved', or define a clear date range.

What happens if I try to use odoo_create_leave without knowing the correct leave type ID? +

The request fails because it requires the leave type ID and employee ID. You must run odoo_list_leave_types first to get the necessary category IDs for a successful submission.

Are there any performance considerations when querying job vacancies using odoo_list_jobs? +

The tool reports department, title, and open recruitment counts. For very large organizations, keep your requests focused on specific departments to prevent rate limits or timeouts.

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.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 9 tools

We've already built the connector for Odoo HR. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 9 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.