Skip to content

feat(payments): add @codespar/mcp-getnet server - #7

Merged
fabianocruz merged 1 commit into
mainfrom
feat/getnet
Apr 24, 2026
Merged

feat(payments): add @codespar/mcp-getnet server#7
fabianocruz merged 1 commit into
mainfrom
feat/getnet

Conversation

@fabianocruz

Copy link
Copy Markdown
Member

Summary

Second P0-B server from the MCP expansion plan. Getnet is Santander-owned — #3 BR acquirer and #1 BR ecommerce per Santander IR. Together with Cielo, Stone, and Efi this closes three of the "big four" BR acquirer quadrant.

Distinct from per-PSP servers (Zoop, Pagar.me, Asaas, PagSeguro): Getnet is an acquirer, so merchants with a Santander commercial contract integrate directly instead of via a PSP. Different target customer, different business contract.

Tools (11)

Tool Purpose
`authorize_credit` Authorize card (delayed=true) or auth+capture (false)
`capture_credit` Capture a prior authorization
`cancel_credit` Cancel authorized-but-uncaptured
`refund_credit` Full or partial refund
`create_pix` Pix charge with QR image + EMV copy-paste
`create_boleto` Boleto with instruction text + expiration
`get_payment` Retrieve any payment by id
`tokenize_card` PCI-safe tokenization
`create_seller` Onboard marketplace seller
`get_seller` Seller by id
`list_sellers` Paginated list with filters

Authentication

OAuth 2.0 Client Credentials. POST /auth/oauth/v2/token returns a bearer token; the server caches it in memory until 60s before expiry. Every call also includes `seller_id` header for tenant scoping.

Why Getnet next (after dLocal)

  • No blocking product decision (Braspag → Cielo-boundary naming; Chargebee → fork-vs-native; Matera → mTLS sandbox; Adyen → bigger multi-API scope)
  • Concrete quadrant gap — three of four big BR acquirers now in the catalog
  • Marketplace seller onboarding is a first-class API, unusual for acquirers at this tier

Test plan

  • TypeScript compiles (tsc 0 errors)
  • `dist/index.js` + `index.d.ts` emitted
  • Integration test against Getnet homologação with real creds (deferred)
  • Smoke test via `npx` in Claude Desktop (deferred until published)
  • Catalog entry in codespar-web (separate PR, beta status)

Not in this PR

  • npm publish
  • Catalog entry in codespar-web
  • Integration tests against sandbox

🤖 Generated with Claude Code

Second P0-B server from the MCP expansion plan. Getnet is
Santander-owned — #3 BR acquirer and #1 BR ecommerce per Santander
IR. Together with Cielo, Stone, and Efi, this closes three of the
"big four" BR acquirer quadrant.

Distinct from per-PSP servers (Zoop, Pagar.me, Asaas, PagSeguro):
Getnet is an acquirer, so merchants with a Santander commercial
contract integrate directly instead of via a PSP. Different target
customer; different business contract.

Tools (11)
  authorize_credit     authorize card (delayed=true) or auth+capture (false)
  capture_credit       capture a prior authorization
  cancel_credit        cancel authorized-but-uncaptured
  refund_credit        full or partial refund
  create_pix           Pix charge returning QR image + EMV copy-paste
  create_boleto        bank boleto with instruction text + expiration
  get_payment          retrieve any payment by id
  tokenize_card        PCI-safe card tokenization for reuse
  create_seller        onboard marketplace seller (Marketplace Management)
  get_seller           seller by id
  list_sellers         paginated list with filters

Authentication
  OAuth 2.0 Client Credentials. POST /auth/oauth/v2/token returns a
  bearer token. The server caches it in memory until 60s before
  expiry, transparent to callers. Every API call also includes
  seller_id header for tenant scoping.

Why Getnet first (after dLocal)
- No blocking product decision (Braspag waits on Cielo-boundary
  naming; Chargebee has fork-vs-native open; Matera needs mTLS
  sandbox; Adyen is a bigger multi-API scope)
- Closes a concrete quadrant gap: three of four big BR acquirers in
  the catalog
- Marketplace seller onboarding is a first-class API, unusual for
  acquirers at this tier

Build verified (tsc 0 errors, dist/index.js emitted).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@fabianocruz
fabianocruz merged commit 90c886e into main Apr 24, 2026
2 checks passed
@fabianocruz
fabianocruz deleted the feat/getnet branch April 24, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant