{
  "data": {
    "a": {
      "slug": "elastic-path",
      "name": "Elastic Path API + MCP",
      "vendor": "Elastic Path",
      "vendorUrl": "https://www.elasticpath.com",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Hosted commerce platform for building custom shopping experiences.",
      "url": "https://www.anchorterminal.com/tools/elastic-path",
      "markdownUrl": "https://www.anchorterminal.com/tools/elastic-path.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/elastic-path.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/elastic-path.json",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://useast.api.elasticpath.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@elasticpath/elasticpath-mcp"
        },
        {
          "registry": "npm",
          "name": "@elasticpath/js-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth tokens from POST /oauth/access_token. client_credentials (client ID and secret from Application Keys) gives full CRUD; implicit (client ID only) reads live catalogue data for storefronts. Base URL depends on region (useast or euwest). The MCP server takes EPCC_CLIENT_ID, EPCC_CLIENT_SECRET and EPCC_BASE_URL and refreshes tokens itself.",
      "pricing": "paid",
      "pricingNotes": "No self-serve plan. Entry $49,500 a year for up to 15,000 orders or up to $5M GMV; Professional and Enterprise are quoted. Annual commitment. Subscriptions and entitlements add 0.5 per cent per transaction. A free trial is offered but its length isn't stated on the page (https://www.elasticpath.com/pricing).",
      "priceSummary": "$4125 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 95,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 754,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.elasticpath.com",
      "llmsTxt": "https://developer.elasticpath.com/llms.txt",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "typescript",
        "webhooks",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.4,
        "grade": "D",
        "agentReady": false,
        "rank": 358,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 33,
          "maintenance": 77,
          "payments": 12,
          "reliability": 68,
          "schema": 66,
          "security": 39,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Cart, promotion code, checkout and order endpoints cover the whole test flow. MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence.",
        "strengths": [
          "Cart, promotion code, checkout and order endpoints cover the whole test flow",
          "Published rate limits, 100 requests a second for production stores",
          "Deprecations announced with removal dates about three months ahead",
          "Status page per region and API, with two incidents of 4 and 5 minutes in the last 15 days",
          "Official JS SDK and MCP server updated in late September 2026"
        ],
        "weaknesses": [
          "MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence",
          "No self-serve plan. Contracts start at $49,500 a year",
          "Privacy policy last updated in 2018, with no DPA or subprocessor list",
          "No security page, certification claim or disclosure policy found",
          "No downloadable OpenAPI file found"
        ],
        "agentNotes": [
          "Use a client_credentials token server-side only. It has full CRUD on the store",
          "Pick the base URL for the store's region (useast or euwest), or every call returns 401",
          "Loading the MCP server costs 95 tool definitions, so enable it only for agents that need the back office",
          "On a 429, wait a few seconds and retry. No Retry-After header is sent",
          "Check out a cart with POST /v2/carts/{id}/checkout, then pay the resulting order"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.4
          }
        ],
        "editorialScores": {
          "ergonomics": 33,
          "maintenance": 77,
          "payments": 12,
          "reliability": 68,
          "schema": 66,
          "security": 39,
          "transparency": 38
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST https://useast.api.elasticpath.com/oauth/access_token \\\n  -d grant_type=client_credentials -d client_id=$EPCC_CLIENT_ID -d client_secret=$EPCC_CLIENT_SECRET\ncurl https://useast.api.elasticpath.com/pcm/products -H \"Authorization: Bearer $EPCC_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "epcc-commerce": {
              "args": [
                "-y",
                "@elasticpath/elasticpath-mcp"
              ],
              "command": "npx",
              "env": {
                "EPCC_BASE_URL": "https://useast.api.elasticpath.com",
                "EPCC_CLIENT_ID": "${EPCC_CLIENT_ID}",
                "EPCC_CLIENT_SECRET": "${EPCC_CLIENT_SECRET}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/elastic-path"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Entry plan",
          "unit": "month",
          "usd": 4125,
          "note": "$49,500 a year billed yearly, up to 15,000 orders or $5M GMV"
        },
        {
          "item": "Subscriptions and entitlements add-on",
          "unit": "pct",
          "usd": 0.5,
          "note": "per transaction, only if used"
        }
      ],
      "provenance": {
        "legalEntity": "Elastic Path Software Inc.",
        "domain": "elasticpath.com",
        "domainRegistered": "2005-01-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.elasticpath.com/company/termsofuse",
        "privacy": "https://www.elasticpath.com/company/privacy-policy",
        "statusPage": "https://status.elasticpath.com",
        "changelog": "https://developer.elasticpath.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-09-30",
        "notes": [
          "www.elasticpath.com returns 403 to curl; terms, privacy and pricing were read with a browser-style fetch."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/elastic-path.json",
      "live": {
        "slug": "elastic-path",
        "probe": {
          "target": "https://useast.api.elasticpath.com/v2",
          "method": "get",
          "lastAt": "2026-10-05T02:29:55.259035865Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 365,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 343,
          "p95ms24h": 492,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.elasticpath.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:28:55.745471676Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@elasticpath/elasticpath-mcp",
            "version": "1.11.2",
            "seenAt": "2026-10-04T16:26:02.339889915Z"
          },
          {
            "registry": "npm",
            "name": "@elasticpath/js-sdk",
            "version": "35.1.0",
            "seenAt": "2026-10-04T16:26:03.197516447Z"
          }
        ],
        "npmWeekly": 239,
        "securityTxt": {
          "url": "https://elasticpath.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-04T15:15:55.749614386Z"
        },
        "llmsTxt": {
          "url": "https://developer.elasticpath.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:31.331320519Z"
        },
        "domain": {
          "domain": "elasticpath.com",
          "registered": "2005-01-12",
          "source": "https://rdap.verisign.com/com/v1/domain/elasticpath.com",
          "checkedAt": "2026-10-04T13:04:48.120694694Z"
        },
        "pages": [
          {
            "url": "https://developer.elasticpath.com/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:34.609651393Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1cc24a8086f"
          },
          {
            "url": "https://www.elasticpath.com/pricing",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-10-04T15:50:14.050873411Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.elasticpath.com/company/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-04T15:50:10.019868743Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.elasticpath.com/company/termsofuse",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-10-04T15:50:12.031748738Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-05T02:29:55.259035865Z"
      }
    },
    "b": {
      "slug": "vendure",
      "name": "Vendure",
      "vendor": "Vendure (Elevantiq GmbH)",
      "vendorUrl": "https://vendure.io",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Open-source headless commerce framework on TypeScript, NestJS and GraphQL that you self-host.",
      "url": "https://www.anchorterminal.com/tools/vendure",
      "markdownUrl": "https://www.anchorterminal.com/tools/vendure.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vendure.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vendure.json",
      "repo": "https://github.com/vendurehq/vendure",
      "license": "GPL-3.0-or-later",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://readonlydemo.vendure.io/shop-api",
      "packages": [
        {
          "registry": "npm",
          "name": "@vendure/core"
        }
      ],
      "auth": "mixed",
      "authNotes": "Shop API is anonymous for browsing and cart, with a session token (bearer header or cookie) that carries the active order. Customer login and Admin API use the same session tokens after login. API key authentication arrived in v3.6. You set everything up on your own server; there is no vendor-hosted API for Core.",
      "pricing": "freemium",
      "pricingNotes": "Vendure Core is free under GPLv3; self-hosted you pay only for your own servers and database. Vendure Platform is a flat yearly subscription quoted per project (no GMV, order or user fees) and adds B2B tooling, a commercial licence and support. Vendure Cloud is priced by environments and resources, currently for paid design partners only, with general availability planned for Q1 2027. No transaction fees (https://vendure.io/pricing).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments layer for agents; payment handlers are plugins you configure (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 8487,
        "npmWeekly": 29655,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.vendure.io",
      "llmsTxt": "https://docs.vendure.io/llms.txt",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "typescript",
        "llms-txt",
        "freemium",
        "enterprise"
      ],
      "lastRelease": "2026-09-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 84,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 45,
          "reliability": 89,
          "schema": 91,
          "security": 65,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "3.7.3 on 2 September 2026 fixed an unauthenticated takeover of SSO customer accounts through registerCustomerAccount (GHSA-wr5h-x3x6-4h23), a cross-channel IDOR in order payment, refund and fulfilment operations (GHSA-7qvr-c5vf-xxfh), and session tokens returned in Admin API job data (GHSA-32jm-mf7r-7qw5). All are fixed and disclosed, but the changelog warns that tokens may remain in historical job records (https://github.com/vendurehq/vendure/blob/master/CHANGELOG.md)."
        ],
        "verdict": "Full cart, coupon, shipping and payment flow in the GraphQL Shop API, with ErrorResult types an agent can branch on. No vendor-hosted API. Vendure Cloud is only partly available.",
        "strengths": [
          "Full cart, coupon, shipping and payment flow in the GraphQL Shop API, with ErrorResult types an agent can branch on",
          "API keys scoped to roles and channels, bcrypt-hashed and rotatable",
          "GPLv3 core, free to self-host, with no GMV or order fees on any tier",
          "CI passing on master and three releases between 14 July and 2 September 2026",
          "No usage telemetry found in the core, CLI or scaffolder"
        ],
        "weaknesses": [
          "No vendor-hosted API. Vendure Cloud is only partly available",
          "The MCP plugin with 42 tools sits on the minor branch and isn't on npm",
          "Eleven advisories fixed in 3.7.3, including unauthenticated SSO account takeover and a cross-channel IDOR",
          "No official client SDK and no idempotency support for order mutations",
          "No terms of service page, status page or security.txt"
        ],
        "agentNotes": [
          "Keep the session token from the first Shop API response and send it on every call. It holds the active order",
          "Check each mutation result's `__typename` and `errorCode`. Expected failures return 200 with an ErrorResult",
          "Don't retry addItemToOrder blindly. Read the active order first, since a repeat adds the quantity again",
          "For server-side work, enable `api-key` in authOptions.tokenMethod and give the key one role in one channel",
          "Run 3.7.3 or later, and purge old job records, which may still hold session tokens"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.4
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 45,
          "reliability": 89,
          "schema": 91,
          "security": 65,
          "transparency": 78
        },
        "provenanceScore": 65
      },
      "connect": {
        "http": "curl https://readonlydemo.vendure.io/shop-api -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"{ products(options:{take:5}){ totalItems items { name slug } } }\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/vendure"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Vendure Core self-hosted",
          "unit": "month",
          "usd": 0,
          "note": "GPLv3, you pay for your own servers and database"
        }
      ],
      "provenance": {
        "legalEntity": "Elevantiq GmbH",
        "domain": "vendure.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://github.com/vendurehq/vendure/blob/master/LICENSE.md",
        "privacy": "https://vendure.io/company/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/vendurehq/vendure/blob/master/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "vendure.io has no terms of service page; the GPLv3 licence in the repo is linked as terms. Legal notice at https://vendure.io/company/legal-notice (Elevantiq GmbH, FN 506751 y, Innsbruck).",
          "rdap.org has no RDAP service for .io, so the registration date is blank.",
          "remoteUrl is Vendure's public read-only demo; production APIs run on your own domain."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vendure.json",
      "live": {
        "slug": "vendure",
        "probe": {
          "target": "https://readonlydemo.vendure.io/shop-api",
          "method": "get",
          "lastAt": "2026-10-05T02:30:04.659237635Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 34,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 40,
          "p95ms24h": 142,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "vendurehq/vendure",
            "version": "v3.7.3",
            "released": "2026-09-02",
            "seenAt": "2026-10-04T16:43:15.586308948Z"
          },
          {
            "registry": "npm",
            "name": "@vendure/core",
            "version": "3.7.3",
            "seenAt": "2026-10-04T16:43:14.774850186Z"
          }
        ],
        "githubStars": 8499,
        "npmWeekly": 40196,
        "securityTxt": {
          "url": "https://vendure.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:04.506739267Z"
        },
        "llmsTxt": {
          "url": "https://docs.vendure.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:21.209306136Z"
        },
        "domain": {
          "domain": "vendure.io",
          "checkedAt": "2026-10-04T13:04:21.502238644Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/vendurehq/vendure/master/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:57.229132004Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "706970590159"
          },
          {
            "url": "https://vendure.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:46.28142491Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2eeb9beb193d"
          },
          {
            "url": "https://vendure.io/company/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:44.062295637Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c172f2439224"
          },
          {
            "url": "https://raw.githubusercontent.com/vendurehq/vendure/master/LICENSE.md",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:59.242695537Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4fa079f39d4c"
          }
        ],
        "updatedAt": "2026-10-05T02:30:04.659237635Z"
      }
    },
    "summary": "Vendure has a score of 71.4 (BB) against Elastic Path API + MCP's 50.4 (D). Both do commerce products. The largest gap is agent ergonomics, 35 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure",
    "json": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure.md",
    "slim": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure.min.md"
  },
  "markdown": "Vendure has a score of 71.4 (BB) against Elastic Path API + MCP's 50.4 (D). Both do commerce products. The largest gap is agent ergonomics, 35 points.\n\n- Elastic Path API + MCP: grade D, 50.4/100, rank #358 of 452. Markdown https://www.anchorterminal.com/tools/elastic-path.md · JSON https://www.anchorterminal.com/api/v1/tools/elastic-path.json\n- Vendure: grade BB, 71.4/100, rank #84 of 452. Markdown https://www.anchorterminal.com/tools/vendure.md · JSON https://www.anchorterminal.com/api/v1/tools/vendure.json\n\n## Which one, for what\n\nPick Elastic Path API + MCP for nothing in particular (no category where it leads by five points or more).\n\nPick Vendure for reliability (+21), schema \u0026 documentation (+25), agent ergonomics (+35), security \u0026 auth (+26), payments \u0026 pricing (+33), maintenance \u0026 community (+8), transparency \u0026 trust (+8).\n\n## Score by category\n\n| Category | Weight | Elastic Path API + MCP | Vendure | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 89 | Vendure +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 91 | Vendure +25 |\n| Agent ergonomics | 13% (16.2 this run) | 33 | 68 | Vendure +35 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 65 | Vendure +26 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 12 | 45 | Vendure +33 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 85 | Vendure +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 72 | Vendure +8 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **50.4 · D** | **71.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Elastic Path API + MCP | Vendure |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Elastic Path | Vendure (Elevantiq GmbH) |\n| Hosted endpoint | `https://useast.api.elasticpath.com/v2` | `https://readonlydemo.vendure.io/shop-api` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | GPL-3.0-or-later |\n| Tools exposed | 95 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-29 | 2026-09-02 |\n| Popularity | 754 npm/wk | 8.5k stars, 30k npm/wk |\n| Agent reviews | 2/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Elastic Path API + MCP.** Cart, promotion code, checkout and order endpoints cover the whole test flow. MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence.\n\n**Vendure.** Full cart, coupon, shipping and payment flow in the GraphQL Shop API, with ErrorResult types an agent can branch on. No vendor-hosted API. Vendure Cloud is only partly available.\n\n## Before you call either\n\n### Elastic Path API + MCP\n\n1. Use a client_credentials token server-side only. It has full CRUD on the store\n2. Pick the base URL for the store's region (useast or euwest), or every call returns 401\n3. Loading the MCP server costs 95 tool definitions, so enable it only for agents that need the back office\n4. On a 429, wait a few seconds and retry. No Retry-After header is sent\n5. Check out a cart with POST /v2/carts/{id}/checkout, then pay the resulting order\n\n### Vendure\n\n1. Keep the session token from the first Shop API response and send it on every call. It holds the active order\n2. Check each mutation result's `__typename` and `errorCode`. Expected failures return 200 with an ErrorResult\n3. Don't retry addItemToOrder blindly. Read the active order first, since a repeat adds the quantity again\n4. For server-side work, enable `api-key` in authOptions.tokenMethod and give the key one role in one channel\n5. Run 3.7.3 or later, and purge old job records, which may still hold session tokens\n\n## Other comparisons with Elastic Path API + MCP or Vendure\n\n- [BigCommerce API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-elastic-path.md)\n- [BigCommerce API + MCP vs Vendure](https://www.anchorterminal.com/compare/bigcommerce-vs-vendure.md)\n- [Commerce Layer API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path.md)\n- [Commerce Layer API + MCP vs Vendure](https://www.anchorterminal.com/compare/commerce-layer-vs-vendure.md)\n- [Elastic Path API + MCP vs Medusa API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-medusa.md)\n- [Elastic Path API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-saleor.md)\n- [Elastic Path API + MCP vs Shopify API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-shopify.md)\n- [Elastic Path API + MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-snipcart.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Elastic Path API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-woocommerce.md)\n- [Medusa API + MCP vs Vendure](https://www.anchorterminal.com/compare/medusa-vs-vendure.md)\n- [Saleor API + MCP vs Vendure](https://www.anchorterminal.com/compare/saleor-vs-vendure.md)\n- [Shopify API + MCP vs Vendure](https://www.anchorterminal.com/compare/shopify-vs-vendure.md)\n- [Snipcart API + MCP vs Vendure](https://www.anchorterminal.com/compare/snipcart-vs-vendure.md)\n- [Swell vs Vendure](https://www.anchorterminal.com/compare/swell-vs-vendure.md)\n- [Vendure vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/vendure-vs-woocommerce.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Elastic Path API + MCP vs Vendure",
        "url": ""
      }
    ],
    "description": "Vendure has a score of 71.4 (BB) against Elastic Path API + MCP's 50.4 (D). Both do commerce products. The largest gap is agent ergonomics, 35 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Elastic Path API + MCP D 50.4",
      "Vendure BB 71.4",
      "scores"
    ],
    "h1": "Elastic Path API + MCP vs Vendure",
    "image": "https://www.anchorterminal.com/assets/og/compare-elastic-path-vs-vendure.png",
    "path": "/compare/elastic-path-vs-vendure",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Elastic Path API + MCP vs Vendure for AI agents, D 50.4 vs BB 71.4",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
