Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Beschreibung vom Entwickler (englisches Original)
Skylight Calendar for Claude — family events, chores, and rewards.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
SKYLIGHT_REFRESH_TOKEN, SKYLIGHT_EMAIL, SKYLIGHT_PASSWORD, SKYLIGHT_FRAME_ID, SKYLIGHT_NAME, SKYLIGHT_TOKEN_CACHE, SKYLIGHT_TOKEN_FILE, SKYLIGHT_BASE_URL, SKYLIGHT_APPLE_APP_PASSWORD, SKYLIGHT_APPLE_ID, SKYLIGHT_UPLOAD_DIRAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "your-value",
"SKYLIGHT_EMAIL": "your-value",
"SKYLIGHT_PASSWORD": "your-value",
"SKYLIGHT_FRAME_ID": "your-value",
"SKYLIGHT_NAME": "your-value",
"SKYLIGHT_TOKEN_CACHE": "your-value",
"SKYLIGHT_TOKEN_FILE": "your-value",
"SKYLIGHT_BASE_URL": "your-value",
"SKYLIGHT_APPLE_APP_PASSWORD": "your-value",
"SKYLIGHT_APPLE_ID": "your-value",
"SKYLIGHT_UPLOAD_DIR": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add skylight --env SKYLIGHT_REFRESH_TOKEN=your-value --env SKYLIGHT_EMAIL=your-value --env SKYLIGHT_PASSWORD=your-value --env SKYLIGHT_FRAME_ID=your-value --env SKYLIGHT_NAME=your-value --env SKYLIGHT_TOKEN_CACHE=your-value --env SKYLIGHT_TOKEN_FILE=your-value --env SKYLIGHT_BASE_URL=your-value --env SKYLIGHT_APPLE_APP_PASSWORD=your-value --env SKYLIGHT_APPLE_ID=your-value --env SKYLIGHT_UPLOAD_DIR=your-value -- npx -y skylight-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "your-value",
"SKYLIGHT_EMAIL": "your-value",
"SKYLIGHT_PASSWORD": "your-value",
"SKYLIGHT_FRAME_ID": "your-value",
"SKYLIGHT_NAME": "your-value",
"SKYLIGHT_TOKEN_CACHE": "your-value",
"SKYLIGHT_TOKEN_FILE": "your-value",
"SKYLIGHT_BASE_URL": "your-value",
"SKYLIGHT_APPLE_APP_PASSWORD": "your-value",
"SKYLIGHT_APPLE_ID": "your-value",
"SKYLIGHT_UPLOAD_DIR": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"skylight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"skylight-mcp"
],
"env": {
"SKYLIGHT_REFRESH_TOKEN": "your-value",
"SKYLIGHT_EMAIL": "your-value",
"SKYLIGHT_PASSWORD": "your-value",
"SKYLIGHT_FRAME_ID": "your-value",
"SKYLIGHT_NAME": "your-value",
"SKYLIGHT_TOKEN_CACHE": "your-value",
"SKYLIGHT_TOKEN_FILE": "your-value",
"SKYLIGHT_BASE_URL": "your-value",
"SKYLIGHT_APPLE_APP_PASSWORD": "your-value",
"SKYLIGHT_APPLE_ID": "your-value",
"SKYLIGHT_UPLOAD_DIR": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
SKYLIGHT_EMAIL envSKYLIGHT_FRAME_ID envSKYLIGHT_NAME envSKYLIGHT_TOKEN_CACHE envSKYLIGHT_TOKEN_FILE envSKYLIGHT_BASE_URL envSKYLIGHT_APPLE_ID envSKYLIGHT_UPLOAD_DIR envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto chrischall bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: SKYLIGHT_REFRESH_TOKEN, SKYLIGHT_PASSWORD, SKYLIGHT_APPLE_APP_PASSWORD
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.5.0) kam vor 3 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
MCP server for Skylight Calendar — 115 tools across calendar events (read+write), shared lists (read+write), chores and rewards (read+write), task-box items (read+write), meals (read+write), AI auto-creation (meal-plan + activity-idea generators with draft review/approve), messages and albums (read+write), photo/video upload, and frame/device/account settings + calendar + member management (read+write, incl. preset and custom-photo avatars).
Every API request carries the skylight-api-version: 2026-05-01 header (matching the official mobile app); without it some features 422 with "API version does not support …".
The server uses the official TypeScript SDK v2 and supports the stateless 2026-07-28 protocol revision over stdio. Clients can discover and call tools without an initialization handshake. Existing clients can still use the 2025-11-25 handshake.
The transport remains stdio. A host can expose it over authenticated HTTP. This package does not open a network listener.
The server uses a headless email+password OAuth2 authorization-code flow — no SSO, no 2FA, no browser extension required. Configure it with SKYLIGHT_REFRESH_TOKEN if you already hold a token, or SKYLIGHT_EMAIL + SKYLIGHT_PASSWORD to log in for one.
On first tool call, the server performs four steps against https://app.ourskylight.com:
GET /auth/session/new — fetch the Rails CSRF token and session cookie.POST /auth/session — log in with email + password (must happen before OAuth authorize).GET /oauth/authorize — send an S256 PKCE code_challenge (the server requires it) and receive the one-time authorization code via redirect.POST /oauth/token — exchange the code plus the matching code_verifier for a bearer access_token + refresh_token (currently a 24-hour expiry; the client reads the returned expires_in rather than assuming).OAuth redirects stay on the authentication origin. Relative redirects resolve against the current URL. The configured callback supplies the authorization code without receiving a request or session cookie. Unexpected destinations fail without including the redirect URL in the error.
The client then refreshes the token proactively (~60 s before expiry) and reactively on any 401. No bot wall has been observed — the headless flow works directly from Node.
No env vars → clean start: if credentials are not set, the server still starts without error. Auth is deferred to the first tool call, so MCP hosts can complete install-time tool listing before credentials are configured.
The package also exports Skylight's session login and refresh, so a separate program can authenticate without copying src/:
import { login, refresh } from 'skylight-mcp/auth';
const tokens = await login({ authBaseUrl: 'https://app.ourskylight.com', email: process.env.SKYLIGHT_EMAIL!, password: process.env.SKYLIGHT_PASSWORD!, }); // Skylight rotates refresh tokens: store the one each call returns. const next = await refresh({ authBaseUrl: 'https://app.ourskylight.com', refreshToken: tokens.refreshToken });
This is the only library entry point; everything else in the package is the MCP server. It is ESM-only and ships type declarations.
All data in Skylight is scoped to a *frame* (the family hub device). On first use the client auto-discovers the single frame on the account. If the account has more than one frame, set SKYLIGHT_FRAME_ID to the frame ID you want. Every tool that reads frame-scoped data accepts an optional frameId arg to override the default.
| Module | Tool | R/W | Description |
|---|---|---|---|
| frames | skylight_list_frames | R | List all frames on the account |
| frames | skylight_get_frame | R | Get details for a specific frame |
| frames | skylight_list_frame_members | R | List members associated with a frame |
| frames | skylight_list_devices | R | List physical devices linked to a frame |
| frames | skylight_get_plus_access | R | Get Skylight Plus subscription / entitlement status |
| frames | skylight_get_reward_points | R | Get reward-point balances per family member |
| frames | skylight_get_household_config | R | Get household configuration for the frame |
| frames | skylight_list_calendars | R | List the frame's calendar accounts and active calendars |
| frames | skylight_get_event_notification_settings | R | Get the frame's calendar-event notification settings |
| frames | skylight_resolve_member | R | Resolve a family-member name to its category id |
| frames | skylight_get_calendar | R | Get one calendar account |
| frames | skylight_list_nudges | R | List nudges (reminders) in a date range |
| frames | skylight_update_frame | W | Update frame display/sleep settings |
| frames | skylight_rename_frame | W | Rename a frame |
| frames | skylight_update_profile | W | Update the frame profile (name, birthday) |
| frames | skylight_update_household_config | W | Update household configuration |
| frames | skylight_set_reminder_profile | W | Set the global reminder cadence (interval_weeks) |
| frames | skylight_add_webcal | W | Subscribe the frame to a webcal/ICS calendar URL |
| frames | skylight_update_calendar | W | Set which sub-calendars of a connected account are active |
| frames | skylight_delete_source_calendar | W | Remove a connected source calendar (incl. webcal subscriptions) |
| frames | skylight_set_default_calendar | W | Set the default source calendar for new events |
| frames | skylight_link_apple_calendar | W | Link an Apple/iCloud calendar; the app-specific password comes from SKYLIGHT_APPLE_APP_PASSWORD, never a tool argument (confirm-gated) |
| frames | skylight_categorize_source_calendar | W | Attribute a source calendar's events to one or more family members |
| frames | skylight_create_source_calendar | W | Create a source calendar from raw provider attributes (advanced) |
| frames | skylight_invite_user | W | Invite a user to the frame by email (confirm-gated) |
| frames | skylight_approve_user | W | Approve a pending frame user (confirm-gated) |
| frames | skylight_remove_user | W | Remove a user from the frame (confirm-gated; the preview names the member) |
| frames | skylight_delete_category | W | Delete a category / family member (optional reassign_to_category_id, inferred; confirm-gated, the preview names the member) |
| frames | skylight_update_family_member | W | Update a family member's profile — birthday, dietary preferences (the name is the category label; set via skylight_update_category) |
| frames | skylight_update_category | W | Update a category — rename/recolor, or convert a label into a family-member profile (linked_to_profile) |
| frames | skylight_create_category | W | Create a category / family member (optional linked_to_profile, avatar_id) |
| frames | skylight_list_avatars | R | List the preset avatar library (emoji/icon images) |
| frames | skylight_set_member_avatar | W | Set a family member's avatar to a custom photo (confirm-gated) |
| frames | skylight_set_device_album | W | Set which photo album a device displays (inferred) |
| frames | skylight_rename_device | W | Rename a Skylight device |
| events | skylight_list_events | R | List calendar events within a date range |
| events | skylight_get_event | R | Get details for a specific event |
| events | skylight_create_event | W | Create a new calendar event (optional category_ids assigns members; confirm-gated when invited_emails is set, the preview names every recipient) |
| events | skylight_update_event | W | Update an existing calendar event (optional category_ids assigns members; confirm-gated when invited_emails is set) |
| events | skylight_delete_event | W | Delete a calendar event |
| events | skylight_list_categories | R | List event categories for a frame |
| events | skylight_list_source_calendars | R | List external source calendars linked to a frame |
| events | skylight_list_recent_invited_emails | R | List recently-invited email addresses |
| events | skylight_update_event_notification_settings | W | Update calendar-event notification settings |
| lists | skylight_list_lists | R | List all shared lists on a frame |
| lists | skylight_get_list_items | R | Get items in a specific shared list |
| lists | skylight_create_list | W | Create a new shared list (label + color + kind) |
| lists | skylight_update_list | W | Update a list's name, color, or type |
| lists | skylight_delete_list | W | Delete a shared list and its items (confirm-gated when the list has items; the preview lists them) |
| lists | skylight_add_list_item | W | Add an item to a shared list |
| lists | skylight_update_list_item | W | Rename a list item, check/uncheck it, or set its section |
| lists | skylight_delete_list_item | W | Delete an item from a shared list |
| lists | skylight_delete_list_items | W | Bulk-delete specific list items |
| lists | skylight_move_list_item | W | Reorder a list item |
| lists | skylight_clear_list | W | Remove all items from a list (single bulk delete; confirm-gated, the preview lists the items) |
| lists | skylight_set_list_item_section | W | Move list items into a named section (or clear it) |
| chores | skylight_list_chores | R | List chores within a date range |
| chores | skylight_search_chores | R | Search chores (incl. unscheduled/template chores) |
| chores | skylight_create_chore | W | Create a new chore (summary + category) |
| chores | skylight_create_recurring_chore | W | Create a recurring chore or routine (RRULE) |
| meals | skylight_update_meal | W | Update a planned meal (nam
Nur der Anfang wird gezeigt; den Rest findest du im Repo