{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.10.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.10.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-04T22:22:08.849027Z","publishedAt":"2026-09-04T22:22:08.849027Z","updatedAt":"2026-09-04T22:22:08.849027Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.10.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.10.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-10T17:51:46.833459Z","publishedAt":"2026-09-10T17:51:46.833459Z","updatedAt":"2026-09-10T17:51:46.833459Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.10.2","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.10.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-18T21:19:27.810558Z","publishedAt":"2026-09-18T21:19:27.810558Z","updatedAt":"2026-09-18T21:19:27.810558Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.2.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-30T17:47:26.699422Z","publishedAt":"2026-05-30T17:47:26.699422Z","updatedAt":"2026-05-30T17:47:26.699422Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.2.2","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-30T18:12:17.969139Z","publishedAt":"2026-05-30T18:12:17.969139Z","updatedAt":"2026-05-30T18:12:17.969139Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.3.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-01T16:26:27.731999Z","publishedAt":"2026-06-01T16:26:27.731999Z","updatedAt":"2026-06-01T16:26:27.731999Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-02T11:55:05.252815Z","publishedAt":"2026-06-02T11:55:05.252815Z","updatedAt":"2026-06-02T11:55:05.252815Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-10T02:10:02.021479Z","publishedAt":"2026-06-10T02:10:02.021479Z","updatedAt":"2026-06-10T02:10:02.021479Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.2","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T00:07:00.872542Z","publishedAt":"2026-06-13T00:07:00.872542Z","updatedAt":"2026-06-13T00:07:00.872542Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.3","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-15T14:34:29.795252Z","publishedAt":"2026-06-15T14:34:29.795252Z","updatedAt":"2026-06-15T14:34:29.795252Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.4","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-07T15:09:50.073429Z","publishedAt":"2026-07-07T15:09:50.073429Z","updatedAt":"2026-07-07T15:09:50.073429Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.5","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-14T10:40:58.76435Z","publishedAt":"2026-07-14T10:40:58.76435Z","updatedAt":"2026-07-14T10:40:58.76435Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.4.6","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.4.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-19T12:46:50.839945Z","publishedAt":"2026-07-19T12:46:50.839945Z","updatedAt":"2026-07-19T12:46:50.839945Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.5.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-09T21:03:01.797459Z","publishedAt":"2026-08-09T21:03:01.797459Z","updatedAt":"2026-08-09T21:03:01.797459Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.6.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-10T17:12:52.119556Z","publishedAt":"2026-08-10T17:12:52.119556Z","updatedAt":"2026-08-10T17:12:52.119556Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.7.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.7.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-28T11:35:07.527884Z","publishedAt":"2026-08-28T11:35:07.527884Z","updatedAt":"2026-08-28T11:35:07.527884Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.7.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.7.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-28T21:07:18.747365Z","publishedAt":"2026-08-28T21:07:18.747365Z","updatedAt":"2026-08-28T21:07:18.747365Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.8.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.8.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-30T23:55:13.655963Z","publishedAt":"2026-08-30T23:55:13.655963Z","updatedAt":"2026-08-30T23:55:13.655963Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.8.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.8.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-31T12:28:53.973707Z","publishedAt":"2026-08-31T12:28:53.973707Z","updatedAt":"2026-08-31T12:28:53.973707Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.8.2","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.8.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-01T02:13:11.831063Z","publishedAt":"2026-09-01T02:13:11.831063Z","updatedAt":"2026-09-01T02:13:11.831063Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.9.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.9.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-01T02:54:48.507582Z","publishedAt":"2026-09-01T02:54:48.507582Z","updatedAt":"2026-09-01T02:54:48.507582Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"0.9.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"0.9.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-01T22:51:08.103735Z","publishedAt":"2026-09-01T22:51:08.103735Z","updatedAt":"2026-09-01T22:51:08.103735Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.0.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-19T01:19:55.582297Z","publishedAt":"2026-09-19T01:19:55.582297Z","updatedAt":"2026-09-19T01:19:55.582297Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-19T12:59:53.534228Z","publishedAt":"2026-09-19T12:59:53.534228Z","updatedAt":"2026-09-19T12:59:53.534228Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.1.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-20T02:52:09.63738Z","publishedAt":"2026-09-20T02:52:09.63738Z","updatedAt":"2026-09-20T02:52:09.63738Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.1.1","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-21T04:12:05.143732Z","publishedAt":"2026-09-21T04:12:05.143732Z","updatedAt":"2026-09-21T04:12:05.143732Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.1.2","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-23T15:39:19.813015Z","publishedAt":"2026-09-23T15:39:19.813015Z","updatedAt":"2026-09-23T15:39:19.813015Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.1.3","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-23T21:41:47.881827Z","publishedAt":"2026-09-23T21:41:47.881827Z","updatedAt":"2026-09-23T21:41:47.881827Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.2.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-24T15:11:58.798059Z","publishedAt":"2026-09-24T15:11:58.798059Z","updatedAt":"2026-09-24T15:11:58.798059Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/skylight-mcp","description":"Skylight Calendar for Claude — family events, chores, and rewards.","repository":{"url":"https://github.com/chrischall/skylight-mcp","source":"github"},"version":"1.3.0","packages":[{"registryType":"npm","identifier":"skylight-mcp","version":"1.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"An OAuth refresh token you already hold. Supply this and no password is needed — the login is skipped entirely.","format":"string","isSecret":true,"name":"SKYLIGHT_REFRESH_TOKEN"},{"description":"Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","name":"SKYLIGHT_EMAIL"},{"description":"Skylight account password — required iff SKYLIGHT_EMAIL is set. Needed only if you are not supplying SKYLIGHT_REFRESH_TOKEN.","format":"string","isSecret":true,"name":"SKYLIGHT_PASSWORD"},{"description":"Optional: pick a specific Skylight frame when the account has more than one.","format":"string","name":"SKYLIGHT_FRAME_ID"},{"description":"Friendly account name used in startup logs.","format":"string","name":"SKYLIGHT_NAME"},{"description":"Set to false to disable the on-disk token cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"SKYLIGHT_TOKEN_CACHE"},{"description":"Absolute path for the token cache file. Defaults to $MCP_DATA_DIR/.skylight-mcp/tokens.json.","format":"string","name":"SKYLIGHT_TOKEN_FILE"},{"description":"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.","format":"string","name":"SKYLIGHT_BASE_URL"},{"description":"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.","format":"string","isSecret":true,"name":"SKYLIGHT_APPLE_APP_PASSWORD"},{"description":"Optional: the Apple ID email skylight_link_apple_calendar links; the tool's email argument overrides it.","format":"string","name":"SKYLIGHT_APPLE_ID"},{"description":"Optional: directories that photo-upload, event-import-from-photo and avatar tools may read files from (several separated by ':', or ';' on Windows; '~' allowed). When set, any other path is refused. Unset means no directory restriction.","format":"string","name":"SKYLIGHT_UPLOAD_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-25T16:12:12.793069Z","publishedAt":"2026-09-25T16:12:12.793069Z","updatedAt":"2026-09-25T16:12:12.793069Z","isLatest":true}}}],"metadata":{"nextCursor":"io.github.chrischall/skylight-mcp:1.3.0","count":30}}
