Slotlock for VS Code
io.github.pilotaai/slotlock
Calendars for AI agents: free/busy, next free slot, and bookings PostgreSQL never double-books.
client:VS Code
transport:stdio
runtime:oci
Install Slotlock in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "database-url",
"description": "DATABASE_URL",
"password": true
},
{
"type": "promptString",
"id": "slotlock-auth-token",
"description": "SLOTLOCK_AUTH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "slotlock-confirmation-secret",
"description": "SLOTLOCK_CONFIRMATION_SECRET",
"password": true
},
{
"type": "promptString",
"id": "slotlock-metrics-token",
"description": "SLOTLOCK_METRICS_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "port",
"description": "PORT",
"password": true
},
{
"type": "promptString",
"id": "slotlock-migrate-database-url",
"description": "SLOTLOCK_MIGRATE_DATABASE_URL",
"password": true
},
{
"type": "promptString",
"id": "slotlock-confirm-writes",
"description": "SLOTLOCK_CONFIRM_WRITES",
"password": true
},
{
"type": "promptString",
"id": "slotlock-availability",
"description": "SLOTLOCK_AVAILABILITY",
"password": true
},
{
"type": "promptString",
"id": "slotlock-rest-api",
"description": "SLOTLOCK_REST_API",
"password": true
},
{
"type": "promptString",
"id": "slotlock-retention-days",
"description": "SLOTLOCK_RETENTION_DAYS",
"password": true
},
{
"type": "promptString",
"id": "slotlock-shared-limits",
"description": "SLOTLOCK_SHARED_LIMITS",
"password": true
},
{
"type": "promptString",
"id": "slotlock-webhooks",
"description": "SLOTLOCK_WEBHOOKS",
"password": true
},
{
"type": "promptString",
"id": "slotlock-tenant",
"description": "SLOTLOCK_TENANT",
"password": true
}
],
"servers": {
"slotlock": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pilotaai/slotlock:0.11.0"
],
"env": {
"DATABASE_URL": "${input:database-url}",
"SLOTLOCK_AUTH_TOKEN": "${input:slotlock-auth-token}",
"SLOTLOCK_CONFIRMATION_SECRET": "${input:slotlock-confirmation-secret}",
"SLOTLOCK_METRICS_TOKEN": "${input:slotlock-metrics-token}",
"PORT": "${input:port}",
"SLOTLOCK_MIGRATE_DATABASE_URL": "${input:slotlock-migrate-database-url}",
"SLOTLOCK_CONFIRM_WRITES": "${input:slotlock-confirm-writes}",
"SLOTLOCK_AVAILABILITY": "${input:slotlock-availability}",
"SLOTLOCK_REST_API": "${input:slotlock-rest-api}",
"SLOTLOCK_RETENTION_DAYS": "${input:slotlock-retention-days}",
"SLOTLOCK_SHARED_LIMITS": "${input:slotlock-shared-limits}",
"SLOTLOCK_WEBHOOKS": "${input:slotlock-webhooks}",
"SLOTLOCK_TENANT": "${input:slotlock-tenant}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs