Repository navigation
Connectors block 18B: Chatwoot, Mercado Pago, Shoptet, PlentyONE and 6 more from customers' connectors - #1210
Merged
Merged
Conversation
helpcodeai
force-pushed
the
helpcodeai/block18b-new-adapters
branch
from
October 22, 2026 17:29
8fef5ae to
86331c1
Compare
helpcodeai
enabled auto-merge (squash)
October 22, 2026 17:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Paying and trial users on Cloud have been building these connectors by hand (base URL, tools, keys) because the catalog has no adapter for the vendor. Every adapter below is built from such a working connector: its tools succeed in
tool_invocationsand its key was still valid on 22 Oct 2026.Adapters (10, all listed)
intl/chatwoot, support, 26 tools): profile, account, inboxes, inbox agents, agents, teams, labels, canned responses, custom attributes, conversations (list, count, advanced filter, get), messages, contacts (list, search, get, conversations), reports (summary with previous period, time series, per agent/inbox/team, live open/unattended). Writes:chatwoot_send_messageandchatwoot_create_conversationinstalled switched off;chatwoot_set_conversation_labelson, annotated as replacing the label list. Cloud or self-hosted (CHATWOOT_URL). The Platform API is left out. Inbox channel secrets (provider_config,hmac_token) and the user's own token in/profileare removed by the response mappings.br/mercado-pago, payments, 13 tools): account, payment search (paged, at most 100) and detail, merchant orders, payment methods, subscriptions, and the released money and account money reports (list, generate, download). It moves no money: no refunds, payouts or preferences. Generating a report is the only write, annotated as one.intl/shoptet, e-commerce, 23 tools, read-only): e-shop, orders, order detail and history, order statuses and sources, products by guid or code, categories, brands, stocks, supplies and movements, customers and groups, invoices, credit notes, proformas, payment and shipping methods.de/plentyone, e-commerce, 20 tools): LOGIN_TOKEN against/rest/loginwith an API user. Webstores, orders (/orders/search), order detail, order statuses, referrers, items, variations, item texts, warehouses, stock, categories, manufacturers, units, sales prices, contacts.plentyone_create_itemandplentyone_update_variationinstall switched off.fr/fr-company-data, government, 7 tools, no API key): API Recherche d'entreprises (search, SIREN/SIRET lookup, near a point), BODACC notices by SIREN and BODACC search, BALO notices, DGE financial ratios from filed accounts.de/flour, erp, 17 tools, read-only): stocks, branches, points of sale, articles (search, find by number or EAN, get, stock, availability, movements), documents (list, get), sold articles per period, business partners, POS journals, stocktakes, statistics. Flour publishes its OpenAPI at backend.flour.cloud/api (not linked from its website) and issues tokens via developer@flour.io, so the adapter is listed rather than unlisted. Terminal, TSE and bank fields are removed by the mappings. The documented/documents/topsellerroute answered 500 on every call, so it is left out;flour_get_sold_articlescovers it.intl/aurora-inbox, crm, 18 tools, read-only, sends nothing): teams, stages, funnel report, users, tags, chat search, chat, chat tags and opportunities, contacts, custom properties, companies, channels, WhatsApp templates, calendar, bookings, scheduling set-up.intl/sellauth, e-commerce, 13 tools, read-only): shops, analytics, revenue graph, top products and customers, invoices (list, get), products (list, get), customers, feedback, tickets, coupons. Delivered product keys, the shop's Discord and webhook secrets, payment proofs and IPs are removed by the mappings.intl/openrouteservice, maps, 8 tools, compute only): geocode, autocomplete, reverse geocode, directions, matrix, isochrones, route optimisation (VROOM), POIs, on the current hostapi.heigit.org(HeiGIT retires api.openrouteservice.org in November 2026).intl/ocr-space, data, 2 tools): read an image or PDF from a URL, make a searchable PDF.connector.config.errorWhenturns OCR.space's HTTP 200 +IsErroredOnProcessinginto a failed call.Each adapter has instructions (setup, where the key comes from, base URL, workflow, limits, errors),
envVarMeta,verifyHints, a parameter-free probe (or fixed probe params), a logo, and a*.live.spec.tswith static checks (prefix, every argument reaches the request, writes off and annotated, no reuse of the customer's hand-built tool names, every tool documented, no secrets in mapped output) and a live part gated behindRUN_<SLUG>_LIVE=1.Logos: Chatwoot from Simple Icons (CC0), Mercado Pago reuses the existing Mercado Pago mark (
mercado-libre.svg), PlentyONE is the vendor's "P" mark recoloured; the others are text monograms likeimmobilienscout24.svg.Verification
Read-only checks ran on 22 Oct 2026 inside the Cloud backend container, with the customers' existing credentials decrypted there by the app's own helpers (nothing printed or copied out; only HTTP status and response shapes were looked at). The checks used each adapter's own paths, query parameters and response mappings. No write, send or delete endpoint was called with customer credentials, no OAuth refresh tokens were used, and nothing cost money. Keyless APIs were called directly; OCR.space was checked with its public demo key instead of the customer's quota.
set_conversation_labels(9 ok),send_message(1 ok),create_conversation(1 ok)list_team_members(the account has no teams)create_release_report(4 ok)get_merchant_order(no orders on the account),create_settlement_reportcreate_item(1 ok),update_variation(1 ok)search_orders,get_order,list_order_statuses,search_contacts: the customer's API user lacks those rights (403 names the missing right, which confirms the routes)Official or popular MCP servers for these vendors were reviewed where they exist; nothing from them is copied or named here.
Cloud vs self-hosted
The adapters behave the same in both modes: they are catalog JSON installed per workspace, with the user's own credentials. On Cloud, calls leave from the Cloud egress; Chatwoot and PlentyONE take the instance address, so a self-hosted Chatwoot behind a private network is only reachable from a self-hosted AnythingMCP. Nothing is Cloud-only or edition-gated.
Counts
517 to 527 adapters, 23 to 24 keyless, 8,023 tools: README (4 languages), CITATION.cff, glama.json, package.json, server.json. Block 18A (#1209) touches other adapters and may touch the same count lines; a rebase only needs those numbers re-run.
Tests
Run from
packages/backendunless noted, on this branch rebased on v0.45.5:node scripts/validate-adapters.mjs --warn(root): 541 passed, 0 failed; no warnings on the new adaptersnode scripts/regenerate-catalog.mjs(root): 541 adapters across 15 regionsnode scripts/adapter-count.mjs --check(root): OK, 527 adapters, 24 keyless, 8,023 toolsnpm run lint: 0 errors (11 existing warnings); two unrelated files rewritten byeslint --fixwere revertednpx tsc --noEmit -p tsconfig.json: cleannpm test: 745 suites passed (4 skipped), 22,191 tests passed, 1,548 skipped, 0 failedRUN_FR_COMPANY_DATA_LIVE=1andRUN_OCR_SPACE_LIVE=1(demo key) live parts passedFollow-up
.context/review-1022/block18b-adapters.json).