Commit Graph
22 Commits
Author SHA1 Message Date
dguiducci 341e4382c8 Add Exa connector: mcp_remote, neural web search, optional API key (free tier), verify.py with MCP initialize probe 2026-07-19 14:13:28 +01:00
dguiducci b83b2feb0f whatsapp: bump version 1→2 for update detection test (2.0.1→2.0.2) 2026-07-19 10:27:57 +01:00
dguiducci 7039816b73 Add versioning schema: version (int), version_string, version_release_date to all 10 connectors
- version: intero per-connector (parte da 1)
- version_string: semver ereditato (display only)
- version_release_date: ISO 8601 (display only)
- Campi identici in index (connectors.json) e manifest (connector.json)
- Aggiunto connector.json alle files[] di gmail, gcal, email, ssh, tavily
- Aggiornata documentazione in SKALD.md
2026-07-19 10:23:22 +01:00
dguiducci dd88363d98 whatsapp: fix crypto.subtle polyfill for Node 18, bump to v2.0.1 2026-07-19 10:16:37 +01:00
dguiducci 4e428073df Add WhatsApp connector v2 (Baileys, QR auth) 2026-07-19 10:08:12 +01:00
dguiducci 61248454e3 Add HTTP Fetch connector (npx mcp-fetch-server, no auth) 2026-07-18 21:54:32 +01:00
dguiducci d02b5ce1df Add HTTP Fetch connector (npx mcp-fetch-server, no auth) 2026-07-18 21:54:03 +01:00
dguiducci 36a026ff71 Add Firecrawl connector
- mcp_local via npx -y firecrawl-mcp
- API key come env FIRECRAWL_API_KEY (secret:true)
- Requires NODE runtime
- Verify via Node.js: Firecrawl scrape API probe
- Icona PNG fornita dall'utente
2026-07-18 21:52:30 +01:00
dguiducci c3521c4ac0 Add Weather (Open-Meteo) and Wikipedia connectors
- weather/ — Python MCP server (copiato da skald/scripts), no auth, free API
- wikipedia/ — nuovo Python MCP server, Wikipedia API pubblica, no auth
- Entrambi: mcp_local, scope global, auth none, dipendenza httpx
- connectors.json: +2 connector (totale 7), auth:none aggiunto anche a SSH
2026-07-18 21:49:47 +01:00
dguiducci 9cc84fd8ff Tavily: fix Italian -> English in docs and env descriptions 2026-07-17 22:27:52 +01:00
dguiducci 4954aad667 Adotta schema single-field env[] per Tavily: chiave API come voce env, auth semplificato, no requires
- Tavily: applicato manifest esatto con env[0] tavilyApiKey (secret:true),
  auth: {type:api_key}, no requires, URL referenzia {SECRET:tavilyApiKey}
- Email: auth semplificato (type:password, no delivery), rimosso ENV da requires
- connectors.json: aggiunto auth compatto per Tavily ed Email, rimossi requires
  API_KEY/ENV, fixati duplicati icon_lg.svg/verify.py residui
2026-07-17 22:21:39 +01:00
dguiducci 1502df04cf SKALD.md: document deploy flow — branch main = release, script marketplace_deploy.sh 2026-07-17 22:03:58 +01:00
dguiducci df4a18bd84 Fix duplicated entries in connectors.json index after purge 2026-07-17 22:01:03 +01:00
dguiducci b1a3944fc8 Purge standalone OAuth setup for Gmail and Gcal
- Deleted gmail_oauth_setup.py and gcal_oauth_setup.py (Skald handles OAuth)
- Removed google-auth-oauthlib dependency from requirements.txt and connector.json
- Simplified setup_instructions to point to Skald's OAuth flow
- Updated docstrings and error messages in *_mcp_server.py (no more refs to
  *_oauth_setup.py, point to Skald OAuth / env-var instead)
- connectors.json: removed oauth_setup.py from files[], updated sha256 hashes
2026-07-17 21:53:17 +01:00
dguiducci 46c1446eae Switch Gmail and Gcal to env-var OAuth delivery pattern
auth.deliver changes from as:file to as:env:
- Gmail: GMAIL_CREDS_JSON env var (Google authorized_user JSON)
- Gcal: GCAL_CREDS_JSON env var

mcp_config.env removed entirely — Skald injects the env var at runtime,
no path on disk needed.

Server scripts updated:
- Check GMAIL_CREDS_JSON / GCAL_CREDS_JSON env var first
- Use Credentials.from_authorized_user_info() instead of
  from_authorized_user_file()
- Fall back to file-based loading for standalone/legacy use
- _persist_creds only writes to disk when _creds_path is set

gcal/verify.py: support GCAL_CREDS_JSON env var with shared _check_api()

Docs (SKALD.md): updated examples, field table, connector table.
2026-07-17 21:00:58 +01:00
dguiducci 3a3bc4e1e9 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
2026-07-17 20:53:38 +01:00
dguiducci 04912fccd9 SKALD.md: document OAuth deliver, auth in index, oauth/show.html 2026-07-17 20:48:54 +01:00
dguiducci e9192d0439 gmail: add OAuth deliver block to manifest + index
connector.json: auth.deliver declares {as, format, path} so Skald
can write the Google authorized_user JSON without hardcoding paths.

connectors.json: gmail entry gains auth {type, provider, scopes}
for UI badge rendering without downloading the full manifest.

No changes to email, ssh, or tavily connectors.
2026-07-17 20:47:25 +01:00
dguiducci 48751ba91f oauth/show.html: simpler layout, fix HTML escaping, no textarea 2026-07-17 13:46:27 +01:00
dguiducci 51d166017d Add OAuth callback page (oauth/show.html)
Client-side page that captures the OAuth authorization code from
Google's redirect URL (?code=...) and displays it in a textarea
for copy-paste into Skald. Shows error details on failure.

Access at https://connectors.skaldagent.net/oauth/show.html
2026-07-17 13:43:14 +01:00
dguiducci 1caba6946c Add Email (IMAP/SMTP) and SSH Remote Access connectors
- CLAUDE.md: developer guide for the marketplace repo
- email/: generic IMAP+SMTP connector (stdlib only, config via env)
  - env[] array, auth.type: password, verify.py (IMAP+SMTP probe)
- ssh/: SSH Remote Access connector ported from Skald, modified
  - ALIASES_FILE → ~/.ssh_aliases.json (was ./secrets/...)
  - optional env[] (TTL/timeout tunables)
  - auth.type: none (per-alias auth at runtime via elicitation)
- tavily/: restructured with env[] (tavilyApiKey), verify.py, auth block
- connectors.json: added email, ssh, and tavily verify.py entries
- SKALD.md: documented env[], verify, password auth, SSH connector
2026-07-16 22:29:33 +01:00
dguiducci dedd09d7c7 Initial commit: marketplace structure with connectors.json and index.html 2026-07-16 18:49:01 +01:00