Commit Graph
25 Commits
Author SHA1 Message Date
dguiducci 2750e773d4 Aggiunto connector Google Maps (mcp_local)
- Script: gmaps_mcp_server.py (MCP stdio, JSON-RPC 2.0)
- 6 tools: status, directions, geocode, reverse_geocode, search_places, distance_matrix
- Auth: API key via env GOOGLE_MAPS_API_KEY
- Verify: test Geocoding API con probe 'Rome, IT' 
- Dipendenze: googlemaps>=4.10.0
- Icone SVG pin Google Maps
2026-07-22 21:46:43 +01:00
dguiducci 7f6477dd68 Aggiunto connector Context7 (mcp_remote)
- URL: https://mcp.context7.com/mcp, trasporto streamable-http
- Auth: none (endpoint pubblico, free tier)
- Verify: MCP initialize probe (testato )
- Icone SVG dal logo ufficiale Context7

Inoltre:
- Copiata docs/connector.manifest_guide.md da skald-circle/blueprint/
- Riferimento alla guida in SKALD.md
2026-07-22 21:40:12 +01:00
dguiducci c495b98574 fix: ricalcolati sha256 di connector.json dopo version bump
Lo script aveva calcolato lo sha256 prima di scrivere il bump di
versione in connector.json, causando mismatch su tutti i 13 connector.
2026-07-21 23:55:42 +01:00
dguiducci 955b1ba069 feat: friendly tool names per MCP title field or manifest
- Aggiunto campo 'title' a tools/list in tutti gli script MCP locali
  (Gmail, Gcal, Drive, Email, SSH, Weather, Wikipedia, WhatsApp)
- Aggiunto tools[]/display_name nel manifest per connector remoti/package
  esterni (Firecrawl, HTTP Fetch, Exa, Tavily, SerpAPI Flights)
- Documentata convenzione e resolution order in SKALD.md
- Aggiornata manifest_guide.md per tools[] in connectors.json
- Bumped version e sha256 per tutti i 13 connector
2026-07-21 23:43:24 +01:00
dguiducci ad0909b18d Fix weather + wikipedia: add requires:["PYTHON"] so Skald installs httpx deps
Without requires:["PYTHON"] Skald skips pip install and httpx is
missing at runtime. Bump v2→v3 (3.0.0).
2026-07-20 17:20:39 +01:00
dguiducci f1654d7d9d Fix weather + wikipedia: add mcp_config (command+args) to manifest
Both connectors were missing the mcp_config block that the frontend requires
to install mcp_local connectors. Bump v1→v2 (2.0.0).
2026-07-19 17:25:40 +01:00
dguiducci 513483e81b Add SerpAPI Flights connector: mcp_remote, flight search via Google Flights, verify.py with MCP initialize probe 2026-07-19 14:46:20 +01:00
dguiducci e469f48b52 Add Google Drive connector: mcp_local, OAuth2 (same pattern as Gmail/GCal), 8 tools, verify with Drive API probe, SVG icons 2026-07-19 14:44:10 +01:00
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 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 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 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 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