Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the HiBob in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
The HiBob (Bob) HR platform through its public API with a service user: employee search and records, work, employment, lifecycle and salary history, custom tables, company lists, time off with who is out, requests, balances and policies, holidays, saved reports, onboarding, tasks and documents. Master data writes install switched off.
Try asking
Example prompts for HiBob
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → HiBob, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
HiBob + Cursor
The HiBob (Bob) HR platform through its public API with a service user: employee search and records, work, employment, lifecycle and salary history, custom tables, company lists, time off with who is out, requests, balances and policies, holidays, saved reports, onboarding, tasks and documents. Master data writes install switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
HIBOB_SERVICE_USER_ID, HIBOB_SERVICE_USER_TOKEN
Step 1 — Get credentials
Setting up takes about 10 minutes and needs a Bob admin. The connector uses Bob's public REST API (https://api.hibob.com/v1) with a service user.
- In Bob, as an admin, go to Settings > Integrations > Automation > Service Users, click Manage and create a service user with a name and a display name. Copy its ID and token right away: the token is shown only when it is generated. A lost token can be regenerated, which invalidates the old one.
- Create a dedicated permission group for the service user and add it there. A new group has no permissions, so grant only what you use:
- People's data > People's fields: View on the categories you read (at least root, about, employment and work for
hibob_search_people), View history on the history tables (work, employment, lifecycle, payroll), Edit where you update. - Access data for: Everyone, or a condition. By default only employed people are covered; remove the condition Lifecycle status equals Employed to read leavers with
show_inactive. - People's data > Time off: view requests and balances, and submit or cancel requests if you use those tools; view private requests for
include_private. - Features > Reports: View reports according to people's data access rights.
- People's data > Tasks and flow > People's tasks: View and mark selected people's tasks as complete.
- People's data > Docs > [folder]: View per document folder, and Upload for the shared folder.
- People's data > People's fields: View on the categories you read (at least root, about, employment and work for
- Paste the ID into
HIBOB_SERVICE_USER_IDand the token intoHIBOB_SERVICE_USER_TOKEN. They are sent as HTTP Basic auth. - Install the connector and run
hibob_list_employee_fieldsto check the access.
Field ids first: hibob_list_employee_fields lists every built-in and custom field with its id in dot notation (root.displayName, work.department, work.custom.field_123) and the list id of list fields. hibob_list_named_lists and hibob_get_named_list turn list ids into names (departments, sites, job titles, calendars).
What it reads:
- People:
hibob_search_peoplereads many employees in one call (everyone, or filtered byroot.idorroot.emailonly; other filters are refused),hibob_get_employeeone person by id or work email,hibob_list_profilesa quick directory. For a large company the AI first searches withfields: ["root.id"]and then reads 50 to 200 ids per call. - History tables for one person (work, employment, lifecycle, salary) and in bulk for many (work, lifecycle, salary).
- Custom tables with their columns and the entries of one employee.
- Time off: who is out in a date range or on one day, requests changed since a time, one request with its days, an employee's balance for a policy type, policy types, reason codes, policies, and company holidays and closures with
hibob_search_calendar_events. - Saved reports, run as JSON rows, CSV or XLSX; large ones are generated in the background with
hibob_request_report_downloadand fetched withhibob_download_report_by_name. - Onboarding wizards, open tasks across the company, the tasks of one employee, document folders and an employee's documents with download links.
What it writes when installed: hibob_submit_time_off_request (after the AI checks the policy type's unit with hibob_get_policy_type; the request follows the policy's approval flow unless an admin sets skip_manager_approval), hibob_cancel_time_off_request and hibob_complete_task.
Switched off at install: the master data writes hibob_update_employee (fields only, not table rows), hibob_create_work_entry (promotion, transfer, new manager), hibob_create_custom_table_entry, hibob_add_named_list_item and hibob_upload_shared_document (a public or pre-signed URL, at most 5 MB, visible to the employee). A workspace admin turns them on deliberately in the connector.
Data formats: employee ids are long numbers sent as strings (3332883884017713238). Requests use dot notation (work.department); answers use slash keys (/work/department) and may also nest the same value by category. List fields hold item ids; human_readable: APPEND or REPLACE adds or puts the names. Dates are YYYY-MM-DD; hibob_list_time_off_changes takes ISO 8601 date-times. Balances are in the policy type's unit (days or hours), and salaries carry their own currency. After an update Bob may return the old value for up to 20 seconds.
Silent omission: a field without permission or with a wrong id is simply missing from the answer, with no error. When something is missing, check the service user's permission group before concluding the value is empty.
Paging: people search, profiles, the history of one employee, open tasks (at most 5,000) and who's out return everything at once. The bulk history tools and hibob_search_calendar_events page with cursor set to response_metadata.next_cursor; the AI stops when it is null.
Limits: rate limits apply per endpoint (people search allows 50 requests per minute) and answer 429. Who's out and calendar ranges have maximum spans, and time off changes reach back at most 6 months.
Common errors: 401 means a wrong ID or token, 403 a missing permission in the service user's group, 400 an invalid filter, field or date range. Repeated 401 or 403 answers can be blocked for a while by Bob's firewall, so fix the permissions before retrying.
The connector does not run payroll, does not change history table rows through hibob_update_employee, and has no tool to approve or decline pending time off requests.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Cursor
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Cursor reads MCP servers from ~/.cursor/mcp.json. Add this entry:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart Cursor.
- Open Cursor → Settings → MCP and check that
anythingmcpis listed and connected. - Start chatting: the agent can now call the
HiBobtools.
Available tools
| Tool | What it does |
|---|---|
hibob_search_people | Read employee fields for many employees in one call: everyone the service user can access, or only the employees whose id or email is given… |
hibob_get_employee | Read the fields of one employee, identified by employee id or work email |
hibob_update_employee | Update fields of one employee record |
hibob_list_profiles | Public profile section of every active employee the service user can access: a fixed set of fields such as name, email, work title… |
hibob_list_employee_fields | All employee fields defined in the company (built-in and custom) with their field id (the dot-notation id to pass in fields), name… |
hibob_list_named_lists | All company lists (departments, sites, job titles, calendars, custom lists) with their items: each item has an id, the value Bob stores in… |
hibob_get_named_list | One company list by its internal name (e.g. department, site, title, calendar), with its items, their ids and names, and child items for… |
hibob_add_named_list_item | Add a new item to an existing company list, for example a new department or job title, optionally below a parent item in a hierarchy list |
hibob_list_work_history | Work history of one employee: one entry per change with effective date, title, department, site, manager (reportsTo) and reason |
hibob_list_employment_history | Employment history of one employee: contract type, weekly hours, working pattern, FTE and similar entries, each with its effective date |
hibob_list_lifecycle_history | Lifecycle status history of one employee: hired, employed, on leave, terminated and so on, each with its effective date and reason |
hibob_list_salary_history | Salary (payroll) history of one employee: base pay amount, currency, pay period and frequency, each entry with its effective date |
hibob_bulk_list_work_history | Work history for many employees at once (one page of employees per call, each with all its work entries) |
hibob_bulk_list_lifecycle_history | Lifecycle history for many employees at once (one page of employees per call, each with all its lifecycle entries) |
hibob_bulk_list_salary_history | Salary history for many employees at once (one page of employees per call, each with all its salary entries) |
hibob_create_work_entry | Add a work history entry for an employee (promotion, transfer, new manager, department change) taking effect on a given date |
hibob_list_custom_tables | Custom employee tables defined in the company, with their ids, names and column definitions |
hibob_get_custom_table_metadata | Definition of one custom employee table: its columns with id, name, type and the list id for list columns |
hibob_list_custom_table_entries | All entries of one custom table for one employee; values are keyed by column id |
hibob_create_custom_table_entry | Add one or more entries to an employee's custom table |
hibob_list_whos_out | Time off requests in a date range, for everyone the service user can access: who is out, which policy, request type, dates and status |
hibob_list_out_today | Who is out of the office today (UTC) or on one given date, optionally only at one site |
hibob_list_time_off_changes | Time off requests created, approved, declined, cancelled or deleted since a point in time (at most 6 months back and a 6-month window) |
hibob_get_time_off_request | Details of one time off request of an employee: policy type, dates, portions, status, approver, total cost and (by default) the duration… |
hibob_get_time_off_balance | Time off balance of one employee for one policy type on a given date: the amount available, used, pending and accrued, in the policy's unit… |
hibob_list_policy_types | Names of all time off policy types in the company (Holiday, Sick, custom types) |
hibob_get_policy_type | Settings of one time off policy type: unit (days or hours), allowed request types, whether it is a working type, visibility and similar… |
hibob_list_policy_type_reason_codes | Reason codes defined for one time off policy type, with the numeric id to pass as reason_code when submitting a request |
hibob_list_policy_names | Names of the policies (for example per country or contract) that belong to one time off policy type |
hibob_get_policy | Details of one time off policy: its type, allowance, accrual, carry-over and other rules |
hibob_search_calendar_events | Company holidays and closures (calendar events) in a date range, optionally for one calendar, site or event type |
hibob_submit_time_off_request | Submit a time off request for an employee |
hibob_cancel_time_off_request | Cancel an existing time off request of an employee |
hibob_list_reports | Company reports saved in Bob that the service user can see, with id, name, description, type, folder and dates (the column configuration is… |
hibob_download_report | Run a saved report and return its data. format json gives rows the model can read directly; csv returns text; xlsx returns a file |
hibob_request_report_download | Start generating a saved report in the background, for reports too large to download at once |
hibob_download_report_by_name | Fetch a report file generated by hibob_request_report_download |
hibob_list_onboarding_wizards | Onboarding wizards configured in Bob (id and name), the flows new hires are invited with |
hibob_list_open_tasks | All open tasks in the company (onboarding, offboarding and other flow tasks) with owner, related employee, due date and status |
hibob_list_employee_tasks | Tasks assigned to one employee (onboarding and other flow tasks), open, closed or both |
hibob_complete_task | Mark a task as complete, for example an onboarding step that was done outside Bob |
hibob_list_document_folders | Document folders defined in Bob (shared, confidential and custom folders) with their ids and metadata |
hibob_list_employee_documents | Documents of one employee in the folders the service user may view, with name and a download link per document |
hibob_upload_shared_document | Add a document to an employee's shared folder by giving a public or pre-signed URL that Bob downloads (max 5 MB) |
Example prompts
- "Who is out of the office next week, and with which time off policy?"
- "Show the work history of [email protected]: titles, departments and managers with their effective dates."
- "How many holiday days does employee 3332883884017713238 have left this year, and how many are pending?"
- "Run the saved report "Headcount by department" and summarise it by site."
- "List all open onboarding tasks that are overdue, with owner and the new hire they belong to."
FAQ
Does Cursor support custom MCP servers on the free tier? Yes, MCP is available on Hobby, Pro and Business plans.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Gemini
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?