Add Google Calendar connector (gcal)

- connector.json: OAuth Google, scope https://www.googleapis.com/auth/calendar
  deliver: file/google_authorized_user → {secrets}/google_creds.json
  mcp_config.env.GOOGLE_CREDS_PATH = {secrets}/google_creds.json
- verify.py: loads creds + API probe (calendarList.list)
- gcal_mcp_server.py: 8 tools (status, list_calendars, list_events,
  get_event, create_event, update_event, delete_event, respond_to_event)
  + push notification polling
- icons: calendar SVG (48px + 96px)
- connectors.json index: gcal entry with auth + sha256
- SKALD.md: tabella connector + stato verify aggiornati
This commit is contained in:
2026-07-17 20:53:38 +01:00
parent 04912fccd9
commit 3a3bc4e1e9
9 changed files with 1297 additions and 1 deletions
+2 -1
View File
@@ -440,8 +440,9 @@ sudo find /var/www/connectors.skaldagent.net/ -type f -exec chmod 644 {} \;
|----|------|------|-------|------|--------|
| `tavily` | Tavily | `mcp_remote` | `global` | api_key (`{SECRET:tavilyApiKey}` in URL) | `verify.py` (HTTP probe `/search`) |
| `gmail` | Gmail | `mcp_local` | `user` | oauth2 (Google) + deliver: `file/google_authorized_user` | ⏳ Fase 2 — OAuth via loopback listener |
| `gcal` | Google Calendar | `mcp_local` | `user` | oauth2 (Google) + deliver: `file/google_authorized_user` | `verify.py` (creds load + API probe) |
| `email` | Email (IMAP/SMTP) | `mcp_local` | `user` | password (env) | `verify.py` (IMAP+SMTP probe) |
| `ssh` | SSH Remote Access | `mcp_local` | `user` | none (auth runtime per-alias) | — (nessun setup credential) |
**Stato del verify-before-save in skald**: `email` e `tavily` hanno `verify` completo
**Stato del verify-before-save in skald**: `email`, `tavily`, e `gcal` hanno `verify` completo
(script + JSON output); `gmail` aspetta la Fase 2 (OAuth via loopback listener).
Un connector senza `verify` viene attivato senza test — vedi § Senza verify.