Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TIMETASTIC_API_TOKENYesYour Timetastic admin API token, generated at https://app.timetastic.co.uk/api

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_absencesA

Get a chronological list of who is off between two dates.

The single best endpoint for "who is off on/around a given day" — it merges bookings, non-working days, public holidays and (optionally) other events without needing multiple queries.

Args: start: Start date, ISO format YYYY-MM-DD. end: End date, ISO format YYYY-MM-DD. Max 31 days after start. query_type: What to include. AllAbsences (bookings, public holidays and non-working days), Bookings, PublicHolidays or AllEvents (also birthdays, work anniversaries and locked dates).

Rate limited to 1 request per second; limited to a 31-day range.

list_all_allowancesA

List allowances, TOIL and carry-forward for all users.

Args: year: Restrict to a single year. Omit for all years.

get_user_allowanceA

Get allowances, TOIL and carry-forward for one user.

Args: user_id: The user to query. year: Restrict to a single year. Omit for all years.

update_user_allowanceA

Set a user's annual allowance for a year.

Args: user_id: The user to update. year: The year to update. amount: The new allowance (0–8784).

update_user_carry_forwardC

Set a user's carry-forward amount for a year (0–5000).

add_user_toilA

Add a TOIL (time off in lieu) entry for a user in a year.

Args: user_id: The user to add TOIL for. year: The year the TOIL applies to. amount: TOIL amount (-5000 to 5000). description: Optional description (max 1000 chars).

Returns the ID of the new TOIL entry.

update_user_toilC

Update an existing TOIL entry (-5000 to 5000).

delete_user_toilC

Delete a user's TOIL entry.

list_departmentsA

List all departments in the organisation.

get_departmentC

Get a single department by ID.

add_departmentB

Create a new department.

Args: name: The department name. manager_id: User ID of the department manager. max_off: Max number of users off at once (0 = no limit).

edit_departmentB

Edit a department. Only the fields you supply are changed.

Args: department_id: The department to edit. name: New department name. manager_id: User ID of the department manager. max_off: Max users off at once (0 disables the limit; range 0–20).

delete_departmentA

Delete a department. It must be empty (reassign any users first).

list_holidaysA

Query leave bookings ("holidays") for the organisation.

All filters are optional. Results are paginated at 100 per page — use page_number and read totalRecords/nextPageLink in the response.

Args: start: Include holidays on or after this date-time (ISO 8601). end: Include holidays before and including this date-time (ISO 8601). status: Filter by status. Defaults to pending + approved if omitted. user_ids: Comma-separated user IDs to include (e.g. "12,34"). exclusion_user_ids: Comma-separated user IDs to exclude. department_id: Only holidays for this department. leave_type_id: Only holidays of this leave type. approver_id: Only holidays approved by this user. my_team_only: Restrict to the team of this user ID. my_favourites_only: Restrict to the favourite users of this user ID. department_managers_only: Only holidays for department managers. non_archived_users_only: Exclude archived users. transaction_year: Filter to this transaction year. page_number: Page to fetch (defaults to 1).

get_holidayB

Get a single holiday (leave booking) by its ID.

book_holidayA

Submit a leave request (book time off).

Args: from_date: Start date YYYY-MM-DD (no time component). to_date: End date YYYY-MM-DD (no time component). leave_type_id: The leave type to book (see list_leave_types). book_for: User, Department or Everyone. user_or_department_id: ID of the user/department to book for (with book_for). Omit to book for yourself. from_time: Part of the start day: "AM", "PM", or minutes since midnight for an hourly booking. to_time: Part of the end day: "AM", "PM", or minutes since midnight for an hourly booking. reason: Optional reason for the request. suppress_emails: Admins only — suppress notification emails. book_as_requestee: Admins only — book as if the requestee made it so the normal approval flow runs (default is auto-approved by the admin). override: Admins only — bypass the department max-off limit. override_locked_days: Admins only — book over locked dates. override_accrued_allowance: Admins only — bypass accrued-allowance check. attachment_id: Attach a previously uploaded attachment by ID.

action_holidayA

Approve, decline or cancel a holiday.

