timetastic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIMETASTIC_API_TOKEN | Yes | Your Timetastic admin API token, generated at https://app.timetastic.co.uk/api |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 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
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. |
| 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 |
| action_holidayA | Approve, decline or cancel a holiday. Args:
holiday_id: The holiday ID (or a holiday token).
action: 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 Returns the ID of the new leave type. |
| update_leave_typeC | Update an existing leave type (admins only). |
| 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: |
| 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. |
| 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 |
| 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. 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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