Skip to content

Add 21 catalog adapters for AI, outreach, e-signature and incidents - #1350

Merged
helpcodeai merged 3 commits into
mainfrom
feat/catalog-gaps-block-24
Oct 30, 2026
Merged

helpcodeai merged 3 commits into
mainfrom
feat/catalog-gaps-block-24

Conversation

@helpcodeai

Copy link
Copy Markdown
Contributor

Summary

Adds 21 catalog adapters for services that were still missing: statistics, image and speech AI, sales outreach, email marketing, voice agents and telephony, e-signature and incident tooling. With them, these services work straight from the catalog without a hand-made connector.

Each adapter is mapped from the vendor's API reference, and from its OpenAPI file where one is published (docsUrl in each adapter). For vendors without a test key, open-source MCP servers, SDKs and integration nodes on GitHub were read to confirm paths, auth headers, paging and field names and to choose which operations to cover; their code and descriptions were not copied. Deletes and other writes that cannot be undone install switched off.

Changes

New adapters (617 listed, up from 596; 28 keyless)

Adapter Auth Tools (off at install)
eurostat none 10
stability-ai Bearer 23
fish-audio Bearer 9 (1)
assemblyai Authorization key, US or EU host 13 (1)
freshsales Token token= key, host per bundle 40
smartlead api_key query parameter 43 (3)
heyreach X-API-KEY 40 (2)
clay clay-api-key 13 (1)
phantombuster X-Phantombuster-Key 29 (4)
constant-contact OAuth2 authorization code 50 (3)
getresponse X-Auth-Token: api-key, standard or MAX host 42 (1)
mailtrap Bearer 53 (3)
vapi Bearer 26
retell-ai Bearer 29 (1)
ringcentral OAuth2 authorization code 28
documenso Authorization key, Cloud or self-hosted 22 (4)
boldsign X-API-KEY, US / EU / CA / AU host 32 (2)
signnow Bearer API key 37 (2)
statuspage Authorization: OAuth key 38 (1)
rollbar X-Rollbar-Access-Token 34 (1)
incident-io Bearer 43

Notes:

  • Eurostat: keyless. It covers the statistics API 1.0 data, SDMX 2.1 data by series key, structures, codelists, availability, the update feed and Comext. Large SDMX-ML replies are trimmed. The engine cannot filter the 2 MB table of contents by a keyword, so the instructions list 25 checked dataset codes instead of a search tool.
  • Paid calls: Stability AI generation and editing, Fish Audio TTS and ASR, AssemblyAI transcription and LLM gateway, Vapi, Retell and RingCentral calls and SMS. These say so in their descriptions and ask for confirmation. Retell batch calls install switched off.
  • Left out because the engine cannot send them:
    • Raw binary uploads: AssemblyAI /v2/upload.
    • Multipart with a JSON part: RingCentral fax.
    • Form-data arrays: Fish Audio tags.
    • JWT bearer grant: RingCentral server apps.
    • Presigned uploads: Clay batch runs.
    • Binary 3D results: Stability.
  • AssemblyAI: LeMUR is gone from the current spec. assemblyai_ask_transcript uses the LLM gateway with transcript_id instead.
  • Documenso: uses the v2 envelope API, because the document and template endpoints are removed on 1 March 2027.
  • signNow: uses the dashboard API key. The password grant only works for the API app's owner, and the authorization code exchange needs a body the engine does not send. A wrong key answers 400, not 401; verifyHints covers it.
  • RingCentral: refresh tokens expire after 7 days unused. The sandbox host was retired at the end of 2024, which the instructions say.
  • GetResponse MAX: the probe and the tools send X-Domain. The connector's own "Test connection" does not, so it may answer 401 on MAX accounts even when the key is right.
  • Official MCP servers: incident.io (mcp.incident.io), Smartlead, HeyReach, Clay, PhantomBuster, Fish Audio and Vapi run their own. These adapters use the REST APIs. A bridge adapter could follow once a key is available to snapshot their tool lists.

Other changes

  • Catalog regenerated. Quoted counts updated in the READMEs, CITATION.cff, glama.json, package.json and server.json. llms.txt and llms-full.txt regenerated.
  • Logos added for all 21 adapters. None is in simple-icons, except Statuspage and Mailtrap; the others come from the vendors' sites or logo kits.

Cloud and self-hosted: the adapters behave the same in both modes; none is selfHostOnly.

Type

  • Bug fix
  • New feature
  • Documentation
  • Refactoring
  • Performance improvement
  • Other (describe below)

Testing

  • Added/updated unit tests
  • Tested manually (describe steps below)
  • No tests needed (explain why)

Each new adapter has a *.live.spec.ts with static assertions:

  • auth and base URL
  • the key endpoint mappings
  • tool prefixes, and that every declared parameter reaches the request
  • required path parameters, the probe, the instructions coverage and the switched-off set

Live parts are gated behind RUN_<SLUG>_LIVE=1 and only read.

Live reads:

  • eurostat: all 10 tools ran for real (no key needed), including the XML trimming.
  • stability-ai: balance, account and engines ok on a real account. No paid call was sent.
  • fish-audio: API credit, package and voice list ok on a real account; list_voices also passes without a key.
  • assemblyai: the LLM model list passes on the US and EU hosts.
  • Without credentials: routes were checked with an invalid key. 401 or 403 confirms the route exists, where the vendor does not answer 401 to every path (Smartlead, HeyReach, Clay, Statuspage and PhantomBuster do). Bodies and fields were checked against the OpenAPI files where published.

Commands, run from the repository root unless noted:

  • node scripts/validate-adapters.mjs --warn: exit 0, no errors or warnings for the new adapters (existing warnings unchanged)
  • node scripts/regenerate-catalog.mjs: 631 adapters across 15 regions
  • node scripts/adapter-count.mjs --check: OK, 617 adapters, 28 keyless, 10403 tools
  • node scripts/generate-llms-txt.mjs --check: exit 0
  • In packages/backend:
    • npx jest src/adapters: 610 suites passed, 1 skipped; 21,203 tests passed, 1,683 skipped
    • npx tsc --noEmit -p tsconfig.json: exit 0
    • npx eslint <the 21 new specs>: exit 0

Checklist

  • My code follows the existing code style
  • I have tested my changes locally
  • I have updated documentation (if applicable)
  • All existing tests pass (npm test): adapter suites run locally (above); the full backend suite runs in CI
  • This PR has a descriptive title

Related Issues

Website guides follow in a separate website PR.

@helpcodeai
helpcodeai merged commit d70769b into main Oct 30, 2026
14 checks passed
@helpcodeai
helpcodeai deleted the feat/catalog-gaps-block-24 branch October 30, 2026 21:09
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants