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
+60
View File
@@ -56,6 +56,66 @@
}
]
},
{
"id": "gcal",
"name": "Google Calendar",
"type": "mcp_local",
"scope": "user",
"icon_small": "gcal/icon_sm.svg",
"icon_large": "gcal/icon_lg.svg",
"user_description": "Read, create, update, delete, and respond to Google Calendar events \u2014 full CRUD with push notifications.",
"requires": [
"OAUTH",
"PYTHON"
],
"tags": [
"calendar",
"mcp",
"local",
"google"
],
"auth": {
"type": "oauth2",
"provider": "google",
"scopes": [
"https://www.googleapis.com/auth/calendar"
]
},
"folder": "gcal",
"files": [
{
"path": "gcal_mcp_server.py",
"sha256": "0d1450ae552aba8035e608fa7785487459b9ecf0b05064c15fb5511d93ac92c1",
"size": 37210
},
{
"path": "gcal_oauth_setup.py",
"sha256": "4abbfcf6af50cc55ca00d283353b417acc6fee7720aa10abb0fbaa0e4aa79900",
"size": 3430
},
{
"path": "verify.py",
"sha256": "3bbc8c32bd320ed772972798371a39b03c3e52ce1dfd66a1493cda9e78e428e5",
"size": 2328
},
{
"path": "icon_sm.svg",
"sha256": "477ab05d24b40aaf4209c37e30558878fd0833dfbcfa8648b0ab9b903bd171d3",
"size": 473
},
{
"path": "icon_lg.svg",
"sha256": "b5daeeaaebba5b6d5ea31fd51bc63887225dee8aa1a42b571e49263f930895a9",
"size": 479
},
{
"path": "requirements.txt",
"sha256": "3f659cc5e5f0543f132699b06ccf9016ffe9afb40f9df4d110e0445b8d20f63e",
"size": 82
}
]
},
{
"id": "email",
"name": "Email (IMAP/SMTP)",