Skip to content

feat(adapters): add SumUp payments MCP adapter - #1367

Merged
helpcodeai merged 5 commits into
HelpCode-ai:mainfrom
ak-bharadwaj:adapter/sumup
Nov 2, 2026
Merged

helpcodeai merged 5 commits into
HelpCode-ai:mainfrom
ak-bharadwaj:adapter/sumup

Conversation

@ak-bharadwaj

@ak-bharadwaj ak-bharadwaj commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds a pre-built MCP adapter for the SumUp payments platform (\packages/backend/src/adapters/intl/sumup.json), exposing 6 tools:

  • \sumup_get_merchant_profile: Retrieve authenticated merchant account and profile details.
  • \sumup_list_transactions: Query transaction history with date range, status, and pagination filters.
  • \sumup_get_transaction: Fetch specific transaction details by transaction ID or code.
  • \sumup_list_payouts: List payouts and settlement reports.
  • \sumup_list_checkouts: List customer checkouts and payment links.
  • \sumup_list_subaccounts: List operator subaccounts.

Review Updates Completed

  • *Mapped \queryParams* in \endpointMapping\ for \sumup_list_transactions, \sumup_get_transaction, \sumup_list_payouts, and \sumup_list_checkouts.
  • Updated API paths: /v0.1/me/financials/payouts\ and /v0.1/me/accounts.
  • Added static & live test spec: \packages/backend/src/adapters/intl/sumup.live.spec.ts.
  • Added connector logo: \packages/frontend/public/logos/connectors/sumup.svg.
  • Regenerated catalog:
    ode scripts/regenerate-catalog.mjs.
  • Bumped adapter count (680 -> 681): Passed
    ode scripts/adapter-count.mjs --check\ across all quoted docs, package, and citation files.
  • Regenerated LLM indexes:
    ode scripts/generate-llms-txt.mjs.
  • Claimed in 🐣 Good first issue: contribute a new MCP adapter #982: Posted claim comment.

Part of #982

Add pre-built MCP adapter for SumUp payment gateway exposing 6 tools:
- sumup_get_merchant_profile: retrieve authenticated merchant details
- sumup_list_transactions: list transaction history with status/date filters
- sumup_get_transaction: retrieve specific transaction details
- sumup_list_payouts: list payout settlement batches
- sumup_list_checkouts: list online checkouts and customer payment links
- sumup_list_subaccounts: list operator subaccounts

Regenerate catalog.ts and validate via scripts/validate-adapters.mjs.
Part of HelpCode-ai#982
@github-actions

Copy link
Copy Markdown

👋 Welcome, @ak-bharadwaj, and thanks for opening your first PR on AnythingMCP!

A few quick pointers:

  • Make sure CI is green before requesting review (Backend, Frontend, Playwright, CodeQL, Trivy).
  • If this is a new adapter, the parametrised catalog.spec.ts test will validate it automatically.
  • Sign off your commits if you can — it's not blocking, just nice to have.

Someone from the core team will look at this within ~48h. If you don't hear back, please ping us in Discussions / Q&A.

⭐ While you wait — if you find AnythingMCP useful, a star helps others discover it.

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@ak-bharadwaj

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

github-actions Bot added a commit that referenced this pull request Oct 31, 2026
@ak-bharadwaj

Copy link
Copy Markdown
Contributor Author

recheck

@helpcodeai helpcodeai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the SumUp adapter. The host and the bearer token are fine, but the tools cannot work yet:

  1. Parameters are dropped. None of the GET tools has endpointMapping.queryParams. The REST engine builds the query string only from queryParams, so limit, statuses, the date filters and so on are never sent. sumup_get_transaction never sends its required id, so it cannot find a transaction. Please map every parameter, for example "queryParams": { "transaction_code": "$transaction_code", "limit": "$limit" }. docs/tool-definition.md shows the format.
  2. Paths. Please check /v0.1/me/payouts and /v0.1/me/subaccounts against the SumUp API reference. As far as I can see payouts are under /v0.1/me/financials/payouts (or the newer /v1.0/merchants/{merchant_code}/payouts), and sub-accounts under /v0.1/me/accounts.
  3. Missing pieces from the adapter checklist (AGENTS.md, "Add an adapter: six steps"): a sumup.live.spec.ts with static checks and a live block behind RUN_SUMUP_LIVE=1, regenerated catalog.ts, updated counts (node scripts/adapter-count.mjs --check will fail now), and the logo in packages/frontend/public/logos/connectors/.
  4. Please claim SumUp in #982 first, so nobody else works on it at the same time, and remove the cc to the unrelated account from the description.

I will approve the CI runs once these are in.

@ak-bharadwaj

Copy link
Copy Markdown
Contributor Author

@helpcodeai Thank you for the detailed feedback! All 4 requested points have been completed in commit \�bb5fb6:

  1. Query Parameters Mapped: Added \queryParams\ in \endpointMapping\ for all queryable endpoints (\sumup_list_transactions, \sumup_get_transaction, \sumup_list_payouts, \sumup_list_checkouts).
  2. API Paths Corrected: Corrected payouts path to /v0.1/me/financials/payouts\ and subaccounts to /v0.1/me/accounts.
  3. Adapter Checklist:
    • Added \packages/backend/src/adapters/intl/sumup.live.spec.ts\ with static spec conformance and live test gate.
    • Added Simple Icons SVG at \packages/frontend/public/logos/connectors/sumup.svg.
    • Regenerated \catalog.ts\ via
      ode scripts/regenerate-catalog.mjs.
    • Updated adapter counts (680 -> 681) across all quoted docs; verified
      ode scripts/adapter-count.mjs --check\ passes cleanly.
    • Regenerated \llms.txt\ and \llms-full.txt.
  4. Claim & Description: Claimed SumUp in 🐣 Good first issue: contribute a new MCP adapter #982 and removed the unrelated account tag from the PR description.

Ready for CI approval and review. Thanks!

@helpcodeai helpcodeai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is much better: parameters are mapped, the paths are fixed, and the counts, catalog and logo are in. I approved the CI runs.

One last thing: the live test only checks that SUMUP_API_KEY is set. Please make one real call when RUN_SUMUP_LIVE=1, for example GET https://api.sumup.com/v0.1/me with the bearer token, and check that the answer has a merchant_profile. intl/todoist.live.spec.ts shows the pattern. After that and a green CI we can merge.

@ak-bharadwaj

Copy link
Copy Markdown
Contributor Author

@helpcodeai Updated in commit \cefbe0a! Added the live \GET https://api.sumup.com/v0.1/me\ request asserting that \merchant_profile\ is present in the response when \RUN_SUMUP_LIVE=1\ and \SUMUP_API_KEY\ is configured. Thank you for approving the CI runs!

@helpcodeai
helpcodeai enabled auto-merge (squash) November 2, 2026 13:26
@helpcodeai
helpcodeai merged commit 1ae9201 into HelpCode-ai:main Nov 2, 2026
14 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 2, 2026
@helpcodeai

Copy link
Copy Markdown
Contributor

Merged, thank you @ak-bharadwaj. I merged main into your branch to fix the adapter counts after the Pipefy merge. SumUp will be in the catalog on AnythingMCP Cloud with one of the next updates.

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