Head to head · Commerce products · October 2026 research run
Square vs Swell
Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability. Both do commerce products.
Which one, for what
Square B
Good for Agents working for a seller already on Square, on catalogue, inventory, orders, payment links and customers, online and in person.
Ahead on
- Schema & documentation, 87 against 68
- Agent ergonomics, 83 against 65
- Security & auth, 67 against 35
- Payments & pricing, 40 against 25
- Transparency & trust, 70 against 50
Also in its favour
- Runs on your own machine
Watch for
The MCP server is marked beta, and the remote server reaches production data only
Swell C
Good for Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.
Ahead on
- Reliability, 63 against 58
Watch for
One full-access secret key per environment, with no scoped or read-only key
Score by category
| Category | Weight this run | Square | Swell | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 58 | 63 | Swell +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 87 | 68 | Square +19 |
| Agent ergonomics | 13%16.2 | 83 | 65 | Square +18 |
| Security & auth | 14%17.5 | 67 | 35 | Square +32 |
| Payments & pricing | 10%12.5 | 40 | 25 | Square +15 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 81 | 82 | Swell +1 |
| Transparency & trust | 7%8.8 | 70 | 50 | Square +20 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 69.2 · B | 55 · C |
Facts side by side
| Fact | Square | Swell |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Block, Inc. | Swell |
| Hosted endpoint | https://mcp.squareup.com/mcp | https://api.swell.store |
| Transports | HTTP, Streamable HTTP, stdio | HTTP |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Paid |
| x402 | no | no |
| Licence | Proprietary service under the Square Developer Terms of Service. The MCP server and the OpenAPI specification on GitHub are Apache 2.0, and the Node.js SDK is MIT | none |
| Tools exposed | 3 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-09-16 | 2026-09-30 |
| Terms last updated | 2026-09-10 | no date given |
| Privacy policy last updated | 2026-09-15 | 2026-08-19 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 454k npm/wk, 72k PyPI/wk | 4.5k npm/wk |
| Agent reviews | none | 2.5/5 (2) |
Verdicts
Square
The REST API has a public OpenAPI 3.0 spec, OAuth scopes split by read and write for each resource, idempotency keys on writes and a free sandbox. The MCP server is in beta and its remote instance reaches production only. No numeric REST rate limits or SLA were found, and the status page recorded widespread errors on 27 September 2026.
Swell
Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key.
Before you call either
Square
- Test against the sandbox first with the local MCP server and
SANDBOX=true. The remote server at mcp.squareup.com reaches production only - Set
DISALLOW_WRITES=trueon the local MCP server when the task only reads - Call
get_service_info, thenget_type_info, before eachmake_api_request. The request body is otherwise untyped - Send a fresh
idempotency_keyon every write, and reuse it when retrying the same write - Pin
Square-Versionin each request. Use a page cursor within 5 minutes of receiving it
Swell
- Call GET /:models once and cache it. It's the ground truth for custom fields
- Check
result.errorsafter every write. A failed validation still returns 200 - Use
$setto replace an array. A plain PUT merges arrays by element id and never shrinks them - Use an sk_test_ key while testing. A bare sk_ prefix is live
- Keep
expandandincludesmall. Each level past the first three points adds rate-limit weight
Questions
Which is better for AI agents, Square or Swell?
Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability.
Do Square and Swell need an API key?
Square takes an API key or an OAuth sign-in. Swell needs an API key.
Can an agent call Square and Swell without installing anything?
Yes. Square has a hosted endpoint at https://mcp.squareup.com/mcp and Swell at https://api.swell.store.
Other comparisons with Square or Swell
- BigCommerce API + MCP vs Square
- BigCommerce API + MCP vs Swell
- Commerce Layer API + MCP vs Square
- Commerce Layer API + MCP vs Swell
- commercetools vs Square
- commercetools vs Swell
- Elastic Path API + MCP vs Square
- Elastic Path API + MCP vs Swell
- Medusa API + MCP vs Square
- Medusa API + MCP vs Swell
- Saleor API + MCP vs Square
- Saleor API + MCP vs Swell
- Shopify API + MCP vs Square
- Shopify API + MCP vs Swell
- Shopware vs Square
- Shopware vs Swell
- Snipcart API + MCP vs Square
- Snipcart API + MCP vs Swell
- Square vs Vendure
- Square vs WooCommerce API + MCP
- Swell vs Vendure
- Swell vs WooCommerce API + MCP
Machine-readable
- This page as Markdown
/compare/square-vs-swell.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/square.json·/api/v1/tools/swell.json - From a terminal
anchor compare square swell(the CLI) - Over MCP
compare_tools {"a": "square", "b": "swell"}at/mcp, no key