Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OFFICIENT_BASE_URLNoOverride base URL for sandboxes/proxieshttps://api.officient.io
OFFICIENT_TIMEOUT_MSNoPer-request timeout in milliseconds30000
OFFICIENT_ACCESS_TOKENYesBearer token for Officient API; the server refuses to start without it

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
officient_list_endpointsA

Discover Officient API endpoints from the bundled spec (no network call, no scope needed). Returns compact one-liners: operationId | METHOD path | summary | required scope | read/WRITE. Filter by tag, HTTP method or free text, then feed an operationId into officient_describe_endpoint or officient_request. READ-ONLY.

officient_describe_endpointA

Full detail for one Officient endpoint from the bundled spec (no network call, no scope needed): path/query parameters, request body schema and a worked example, the required OAuth scope, the documentation prose and the doc URL. Use before calling officient_request. READ-ONLY.

officient_requestA

Escape hatch that reaches every one of the documented Officient endpoints by operationId. Input is validated against the bundled spec before anything is sent. Required scope depends on the endpoint — officient_describe_endpoint tells you which one, and whether it writes. CAN WRITE: this tool will happily fire POST/PATCH/PUT/DELETE endpoints, so check the endpoint first. Pagination is zero-indexed (page=0 is the first page). Prefer the dedicated officient_* tools when one exists.

officient_get_own_accountA

Information about the account behind the current access token (company, user, locale). Required scope: basics:read. READ-ONLY.

officient_list_peopleA

List employees, 30 per page. Pagination is zero-indexed: page 0 is the first page. Required scope: basics:read. READ-ONLY.

officient_search_peopleA

Find people by name, work email or national number. Supply at least one criterion. Required scope: personal.info:read. READ-ONLY.

officient_get_personA

Full detail for one employee: personal data, contract summary, team, manager and more. Required scope: personal.info:read. READ-ONLY.

officient_get_person_custom_fieldsA

Custom field values configured on one employee (text, number, date, money, email, select_option). Required scope: personal.info.custom.fields:read. READ-ONLY.

officient_get_weekly_scheduleA

The employee’s current weekly working schedule (scheduled minutes per weekday). Required scope: weekly.schedules:read. READ-ONLY.

officient_list_teamsA

All teams in the account. Returns id and name only — despite what the upstream docs imply, the response carries NO member list (verified live 2026-07). There is no team-detail endpoint either, so team membership is not readable over the API. To reconstruct the org structure, walk officient_list_people and call the "person-manager" operation per person via officient_request instead. Required scope: basics:read. READ-ONLY.

officient_get_day_calendarA

Time off, overtime and scheduled minutes for a single person on a single date. Required scope: calendar:read. READ-ONLY.

officient_get_month_calendarA

Time off, overtime and scheduled minutes for a single person for one month. Required scope: calendar:read. READ-ONLY.

officient_get_year_calendarA

Every day of the year for one person, each with scheduled_minutes and any events. Use days_with_events to keep the response small. Required scope: calendar:read. READ-ONLY.

officient_list_event_typesA

Custom event types (holiday, remote work, overtime types, …) available in a given year, with the custom_day_off_type_id needed to add a "custom" calendar event. Required scope: calendar:read. READ-ONLY.

officient_list_days_off_requestsA

Calendar (days off) requests across the account, 30 per page, zero-indexed pagination. Required scope: calendar:read. READ-ONLY.

officient_add_calendar_eventA

Add one or more events (day off, sick day, education, overtime, …) to a person’s calendar. All events in one call must fall in the same year. Set type="custom" together with custom_day_off_type_id from officient_list_event_types; omit that id for sick_day / education. duration_minutes may be the string "all_day". Required scope: calendar:write. WRITES DATA in Officient.

officient_overwrite_calendar_eventA

Idempotent upsert of a single event of a given type on a given date: overwrites the existing event of that type or creates it. Handy for syncing time tracking. The event type itself cannot be changed. CAVEAT (observed live 2026-07): when an event of that type already exists on that date with the same duration_minutes, the API returns {"success":1,"info":"no action taken"} and changes NOTHING — it does not compare start_time_minutes. To move an existing event's start time, delete it with officient_delete_calendar_event and re-add it with officient_add_calendar_event. Always read the calendar back to confirm the change actually landed. Required scope: calendar:write. WRITES DATA in Officient.

officient_delete_calendar_eventA

Permanently remove one calendar event (e.g. a day off) from a person’s calendar. Get the event_id from a calendar read tool first. Required scope: calendar:write. WRITES DATA in Officient.

officient_list_contractsA

All employment contracts in the account, 30 per page, zero-indexed pagination. Required scope: contracts:read. READ-ONLY.

officient_list_expensesA

Expenses for a whole year, or for one month when month is given. Zero-indexed pagination. Required scope: expenses:read. READ-ONLY.

officient_list_documentsA

Documents attached to an employee, asset or car. Zero-indexed pagination. Use officient_request with operationId "download-document" to get a download URL. Required scope: documents.read. READ-ONLY.

officient_list_vehiclesA

Vehicles in the fleet, optionally only those assigned to one person. Zero-indexed pagination. Required scope: basics:read. READ-ONLY.

officient_list_assetsA

Company assets (laptops, phones, badges, …), optionally filtered by owner. Zero-indexed pagination. Required scope: basics:read. READ-ONLY.

officient_list_webhooksA

Webhook subscriptions configured on the account. Officient POSTs {account, event_type, related_object_id} to the target URL and retries on non-200. Required scope: webhooks:read. READ-ONLY.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dhrpieterjan/officient-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server