Odoo HR MCP. Manage PTO, attendance, and employee data in one chat.
Works with every AI agent you already use
…and any MCP-compatible client
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.
Submit a formal leave request for an employee, triggering the standard Odoo approval workflow.
Get a list of employees' check-in/check-out times and total hours worked from Odoo's attendance logs.
Retrieve the full department hierarchy, including managers and current employee counts for each unit.
Find a specific person in the company using their name to pull up their role, manager, email, and hire date.
List employee expense reports, showing amounts, submission dates, and current approval status (draft/approved).
Check the recruiting pipeline to see which jobs are open, what departments they belong to, and how many positions need filling.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
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.
019d75e2odoo create leave
Submits a time off request for an employee, requiring the employee ID, leave type, and specific date range.
019d75e2odoo list attendance
Lists attendance records, showing name, clock-in/out times, and total hours worked by employees.
019d75e2odoo list departments
Retrieves the organization's department structure, including managers, parent departments, and employee count.
019d75e2odoo list employees
Provides a full directory listing of all employees, detailing their job titles, departments, and contact info.
019d75e2odoo list expenses
Retrieves employee expense reports with amounts, submission dates, and current approval status in Odoo.
019d75e2odoo list jobs
Lists open job positions across departments and shows the current count of vacancies for hiring efforts.
019d75e2odoo 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.
019d75e2odoo list leaves
Lists all employee leave requests with details like department, type, number of days, and current approval status.
019d75e2odoo 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
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 You prompt your agent with a request (e.g., 'Who needs their PTO approved?').
- 2 The agent determines the required data—say, checking all submitted leave records—and calls
odoo_list_leaves. - 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.
Uses the server to manage employee records, check eligibility using odoo_list_leave_types, and approve or query pending leave requests.
Checks departmental headcounts (odoo_list_departments) and monitors who is currently working via odoo_list_attendance to manage team coverage.
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_leavesfor team availability or useodoo_list_attendanceto 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_expensesto 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_jobsto see current vacancies, or useodoo_list_departmentsto 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_leavewith the dates and leave type.
Real-World Use Cases
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.
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.
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.
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
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
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.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Onfido
Automate identity verification via Onfido — create applicants, manage workflow runs, and retrieve verification reports directly from any AI agent.
Factorial
Manage HR operations via Factorial — list employees and teams, track leave requests, monitor shifts and payslips, and handle company documents directly from any AI agent.
Jobtoolz
Manage recruitment, jobs, and candidates via Jobtoolz API.
You might also like
Kit (ConvertKit)
Enable your AI agent to manage email subscribers, organize tags, and monitor broadcast campaigns via the Kit API.
Anthropic Alternative
Access Claude models via Anthropic API — send messages, count tokens, manage batches and discover models from any AI agent.
Hexomatic
Automate web scraping and worklfows via Hexomatic — manage workflows, recipes, and automation logs directly from any AI agent.