Slotlock
io.github.PILOTAAI/slotlock
About Slotlock
Slotlock is an MCP server published by the GitHub account PILOTAAI. Calendars for AI agents: free/busy, next free slot, and bookings PostgreSQL never double-books.
It runs on your own machine: your AI client starts it from the Docker (OCI) package ghcr.io/pilotaai/slotlock:0.4.1, with no version pinned.
It asks for 4 secrets: DATABASE_URL, SLOTLOCK_AUTH_TOKEN, SLOTLOCK_CONFIRMATION_SECRET and SLOTLOCK_MIGRATE_DATABASE_URL. Give it a key with the least access that still works.
Version 0.4.1 was published on 28 October 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 7 automated checks on registry metadata: 4 pass, 1 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
DATABASE_URL | Yes | Yes | postgres:// URL of a PostgreSQL 16 or newer database the container can reach, as a role that is not a superuser and has no BYPASSRLS: serve refuses one, since row-level security would not confine it. Without SLOTLOCK_MIGRATE_DATABASE_URL this role also applies the schema, so it must be able to create it. |
SLOTLOCK_AUTH_TOKEN | No | Yes | Optional bearer token for SLOTLOCK_TENANT, with read and write (never admin): at least 32 random characters (openssl rand -hex 32). Leave it unset to accept only API keys (slotlock key create). |
SLOTLOCK_CONFIRMATION_SECRET | No | Yes | Signs pending write confirmations: at least 32 random characters, different from the token. Required unless SLOTLOCK_CONFIRM_WRITES is none. |
PORT | No | No | Port the server listens on inside the container. |
SLOTLOCK_MIGRATE_DATABASE_URL | No | Yes | postgres:// URL of the schema owner. When set, migration runs as this role and grants the DATABASE_URL role only what it needs at runtime. |
SLOTLOCK_CONFIRM_WRITES | No | No | Writes that wait for a person to confirm them: none, all, or a comma-separated list of slotlock_create_event, slotlock_book_together, slotlock_book_pool, slotlock_update_event, slotlock_delete_event. Clients without MCP 2026-07-28 form elicitation have guarded writes refused. |
SLOTLOCK_AVAILABILITY | No | No | JSON array of weekly bookable-hours rules, e.g. [{"rrule":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR","startMinutes":540,"durationMinutes":480}]. Without rules no slot is ever offered. |
SLOTLOCK_REST_API | No | No | on: also serve the tools as a REST API under /v1, and the application API (resources, bookable hours, holds, reservations, coverage, maintenance) for admin keys, described by an OpenAPI 3.1 document at /openapi.json. Writes that wait for confirmation answer 428 there. off: MCP and A2A only. |
SLOTLOCK_SHARED_LIMITS | No | No | on: tenant request budgets (SLOTLOCK_LIMITS' tenant_* and app_*) are shared by every server of a deployment through PostgreSQL, so N servers allow a tenant its rate once, not N times. off: each server keeps its own. |
SLOTLOCK_WEBHOOKS | No | No | on: deliver each tenant's changes to its webhooks (POST /v1/webhooks), signed as Standard Webhooks; never to a private network address. private: those too, for testing. off: keep the change feed (GET /v1/changes), send nothing. |
SLOTLOCK_TENANT | No | No | The tenant SLOTLOCK_AUTH_TOKEN acts in; API keys act in their own tenant. |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/PILOTAAI/slotlock |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Warn | Asks for 4 secrets: DATABASE_URL, SLOTLOCK_AUTH_TOKEN, SLOTLOCK_CONFIRMATION_SECRET, SLOTLOCK_MIGRATE_DATABASE_URL |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via GitHub account PILOTAAI |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Code red flags | Info | oci packages are not read yet |
Popularity & health: 39 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
0 forks, 122 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | io.github.PILOTAAI/slotlock |
|---|---|
| Publisher | GitHub account PILOTAAI |
| How the name is verified | Name verified via GitHub account PILOTAAI. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | oci ghcr.io/pilotaai/slotlock:0.4.1 no version given (streamable-http) |
| Version | 0.4.1 |
| Published | |
| Last updated | |
| Source repository | https://github.com/PILOTAAI/slotlock |
| Website | https://slotlock.pylota.io |
| Category | Databases & data (assigned by keyword rule, not by hand) |
Related servers in Databases & data
- Ekwo OS — open source accounting: ledger, invoices and VAT on your own Supabase or Postgres8/9Double-entry books an agent keeps as the user: invoices, VAT…
- database-mcp-postgres6/7MCP server for PostgreSQL. Read-only by default, row caps,…
- sqlsure7/7Semantic SQL inspector: catches double-counting, wrong joins, PII…
- Sellbase7/7Open source commerce in your own Supabase: catalog, checkout,…
- Dev error explainers7/7Offline, deterministic cause and fix for Node, npm, Next.js, CORS…
- nextjs-cache-handler-mcp7/7Inspect and operate Next.js Redis caches: health, tag state, SWR…