Skip to content

v0.1.32 — Proxy / Web-Unblocker + Onboarding + Help Scout OAuth2

Choose a tag to compare

@keysersoft keysersoft released this 31 May 18:20
9253ecb

✨ Highlights

Proxy / Web-Unblocker (#280, #281, #282)

Route a tool's outbound request through a proxy or web-unblocker (e.g. Zyte API proxy mode) to reach anti-bot / geo / rate-limited APIs. Fixes the Deutsche Bahn connector that 403'd on Akamai-protected endpoints.

  • Per-tool opt-in: mcp_tools.use_proxy (seeded from the adapter spec's useProxy), toggled via a per-tool UI checkbox shown only when CONNECTOR_PROXY_URL is set.
  • Cloud rate limit: PROXY_RATE_LIMIT_DEFAULT (default 100) proxy calls/hour per workspace; over-cap returns an explicit error. Overridable only by a service admin via organizations.proxy_rate_limit (no API).
  • Engine: REST + GraphQL attach an HttpsProxyAgent. SOAP/DB/MCP ignore it.
  • Adapters shipped with useProxy: true: Deutsche Bahn, Playtomic (+ public), Sorare, OpenTable, Resy, Vinted, Untappd, idealista, Trenitalia, ImmobilienScout24, Etsy, Mercado Libre.
  • Docs: docs/connectors/proxy.md.

Onboarding (#272, #273, #276)

  • In-app /welcome wizard with a gate-aware redirect (respects LicenseWall + license-choice).
  • Email drip cron for users who registered but never created a connector.

Connectors

  • Help Scout → OAuth2 client-credentials with auto-refresh (#277).
  • Clockify → expanded to 18 tools (#279).
  • Sendcloudto_country required to avoid 14s "all carriers" calls (#274).

Fixes

  • Audit: resolve user_id from the JWT email so cloud analytics aren't always NULL (#275).
  • License wall: hide on logout + auth routes, clear stale block state (#278).

Diff

v0.1.31...v0.1.32