Args: holiday_id: The holiday ID (or a holiday token). action: Approve, Decline, Delete (cancel this booking) or DeleteGroup (cancel the whole group booking). reason: Optional reason, typically used when declining/cancelling. suppress_emails: Suppress notification emails when actioning.

Raises a webhook event if webhooks are configured.

list_leave_typesB

List leave types for the organisation.

Args: include_inactive: Also return inactive (deleted) leave types.

get_leave_typeC

Get a single leave type by ID.

list_leave_type_colorsA

List the valid colour hex codes for leave types.

list_leave_type_iconsA

List the valid icon names for leave types (empty string = no icon).

create_leave_typeA

Create a new leave type (admins only).

Args: name: Name of the leave type (1–50 chars). deducted: Whether it deducts from the user's allowance. requires_approval: Whether bookings need approval. include_max_off: Whether it counts toward max-absent limits. is_private: Whether the leave type is private. color: A hex colour (see list_leave_type_colors). icon: An icon name (see list_leave_type_icons). calendar_visibility: Busy, Available or OutOfOffice. limit_hours: Optional limit in hours. limit_days: Optional limit in days.

Returns the ID of the new leave type.

update_leave_typeC

Update an existing leave type (admins only). name is required.

delete_leave_typeA

Delete (deactivate) a leave type. Cannot delete the last active one.

list_locked_datesA

List all locked dates (periods where booking time off is blocked).

add_locked_dateA

Add a locked date period.

Args: from_date: Start of the locked period (ISO 8601 date-time). to_date: End of the locked period (ISO 8601 date-time). reason: Reason for the lock (1–2000 chars). record_type: Scope of the lock: Organisation, Department or User. Higher-level locks supersede lower-level ones. record_id: The organisation, department or user ID the lock targets.

delete_locked_dateB

Delete a locked date by ID (admins/authorised managers only).

list_public_holidaysB

List public holidays for the organisation.

Args: country_code: Filter to a country code. year: Filter to a year. user_id: Filter to a user's public holidays. bank_holiday_set_id: Filter to a bank holiday set. use_org_leave_year: Use the user's leave year instead of calendar year.

get_public_holidayC

Get a single public holiday by ID.

list_public_holiday_countriesA

List all countries available for public holidays.

list_usersB

List users in the organisation, optionally filtered by department.

Args: department_id: Only users in this department. include_archived_users: Include archived users in the results. only_show_archived_users: If archived users are included, show ONLY them.

get_userB

Get a user by ID, including work schedule and allowance breakdown.

get_user_contactB

Get a user with contact-tab details (address, phone, emergency contact).

Requires a Timetastic Pro account.

add_userA

Add a new user to Timetastic.

Args: first_name: The user's first name. last_name: The user's last name. department_id: The department to place the user in. allowance: Annual leave allowance in days (0–366). email_address: The user's email address. start_date: Start date, ISO 8601 (e.g. 2022-02-04T00:00:00). leave_year_start: Month the leave year starts (1=Jan … 12=Dec). send_welcome_email: Email the user to set a password and get started.

edit_userB

Edit a user. Only the fields you supply are changed (partial update).

Args: user_id: The ID of the user to edit. email_address: New email. Pass "" to clear an existing address. approver_id: The user's approver; set to 0 to default to dept manager. public_holiday_set_id: Public holiday set (needs has_public_holidays). has_public_holidays: Enable public holidays for this user. (Other args map directly to the corresponding user fields.)

archive_userA

Archive a user. They are logged out immediately and cannot log in.

Args: user_id: The ID of the user to archive. archive_date: The date the user left (UTC, must be in the past), ISO 8601. Shown on their archived profile and in reports.

restore_userA

Restore an archived user so they can use Timetastic again.

assign_public_holidays_to_userA

Assign a set of public holidays to a user (enabling them if needed).

Args: user_id: The user's ID. country_code: ISO 3166-1 alpha-2 country code (e.g. "ES" for Spain). region_code: Full region code (e.g. "GB-SCT" for Scotland, "ES-AN" for Andalucía).

If the chosen country/region is already used by your organisation, that (possibly customised) set is used; otherwise the standard set is assigned.

list_webhook_eventsA

List recent webhook events (up to 30 days of history are retained).

Args: days_history: How many days of history to return (defaults to 1).

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/mlequime/timetastic-mcp'

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