Skylight MCP Server
by chrischallio.github.chrischall/skylight-mcpv1.4.0
Skylight Calendar for Claude — family events, chores, and rewards.
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Skylight MCP server
Install in Claude Code
claude mcp add skylight -e SKYLIGHT_REFRESH_TOKEN='<skylight-refresh-token>' -e SKYLIGHT_PASSWORD='<skylight-password>' -e SKYLIGHT_APPLE_APP_PASSWORD='<skylight-apple-app-password>' -- npx -y skylight-mcpInstall in Cursor
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "<skylight-refresh-token>",
"SKYLIGHT_PASSWORD": "<skylight-password>",
"SKYLIGHT_APPLE_APP_PASSWORD": "<skylight-apple-app-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "<skylight-refresh-token>",
"SKYLIGHT_PASSWORD": "<skylight-password>",
"SKYLIGHT_APPLE_APP_PASSWORD": "<skylight-apple-app-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"skylight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "<skylight-refresh-token>",
"SKYLIGHT_PASSWORD": "<skylight-password>",
"SKYLIGHT_APPLE_APP_PASSWORD": "<skylight-apple-app-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "<skylight-refresh-token>",
"SKYLIGHT_PASSWORD": "<skylight-password>",
"SKYLIGHT_APPLE_APP_PASSWORD": "<skylight-apple-app-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| SKYLIGHT_REFRESH_TOKEN | — | yes | An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely. |
| SKYLIGHT_EMAIL | — | — | Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN. |
| SKYLIGHT_PASSWORD | — | yes | Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN. |
| SKYLIGHT_FRAME_ID | — | — | Optional: pick a specific Skylight frame when the account has more than one. |
| SKYLIGHT_NAME | — | — | Friendly account name used in startup logs. |
| SKYLIGHT_TOKEN_CACHE | — | — | Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled. |
| SKYLIGHT_TOKEN_FILE | — | — | Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json. |
| SKYLIGHT_BASE_URL | — | — | Override the API base (default https://app.ourskylight.com/api). The auth origin is derived from it, so pointing this elsewhere moves the login flow too — and the new host must be added to the registration’s egress allowlist, or every call is blocked. |
| SKYLIGHT_APPLE_APP_PASSWORD | — | yes | Optional: an app-specific password from appleid.apple.com, used only by skylight_link_apple_calendar. Env-only by design — the tool takes no password argument, so the credential never passes through the model or the transcript. |
| SKYLIGHT_APPLE_ID | — | — | Optional: the Apple ID email skylight_link_apple_calendar links; the tool's email argument overrides it. |
| SKYLIGHT_UPLOAD_DIR | — | — | Optional: directories that the photo-upload, event-import-from-photo and avatar tools may read files from (several separated by ':', or ';' on Windows; '~' allowed). Any other path is refused. Unset: ~/Pictures and ~/Downloads, or only $MCP_DATA_DIR/uploads in a hosted deployment. |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-09 · 1d ago · GitHub
Latest release
2026-10-07 · 2d ago · GitHub · v1.4.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-07 · 2d ago · official registry · v1.4.0
FAQ
›How do I install the Skylight MCP server in Claude Code?
Run: claude mcp add skylight -e SKYLIGHT_REFRESH_TOKEN='<skylight-refresh-token>' -e SKYLIGHT_PASSWORD='<skylight-password>' -e SKYLIGHT_APPLE_APP_PASSWORD='<skylight-apple-app-password>' -- npx -y skylight-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Skylight require an API key?
Yes. It expects SKYLIGHT_REFRESH_TOKEN, SKYLIGHT_PASSWORD, SKYLIGHT_APPLE_APP_PASSWORD, of which 3 are secrets.
›Can I use Skylight as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Skylight in the official MCP registry?
Yes, as io.github.chrischall/skylight-mcp.
Alternatives to Skylight
Other calendar & scheduling MCP servers.