Skip to content

feat: add SuperFrete MCP server - #3

Closed
andreabadesso wants to merge 2 commits into
codespar:mainfrom
andreabadesso:feat/superfrete-mcp
Closed

feat: add SuperFrete MCP server#3
andreabadesso wants to merge 2 commits into
codespar:mainfrom
andreabadesso:feat/superfrete-mcp

Conversation

@andreabadesso

Copy link
Copy Markdown
Contributor

Summary

  • Add MCP server for SuperFrete — Brazilian shipping platform with discounted rates across PAC, SEDEX, JadLog, Loggi, and Mini Envios
  • 11 tools: calculate_freight, create_freight, get_freight, checkout_freight, cancel_freight, get_user_info, get_user_addresses, get_services, list_webhooks, create_webhook, delete_webhook
  • Includes server-level instructions that guide AI agents through the typical freight workflow (calculate → create → checkout) and enforce input requirements (always ask for dimensions, weight, product value)
  • Updated root README.md ecommerce table

Test plan

  • Built with tsc — zero errors
  • Tested all 11 tools against SuperFrete sandbox API
  • Verified full workflow: calculate → create → checkout → get → cancel
  • Verified webhook CRUD: list → create → delete
  • Confirmed server instructions make agents ask for required fields instead of guessing

🤖 Generated with Claude Code

andreabadesso and others added 2 commits April 3, 2026 10:12
Add MCP server for SuperFrete — Brazilian shipping platform with discounted
rates across multiple carriers (PAC, SEDEX, JadLog, Loggi, Mini Envios).

Tools: calculate_freight, create_freight, get_freight, checkout_freight,
cancel_freight, get_user_info, get_user_addresses, get_services,
list_webhooks, create_webhook, delete_webhook.

Includes server-level instructions to guide AI agents through the
typical freight workflow and input requirements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@andreabadesso

Copy link
Copy Markdown
Contributor Author

@fabianocruz

fabianocruz added a commit that referenced this pull request Apr 24, 2026
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>
@rapguit

rapguit commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Hi @andreabadesso — sorry for the very long silence on this, and thanks for the patience. The SuperFrete server itself looks clean: 11 well-shaped tools, sandbox/prod env switch, proper bearer auth, and the inline workflow guidance you put in instructions (calculate → create → checkout, ask for dimensions/weight/value) is genuinely useful for agents.

The PR can't merge as-is only because the base branch is from a moment when the repo was still scoped to Brazil — since then the catalog has been renamed/expanded (LATAM) and ~80 new servers have landed, so the diff vs current main looks like a 91k-line revert even though your intent is purely additive.

To unblock this without asking you to redo work, I'm going to:

  1. Rebase your branch on top of current main (the SuperFrete package is fully self-contained in packages/ecommerce/superfrete/, so the only real conflict is the root README.md ecommerce table, which I'll port into the current table layout).
  2. Keep your workflow guidance in instructions, prefixed with the standard MANAGED_TIER_HINT constant the other 115 servers ship — so agents get both the project-wide pointer + your SuperFrete-specific flow guidance.
  3. Force-push to your branch (your commits, your authorship), then approve and squash-merge.

Will follow up here once the rebase is up. Thanks again for contributing.

rapguit added a commit that referenced this pull request Jun 26, 2026
* feat: add SuperFrete MCP server with 11 tools

Add MCP server for SuperFrete — Brazilian shipping platform with discounted
rates across multiple carriers (PAC, SEDEX, JadLog, Loggi, Mini Envios).

Tools: calculate_freight, create_freight, get_freight, checkout_freight,
cancel_freight, get_user_info, get_user_addresses, get_services,
list_webhooks, create_webhook, delete_webhook.

Includes server-level instructions to guide AI agents through the
typical freight workflow and input requirements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(superfrete): align with project conventions

Adjustments on top of the SuperFrete contribution to satisfy
audit-catalog and the catalog's standard server shape:

- src/index.ts: prepend MANAGED_TIER_HINT to the instructions block
  (kept the contributor's SuperFrete workflow guidance afterward —
  agents get both the project-wide managed-tier pointer + the API
  flow hints in one place).
- server.json: add the MCP registry entry (schema + provider +
  environmentVariables) so the server is listable.
- package.json: add mcpName for registry ownership verification.
- README.md (server): convert "## Tools" → "## Tools (11)" for the
  audit's tool-count consistency check, add the Enterprise CTA
  section before License, and refresh the dangling MCP Dev Brasil /
  /mcp landing links to the current LATAM / /servers URLs.
- README.md (root): bump the e-commerce table from 6 → 7 servers
  (SuperFrete row) and the top counters from 109/2,289 → 110/2,300.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(mercado-pago): exclude src/__tests__ from tsc build

Follow-up to #173. The contract test imports from `test-utils/contract.js`
at the repo root, which is outside mercado-pago's `rootDir: "./src"` and
triggers TS6059 / TS1470 during `npm run build --workspaces --if-present`
(the workspace build that gates CI). Vitest transpiles in-memory so the
local `vitest run` we relied on for #173 didn't surface this.

Excluding `src/__tests__` from the tsc include set keeps the build clean
without changing how vitest resolves tests at the repo root.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: André Abadesso <andre.abadesso@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@rapguit rapguit closed this in #211 Jun 26, 2026
@rapguit

rapguit commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Hi @andreabadesso — your SuperFrete contribution has shipped via #211 (merged at commit 136dcf5e). Your original commit is preserved in the history with your authorship.

Since your fork was deleted at some point in the 3 months between this PR and today, I couldn't force-push the rebase back to your branch the usual way — so I opened #211 from a maintainer branch carrying your commit + a small follow-up that aligns the server with the catalog conventions that landed after April (managed-tier hint prefix, server.json registry entry, mcpName, ## Tools (N) header, Enterprise CTA, root README counters). The diff vs your original is purely additive on top of your code.

Closing this PR as superseded by #211. Thanks again for the contribution — sorry the silence was so long.

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.

2 participants