Skip to main content
Glama
JustParent

hibob-advanced-mcp

by JustParent

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ALL_PROXYNoStandard proxy variable honoured.
HTTPS_PROXYNoStandard proxy variable honoured.
HIBOB_API_HOSTNoDefaults to production (api.hibob.com). Set api.sandbox.hibob.com for HiBob's sandbox. A pasted URL such as https://api.sandbox.hibob.com/v1 is accepted; only the hostname is used.api.hibob.com
HIBOB_READ_ONLYNotrue, 1, yes or on registers only the eleven read tools; the eight write tools are not exposed at all.false
HIBOB_SERVICE_USER_IDYesService user ID (the Basic auth username).
HIBOB_SERVICE_USER_TOKENYesService user token (the Basic auth password).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
hibob_list_workforce_fieldsA

List the fields available on a HiBob workforce planning object.

Call this before searching or creating anything: it returns the field IDs (such as '/position/fte') that every other tool in this server expects, along with each field's type and whether it is required.

Args: object_type: 'position', 'positionOpening' or 'positionBudget'.

Returns: str: JSON describing the available fields, as returned by HiBob.

Examples: - "What can I set on a position?" -> object_type='position' - "What does a budget need?" -> object_type='positionBudget' - Don't use when: you need the allowed values of a list field such as department or site (use hibob_get_company_named_lists).

Rate limit: 50 requests/minute.

hibob_get_company_named_listsA

Look up the allowed values of HiBob's named lists.

Position fields such as department, site and employment type must be set to a list item from HiBob's named lists rather than to free text. This tool resolves those names to the IDs that hibob_create_position and hibob_update_position expect.

Args: list_name: A single list to fetch, or None for all lists.

Returns: str: JSON mapping list names to their items, each with an ID and a display name.

Examples: - "Which departments exist?" -> list_name='department' - Use before hibob_create_position to turn "Engineering" into its list item ID.

hibob_search_positionsA

Search the company's positions.

Returns one entry per matching position. Each entry has 'values' (the raw values, including the IDs needed by the update tools) and 'display' (human-readable labels).

This endpoint has no pagination, so always request only the fields you need and filter where possible in a large organization.

Args: fields: Field IDs to return (1-50). filters: Optional filter clauses combined by HiBob. include_human_readable: Include display labels alongside raw values.

Returns: str: JSON of the form {"count": int, "entries": [{"values": {...}, "display": {...}}]}, or an error message beginning with "Error:".

Examples: - "Which positions are vacant?" -> fields=['/position/id', '/position/name'], filters=[{field_id: '/position/status', operator: 'equals', values: ['vacant']}] - Don't use when: you need opening-level detail such as expected start dates (use hibob_search_position_openings).

Rate limit: 100 requests/minute.

hibob_search_position_openingsA

Search position openings, the vacancies attached to positions.

Openings carry the recruitment view of a position: expected start date, recruitment status and whether the seat is vacant, starting, filled or departing.

Args: fields: Field IDs to return (1-50). filters: Optional filter clauses. limit: Page size, 1-100. cursor: Cursor from a previous page, or None to start. include_human_readable: Include display labels.

Returns: str: JSON of the form {"count": int, "entries": [...], "has_more": bool, "next_cursor": str}. When "has_more" is true, call again passing "next_cursor" to retrieve the rest.

Examples: - "Which openings are still vacant?" -> filters=[{field_id: '/positionOpening/status', operator: 'equals', values: ['vacant']}]

Rate limit: 100 requests/minute.

hibob_search_position_budgetsA

Search position budgets: planned salary and total cost per position.

Use this for cost roll-ups across planned headcount, such as the total budgeted cost of every vacant position in a department.

Args: fields: Field IDs to return (1-50). filters: Optional filter clauses. limit: Page size, 1-100. cursor: Cursor from a previous page, or None to start. include_human_readable: Include display labels.

Returns: str: JSON of the form {"count": int, "entries": [...], "has_more": bool, "next_cursor": str}.

Rate limit: 100 requests/minute.

hibob_create_positionA

Create a planned position, with its opening and optional budget.

A position is a budgeted seat in the plan; every position must be created with an opening, which is the vacancy to be filled. Field values that reference HiBob lists (department, site, job profile) must be the list item IDs - resolve them first with hibob_get_company_named_lists and hibob_list_workforce_fields.

Creates one position per call. Required fields are checked before the request is sent, because HiBob allows only ten write calls per minute.

Args: position_fields: Flat mapping of position field IDs to values. opening_fields: Flat mapping for the nested opening. budget_fields: Optional flat mapping for the nested budget.

Returns: str: JSON {"id": int, "positionOpeningId": int} identifying the new position, or an error message beginning with "Error:".

Examples: - "Plan a new engineer starting in September" -> position_fields with effectiveDate/fte/department/site/jobProfile plus opening_fields with expectedStartDate. - Don't use when: adding a second vacancy to an existing position (use hibob_create_position_opening).

Rate limit: 10 requests/minute.

hibob_update_positionA

Change details of an existing position.

Only the fields supplied are modified. Use hibob_search_positions to find the position ID first.

Args: position_id: The position's ID. fields: Flat mapping of field IDs to new values.

Returns: str: JSON confirming the update, or an error message beginning with "Error:".

Examples: - "Move that position's start to October" -> fields with '/position/effectiveDate'.

Rate limit: 10 requests/minute.

hibob_cancel_positionA

Cancel a planned position, removing it from the workforce plan.

HiBob refuses to cancel a position that is currently filled; check '/position/status' with hibob_search_positions first. Cancelling cannot be undone through this API, so confirm the position ID before calling.

Args: position_id: The position's ID.

Returns: str: JSON confirming the cancellation, or an error message beginning with "Error:".

Rate limit: 10 requests/minute.

hibob_create_position_openingA

Add a vacancy to an existing position.

Args: position_id: The parent position's ID. fields: Flat mapping of opening field IDs to values.

Returns: str: JSON {"id": int, "positionOpeningId": int}, or an error message beginning with "Error:".

Rate limit: 10 requests/minute.

hibob_update_position_openingA

Change an existing opening, such as its expected start date or recruitment status.

Args: position_id: Parent position ID. opening_id: The opening's ID. fields: Flat mapping of field IDs to new values.

Returns: str: JSON confirming the update, or an error message beginning with "Error:".

Rate limit: 10 requests/minute.

hibob_delete_position_openingA

Permanently remove an opening from a position.

This deletes the vacancy record in HiBob and cannot be undone through this API. Confirm the opening ID with hibob_search_position_openings before calling.

Args: position_id: Parent position ID. opening_id: The opening's ID.

Returns: str: JSON confirming the deletion, or an error message beginning with "Error:".

Rate limit: 10 requests/minute.

hibob_create_position_budgetA

Attach a salary and cost budget to a position.

Args: position_id: The position's ID. fields: Flat mapping of budget field IDs to values.

Returns: str: JSON {"positionBudgetId": int}, or an error message beginning with "Error:".

Examples: - "Budget 65k a year for that role" -> fields with expectedBaseSalaryCurrencyValue, salaryPayPeriod and currency.

Rate limit: 10 requests/minute.

hibob_update_position_budgetA

Change an existing position budget.

Use hibob_search_position_budgets to find the budget ID.

Args: position_id: Parent position ID. budget_id: The budget's ID. fields: Flat mapping of field IDs to new values.

Returns: str: JSON confirming the update, or an error message beginning with "Error:".

Rate limit: 10 requests/minute.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource-action pair: positions, openings, budgets, and metadata lookups are clearly separated. The naming and descriptions make it easy to pick the right tool, even for close operations like create_position vs create_position_opening.

Naming Consistency5/5

All tools follow a consistent hibob_verb_noun pattern with snake_case throughout, e.g., hibob_search_positions, hibob_create_position_budget, hibob_delete_position_opening. Resource terms are plural and actions are predictable across the set.

Tool Count5/5

Thirteen tools is well-scoped for a workforce planning server covering positions, openings, budgets, and supporting metadata lookups. Each tool earns its place and the count is neither bloated nor thin.

Completeness4/5

The server covers core lifecycle operations for positions, openings, and budgets, including search, create, update, and delete/cancel where relevant. A minor gap is the absence of a delete operation for position budgets, though create and update are covered.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive