Skip to main content

Timetastic MCP

An unofficial MCP server for Timetastic, exposing the Timetastic API to agentic clients so they can query and manage absence & leave data.

Setup

You need an admin API token, generated at https://app.timetastic.co.uk/api. The server reads it from the TIMETASTIC_API_TOKEN environment variable.

The quickest way to run it is with uv's uvx, which fetches and runs the published package without a manual install:

export TIMETASTIC_API_TOKEN="your-token-here"
uvx timetastic-mcp

Or install it as a tool so the timetastic-mcp command is on your PATH:

uv tool install timetastic-mcp   # or: pipx install timetastic-mcp

Client configuration

Add the server to your MCP client (e.g. Claude Desktop / Claude Code):

{
  "mcpServers": {
    "timetastic": {
      "command": "uvx",
      "args": ["timetastic-mcp"],
      "env": { "TIMETASTIC_API_TOKEN": "your-token-here" }
    }
  }
}

Pin a version with "args": ["timetastic-mcp@0.1.0"]. If you installed the command on your PATH instead, use "command": "timetastic-mcp" with "args": []. In Claude Code you can also add it from the CLI:

claude mcp add timetastic --env TIMETASTIC_API_TOKEN=your-token -- uvx timetastic-mcp

Tools

Tools are grouped by resource and named <verb>_<resource>.

Group Tools
Absences list_absences
Holidays (leave bookings) list_holidays, get_holiday, book_holiday, action_holiday
Users list_users, get_user, get_user_contact, add_user, edit_user, archive_user, restore_user, assign_public_holidays_to_user
Departments list_departments, get_department, add_department, edit_department, delete_department
Leave types list_leave_types, get_leave_type, list_leave_type_colors, list_leave_type_icons, create_leave_type, update_leave_type, delete_leave_type
Allowances list_all_allowances, get_user_allowance, update_user_allowance, update_user_carry_forward, add_user_toil, update_user_toil, delete_user_toil
Locked dates list_locked_dates, add_locked_date, delete_locked_date
Public holidays list_public_holidays, get_public_holiday, list_public_holiday_countries
Webhooks list_webhook_events

Note: Timetastic calls all leave bookings "holidays" for historical reasons — the Holidays tools cover any kind of absence, not just annual leave.

Layout

The package lives under src/timetastic_mcp/:

  • timetastic.py — async HTTP client (auth, base URL, rate-limit retries, error handling).
  • server.py — the shared FastMCP instance and get_client(), the lazily-created API client the tools call.
  • tools/ — one module per resource area, each registering its tools on the shared server: absences, holidays, users, departments, leave_types, allowances, locked_dates, public_holidays, webhooks.
  • main.py — entry point (the timetastic-mcp console script); imports tools to register everything, then runs the server.

Development

Requires Python 3.13+ and uv.

uv sync           # create the venv and install the package + dev deps
uv run pytest     # run the test suite
uv run timetastic-mcp   # run the server from your checkout

Notes

  • The API is rate limited to 5 requests/second per token (1/second for list_absences); the client retries once on a 429.
  • Write and admin operations require appropriate permissions on the token's user account.

Metadata

Release files for timetastic-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for timetastic-mcp 0.1.0
File Size Uploaded Provenance
timetastic_mcp-0.1.0.tar.gz 50.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for timetastic-mcp 0.1.0
File Interpreter ABI Platform
timetastic_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 70.2 kB

Release files / timetastic_mcp-0.1.0.tar.gz

Download URL timetastic_mcp-0.1.0.tar.gz
Size 50.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d0b6703b3cfb43b458bf8de7141dc0b684436112d4fdff03eaa6fe213c46e20d
BLAKE2b-256 checksum
How to use checksums
37d9f7c820ec6c840b830bf4a50dc8deb9296c4bf3a0334718cd78e3985d04c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release files / timetastic_mcp-0.1.0-py3-none-any.whl

Download URL timetastic_mcp-0.1.0-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88cb9cf83dba8b5afc82f4a79f61b242f08429dd05bc6b45c78d598a4935d0bd
BLAKE2b-256 checksum
How to use checksums
a96206d04d4933caca20532c3dd0fe923f3e2a8d612afa94c91b769577ef16c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Security for timetastic-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for timetastic_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page