{
  "data": {
    "a": {
      "slug": "doola-mcp",
      "name": "doola MCP",
      "vendor": "doola",
      "vendorUrl": "https://doola.com",
      "kind": "mcp",
      "category": "commerce",
      "summary": "doola's hosted MCP server lets an agent form a US LLC or C-Corp in any state or DC from a conversation, covering entity type, name, members, ownership and the state filing, and check on existing doola companies.",
      "url": "https://www.anchorterminal.com/tools/doola-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/doola-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/doola-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/doola-mcp.json",
      "dns": "doola-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/doolahq/plugins",
      "license": "Proprietary service. The plugin repository's MIT licence covers the manifests",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.doola.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth with a doola account on the first tool call; tokens are held by the client and can be revoked in doola's account settings.",
      "pricing": "paid",
      "pricingNotes": "Formation plans from $297 a year plus state fees (renewing at $300), up to $1,999 a year plus state fees. The MCP server itself is free to connect (checked 2026-11-07).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://doola.com",
      "registryName": "io.github.doolahq/doola",
      "capabilities": [
        "legal.company-formation",
        "commerce.checkout"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "paid",
        "mcp-registry"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 28,
        "grade": "F",
        "agentReady": false,
        "rank": 1430,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 20,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 23,
          "maintenance": 70,
          "payments": 10,
          "reliability": 15,
          "schema": 26,
          "security": 36,
          "transparency": 38
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "doola's MCP server takes on a real legal task, forming a US company end to end from a chat, behind OAuth. Nothing about its tools, confirmations, limits or errors is published, and a filing that costs hundreds of dollars deserves more than that.",
        "bestFor": "Founders, including non-US founders, who want an agent to form a US company for them.",
        "strengths": [
          "Forms a US LLC or C-Corp in any state from a conversation",
          "OAuth with revocation in account settings",
          "Plugins for Claude Code, Grok Build and Cursor",
          "Official registry entry and a public plugin repository"
        ],
        "weaknesses": [
          "No published tool list, schemas or errors",
          "No documented confirmation before a paid filing",
          "No free tier; formation from $297 a year plus state fees",
          "Status page unreachable and no llms.txt"
        ],
        "agentNotes": [
          "Confirm the entity type, state, name, members and price with the user before filing",
          "A filing is a paid legal act; never retry one without checking its status first",
          "Use the status tools on existing companies before starting a new formation"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 28
          }
        ],
        "editorialScores": {
          "ergonomics": 23,
          "maintenance": 70,
          "payments": 10,
          "reliability": 15,
          "schema": 26,
          "security": 36,
          "transparency": 30
        },
        "provenanceScore": 46,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude plugin marketplace add doolahq/plugins \u0026\u0026 claude plugin install doola@doola",
        "config": {
          "mcpServers": {
            "doola": {
              "url": "https://mcp.doola.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/legal.company-formation",
        "tool": "https://letme.dev/doola-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "doola",
        "domain": "doola.com",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "https://doola.com/terms-of-service",
        "privacy": "https://doola.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "Terms last updated July 2026. The plugin repository's licence names doola."
        ],
        "score": 46
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/doola-mcp.json",
      "live": {
        "slug": "doola-mcp",
        "probe": {
          "target": "https://mcp.doola.com",
          "method": "mcp-initialize",
          "lastAt": "2026-11-08T00:55:37.012153631Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 176,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 113,
          "p95ms24h": 201,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 53,
              "ok": 53
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "githubStars": 0,
        "updatedAt": "2026-11-08T00:55:37.012153631Z"
      }
    },
    "answer": "Elastic Path API + MCP scores 55.6 (C) on agent readiness against doola MCP's 28 (F), and leads in 6 of 7 scored categories. doola MCP leads on payments \u0026 pricing.",
    "b": {
      "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",
      "dns": "elastic-path.grade.anchorterminal.com",
      "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": "Sold on annual contracts through sales, with a free trial linked from the developer docs. The plan prices read on 30 September came from www.elasticpath.com, which now refuses our crawler at robots.txt, so they aren't shown. APIs aren't metered per call.",
      "priceSummary": "Paid",
      "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",
      "openapi": "https://developer.elasticpath.com/assets/openapispecs/carts/OpenAPISpec.yaml",
      "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": 55.6,
        "grade": "C",
        "agentReady": false,
        "rank": 863,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 41,
          "maintenance": 77,
          "payments": 5,
          "reliability": 75,
          "schema": 83,
          "security": 44,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Cart, promotion code, checkout and order endpoints cover the whole test flow, with downloadable OpenAPI files and a written 90-day deprecation notice. The MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence, and no security programme was found.",
        "bestFor": "Enterprises already buying composable commerce who want an agent with broad back-office reach.",
        "strengths": [
          "Cart, promotion code, checkout and order endpoints cover the whole test flow",
          "Downloadable OpenAPI 3.1 file for each API section, and an errors guide with example bodies",
          "Published rate limits, 100 requests a second for production stores",
          "Written API contract promising 90 days' notice before removals, kept in the 2026 changelog",
          "Status history shows two incidents of 4 and 5 minutes between 6 August and 4 November 2026"
        ],
        "weaknesses": [
          "MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence",
          "Error bodies carry HTTP status, title and detail, with no error codes of their own",
          "No general audit log of API calls, only change logs for personal data",
          "No disclosure policy or security.txt found",
          "No Retry-After header or idempotency keys on writes"
        ],
        "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",
          "Page list calls with `page[limit]` and `page[offset]`, and read `errors[].title` and `detail` on failures"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.6
          }
        ],
        "editorialScores": {
          "ergonomics": 41,
          "maintenance": 77,
          "payments": 5,
          "reliability": 75,
          "schema": 83,
          "security": 44,
          "transparency": 37
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 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",
      "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": 86
      },
      "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-11-08T00:55:37.870774436Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 408,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 370,
          "p95ms24h": 624,
          "samples24h": 244,
          "samples30d": 7704,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.elasticpath.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-08T00:54:39.592890979Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@elasticpath/elasticpath-mcp",
            "version": "2.1.1",
            "seenAt": "2026-11-08T00:53:01.225806603Z"
          },
          {
            "registry": "npm",
            "name": "@elasticpath/js-sdk",
            "version": "36.1.0",
            "seenAt": "2026-11-08T00:53:02.027255353Z"
          }
        ],
        "npmWeekly": 119,
        "securityTxt": {
          "url": "https://elasticpath.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:19.166159407Z"
        },
        "llmsTxt": {
          "url": "https://developer.elasticpath.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:20.36802931Z"
        },
        "domain": {
          "domain": "elasticpath.com",
          "registered": "2005-01-12",
          "source": "https://rdap.verisign.com/com/v1/domain/elasticpath.com",
          "checkedAt": "2026-11-01T14:27:28.934127068Z"
        },
        "pages": [
          {
            "url": "https://developer.elasticpath.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:03:04.698041187Z",
            "changedAt": "2026-11-05T12:27:22.331228713Z",
            "fingerprint": "5dea31036b52"
          },
          {
            "url": "https://www.elasticpath.com/pricing",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-11-04T08:39:44.781127077Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "86697de35f28"
          },
          {
            "url": "https://www.elasticpath.com/company/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-11-07T14:28:14.453936304Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.elasticpath.com/company/termsofuse",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-11-07T14:28:16.507555291Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "35c8111c6a8e"
          }
        ],
        "updatedAt": "2026-11-08T00:55:37.870774436Z"
      }
    },
    "edges": [
      {
        "by": 60,
        "category": "reliability",
        "leads": "elastic-path",
        "name": "Reliability",
        "reasons": {
          "a": "status.doola.com wasn't reachable (0). No history (5). No rate limits found (0). No retry or idempotency guidance for filings (0). No SLA found (0). Not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.",
          "b": "Atlassian Statuspage at status.elasticpath.com with Admin API, Shopper API, Commerce Manager and Webhooks components for the EU and US regions per the 1 October check, and a history feed (20). The feed read on 4 November covers the whole window from 6 August. A proportion of US API requests saw elevated errors for 4 minutes on 21 September (EU unaffected), and Commerce Manager was degraded for 5 minutes on 1 October. Both are partial, so minor. Database maintenance on 13 October was scheduled maintenance, not an incident (20). Published limits of 100 requests a second for production stores and organisations and 50 for development stores (15). The rate-limits page documents 429 and says to wait a few seconds and retry, and the JS SDK retries in the browser. No Retry-After header or idempotency keys, so backoff guidance alone (10). No SLA found (0). The API and the Composable Commerce MCP server are generally available (10)."
        },
        "scores": {
          "a": 15,
          "b": 75
        }
      },
      {
        "by": 57,
        "category": "schema",
        "leads": "elastic-path",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No tool list or schemas published; tools not read without sign-in (10 of 25). No llms.txt found (0). The README describes the flow, not the tools (5 of 20). Inputs not verifiable (3 of 15). Install examples only (3 of 15). Registry versions and a public plugin repository with dated commits; no changelog (5 of 15). 10 + 0 + 5 + 3 + 3 + 5 = 26.",
          "b": "Each API reference section has an Export OpenAPI Spec link to a downloadable OpenAPI 3.1 file, for example the Carts, Checkout, Orders file with 65 operations (25). llms.txt with about 1,050 lines, linking HTML pages rather than Markdown (10). Reference pages say what each endpoint does. We didn't read the 95 MCP tool descriptions, since the source isn't public (10). Typed REST parameters in the reference (11). Examples in the reference, and an errors guide with the JSON:API error shape and example bodies for 400, 401, 403, 404, 409, 429 and 500 (12 of 15). Dated changelog tagged MAJOR and MINOR, with deprecations carrying removal dates (15)."
        },
        "scores": {
          "a": 26,
          "b": 83
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "elastic-path",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Plugin repository MIT (copyright 2026 doola); service closed under terms updated July 2026 (15). Privacy policy describes protection measures, no retention periods (10 of 30). No deprecation policy (0). Subprocessors not found (5 of 20). 15 + 10 + 0 + 5 = 30.",
          "b": "Closed platform. The terms of use were read on 30 September from www.elasticpath.com, whose robots.txt now answers a Cloudflare bot check, so that reading is struck. The JS SDK is MIT (LICENSE in the repository, 4 November), and the npm package for the MCP server states no licence per the 30 September check. Partly met, so the earlier 10 is kept (10 of 30). The privacy policy was read only on the same host, so that reading is struck and nothing else on the line stands (0). The API Contract guide says Elastic Path gives 90 days' notice before discontinuing or removing API functions, with less only for security risk or legal compliance, and names the deprecating API and its replacement. The changelog keeps to it, with per_application promotion codes announced 16 June for 14 September and removed 6 October, and cm_search announced 8 July for 6 October and removed 21 October. A written policy with a stated notice period (20). Regions are named in the base URLs (useast, euwest), and no subprocessor list was found (7). 10 + 0 + 20 + 7 = 37."
        },
        "scores": {
          "a": 38,
          "b": 62
        }
      },
      {
        "by": 18,
        "category": "ergonomics",
        "leads": "elastic-path",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Tool count not published (5). Nothing on paging or output size (5 of 20). No documented errors (0). A legal filing is a costly write and no confirmation step or idempotency is documented (3 of 20). Plugins for Claude Code, Grok Build and Cursor and one URL (10 of 15). 5 + 5 + 0 + 3 + 10 = 23.",
          "b": "The MCP server has 95 tools by its own npm description per the 30 September check, with no toolsets or filtering documented (5), and JSON:API includes let REST calls size responses a little (3). List operations take `page[limit]`, `page[offset]` and `filter` in the OpenAPI files (20). The errors guide documents the JSON:API error array (status, title, detail) with example bodies for 400, 401, 403, 404, 409, 429 and 500, and a request ID on 500s. It is a generic guide that points to each call's page, and the bodies carry no error codes of their own, so the line is partly met and keeps its earlier 5 (5 of 20). No idempotency keys and no MCP annotations found (0). Official JavaScript SDK (36.1.0 on 26 October 2026) and generated @epcc-sdk packages, one language (8). 5 + 3 + 20 + 5 + 0 + 8 = 41."
        },
        "scores": {
          "a": 23,
          "b": 41
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "elastic-path",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth with revocation; scopes not published (20 of 30). No read-only mode; no documented confirmation before a filing (3 of 20). Inputs are the user's own details (10). No audit log found (0). No security.txt or programme found (3 of 20). 20 + 3 + 10 + 0 + 3 = 36.",
          "b": "OAuth tokens from Application Keys. client_credentials gives full CRUD, the implicit grant reads the live catalogue only, and custom API role policies can narrow what a key does (24). The implicit token is a read-only path for shopping, but the MCP server runs on client_credentials with full CRUD and documents no read-only mode or confirmation (10). Returns merchant and shopper content with no prompt-injection guidance found (5). The Personal Data API logs every change to a user's personal data and returns the logs per resource. No general audit log of API calls found (5 of 15). No disclosure policy or security.txt found. developer.elasticpath.com serves its app page at /.well-known/security.txt, and earlier readings from www.elasticpath.com are struck, since its robots.txt answers a Cloudflare bot check (0)."
        },
        "scores": {
          "a": 36,
          "b": 44
        }
      },
      {
        "by": 7,
        "category": "maintenance",
        "leads": "elastic-path",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Plugin repository commit and registry update on 3 November and 28 October 2026 (30). Several dated merges in 90 days (20 of 20). Repository issues not read (0). Official registry entry io.github.doolahq/doola (15). Plugin manifests published by a registry workflow (5 of 10). 30 + 20 + 0 + 15 + 5 = 70. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.",
          "b": "Changelog entry on 2 November 2026 for Catalog Search API changes, 2 days before the check (30). Eleven dated API entries since 6 August, on 10 August (two), 27 August, 25 and 29 September, 6, 7, 21, 22 and 28 October and 2 November, with entries only about Commerce Manager screens left out (20). Public changelog with RSS, Atom and JSON feeds; support channel not checked (10). @elasticpath/js-sdk tagged 35.2.0 to 36.1.0 between 5 and 26 October 2026 (clone). The MCP on npm couldn't be re-read, and it isn't in the official registry (12). The MCP source isn't public, so its tests and CI can't be seen. The JS SDK's CI runs lint and build (5)."
        },
        "scores": {
          "a": 70,
          "b": 77
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "doola",
        "b": "Elastic Path",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.doola.com",
        "b": "https://useast.api.elasticpath.com/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. The plugin repository's MIT licence covers the manifests",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "95",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.doolahq/doola",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "754 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Elastic Path API + MCP scores 55.6 (C) on agent readiness against doola MCP's 28 (F), and leads in 6 of 7 scored categories. doola MCP leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, doola MCP or Elastic Path API + MCP?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do doola MCP and Elastic Path API + MCP need an API key?"
      },
      {
        "answer": "Yes. doola MCP has a hosted endpoint at https://mcp.doola.com and Elastic Path API + MCP at https://useast.api.elasticpath.com/v2.",
        "question": "Can an agent call doola MCP and Elastic Path API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 10 against 5"
        ],
        "also": null,
        "goodFor": "Founders, including non-US founders, who want an agent to form a US company for them.",
        "slug": "doola-mcp",
        "watchFor": "No published tool list, schemas or errors"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 15",
          "Schema \u0026 documentation, 83 against 26",
          "Agent ergonomics, 41 against 23",
          "Security \u0026 auth, 44 against 36",
          "Maintenance \u0026 community, 77 against 70",
          "Transparency \u0026 trust, 62 against 38"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Enterprises already buying composable commerce who want an agent with broad back-office reach.",
        "slug": "elastic-path",
        "watchFor": "MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence"
      }
    ],
    "history": {
      "doola-mcp": null,
      "elastic-path": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 5.4,
          "from": 50.2,
          "fromGrade": "D",
          "to": 55.6,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 50.1,
          "fromGrade": "D",
          "to": 50.2,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 50.4,
          "fromGrade": "D",
          "to": 50.1,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "commerce.checkout",
      "name": "Commerce checkout"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-elastic-path.json",
        "title": "Adobe Commerce (Magento) vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentzon-vs-elastic-path.json",
        "title": "Agentzon vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/agentzon-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-elastic-path.json",
        "title": "BigCommerce API + MCP vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path.json",
        "title": "Commerce Layer API + MCP vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-elastic-path.json",
        "title": "commercetools vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-elastic-path.json",
        "title": "Ecwid by Lightspeed vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-fabric.json",
        "title": "Elastic Path API + MCP vs Fabric",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-medusa.json",
        "title": "Elastic Path API + MCP vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-medusa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-saleor.json",
        "title": "Elastic Path API + MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-shopify.json",
        "title": "Elastic Path API + MCP vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-shopware.json",
        "title": "Elastic Path API + MCP vs Shopware",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-snipcart.json",
        "title": "Elastic Path API + MCP vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-spree-commerce.json",
        "title": "Elastic Path API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-square.json",
        "title": "Elastic Path API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-swell.json",
        "title": "Elastic Path API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure.json",
        "title": "Elastic Path API + MCP vs Vendure",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-wix.json",
        "title": "Elastic Path API + MCP vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-woocommerce.json",
        "title": "Elastic Path API + MCP vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-woocommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-doola-mcp.json",
        "title": "Adobe Commerce (Magento) vs doola MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-doola-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentzon-vs-doola-mcp.json",
        "title": "Agentzon vs doola MCP",
        "url": "https://www.anchorterminal.com/compare/agentzon-vs-doola-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-doola-mcp.json",
        "title": "BigCommerce API + MCP vs doola MCP",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-doola-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-doola-mcp.json",
        "title": "Commerce Layer API + MCP vs doola MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-doola-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-doola-mcp.json",
        "title": "commercetools vs doola MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-doola-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-fabric.json",
        "title": "doola MCP vs Fabric",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-medusa.json",
        "title": "doola MCP vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-medusa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-saleor.json",
        "title": "doola MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-shopify.json",
        "title": "doola MCP vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-shopware.json",
        "title": "doola MCP vs Shopware",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-snipcart.json",
        "title": "doola MCP vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-spree-commerce.json",
        "title": "doola MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-square.json",
        "title": "doola MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-swell.json",
        "title": "doola MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-vendure.json",
        "title": "doola MCP vs Vendure",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-wix.json",
        "title": "doola MCP vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-woocommerce.json",
        "title": "doola MCP vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-woocommerce"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 60,
        "doola-mcp": 15,
        "edge": "elastic-path",
        "elastic-path": 75,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "doola-mcp": 26,
        "edge": "elastic-path",
        "elastic-path": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 18,
        "doola-mcp": 23,
        "edge": "elastic-path",
        "elastic-path": 41,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 8,
        "doola-mcp": 36,
        "edge": "elastic-path",
        "elastic-path": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "doola-mcp": 10,
        "edge": "doola-mcp",
        "elastic-path": 5,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "doola-mcp": 70,
        "edge": "elastic-path",
        "elastic-path": 77,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 24,
        "doola-mcp": 38,
        "edge": "elastic-path",
        "elastic-path": 62,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Elastic Path API + MCP scores 55.6 (C) on agent readiness against doola MCP's 28 (F), and leads in 6 of 7 scored categories. doola MCP leads on payments \u0026 pricing. Both do commerce checkout.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "doola-mcp": "doola's MCP server takes on a real legal task, forming a US company end to end from a chat, behind OAuth. Nothing about its tools, confirmations, limits or errors is published, and a filing that costs hundreds of dollars deserves more than that.",
      "elastic-path": "Cart, promotion code, checkout and order endpoints cover the whole test flow, with downloadable OpenAPI files and a written 90-day deprecation notice. The MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence, and no security programme was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path",
    "json": "https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path.min.md"
  },
  "markdown": "Elastic Path API + MCP scores 55.6 (C) on agent readiness against doola MCP's 28 (F), and leads in 6 of 7 scored categories. doola MCP leads on payments \u0026 pricing. Both do commerce checkout.\n\n- doola MCP: grade F, 28/100, rank #1430 of 1510. Markdown https://www.anchorterminal.com/tools/doola-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/doola-mcp.json\n- Elastic Path API + MCP: grade C, 55.6/100, rank #863 of 1510. Markdown https://www.anchorterminal.com/tools/elastic-path.md · JSON https://www.anchorterminal.com/api/v1/tools/elastic-path.json\n- Best commerce platforms and checkout APIs for AI agents: https://www.anchorterminal.com/best/commerce/index.md\n- All 189 commerce comparisons: https://www.anchorterminal.com/compare/commerce/index.md\n\n## Which one, for what\n\n### doola MCP (F)\n\nGood for: Founders, including non-US founders, who want an agent to form a US company for them.\n\nAhead on:\n- Payments \u0026 pricing, 10 against 5\n\nWatch for: No published tool list, schemas or errors\n\n### Elastic Path API + MCP (C)\n\nGood for: Enterprises already buying composable commerce who want an agent with broad back-office reach.\n\nAhead on:\n- Reliability, 75 against 15\n- Schema \u0026 documentation, 83 against 26\n- Agent ergonomics, 41 against 23\n- Security \u0026 auth, 44 against 36\n- Maintenance \u0026 community, 77 against 70\n- Transparency \u0026 trust, 62 against 38\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence\n\n\n## Why the edge\n\n### Reliability: Elastic Path API + MCP +60\n\n- doola MCP (15): status.doola.com wasn't reachable (0). No history (5). No rate limits found (0). No retry or idempotency guidance for filings (0). No SLA found (0). Not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n- Elastic Path API + MCP (75): Atlassian Statuspage at status.elasticpath.com with Admin API, Shopper API, Commerce Manager and Webhooks components for the EU and US regions per the 1 October check, and a history feed (20). The feed read on 4 November covers the whole window from 6 August. A proportion of US API requests saw elevated errors for 4 minutes on 21 September (EU unaffected), and Commerce Manager was degraded for 5 minutes on 1 October. Both are partial, so minor. Database maintenance on 13 October was scheduled maintenance, not an incident (20). Published limits of 100 requests a second for production stores and organisations and 50 for development stores (15). The rate-limits page documents 429 and says to wait a few seconds and retry, and the JS SDK retries in the browser. No Retry-After header or idempotency keys, so backoff guidance alone (10). No SLA found (0). The API and the Composable Commerce MCP server are generally available (10).\n\n### Schema \u0026 documentation: Elastic Path API + MCP +57\n\n- doola MCP (26): No tool list or schemas published; tools not read without sign-in (10 of 25). No llms.txt found (0). The README describes the flow, not the tools (5 of 20). Inputs not verifiable (3 of 15). Install examples only (3 of 15). Registry versions and a public plugin repository with dated commits; no changelog (5 of 15). 10 + 0 + 5 + 3 + 3 + 5 = 26.\n- Elastic Path API + MCP (83): Each API reference section has an Export OpenAPI Spec link to a downloadable OpenAPI 3.1 file, for example the Carts, Checkout, Orders file with 65 operations (25). llms.txt with about 1,050 lines, linking HTML pages rather than Markdown (10). Reference pages say what each endpoint does. We didn't read the 95 MCP tool descriptions, since the source isn't public (10). Typed REST parameters in the reference (11). Examples in the reference, and an errors guide with the JSON:API error shape and example bodies for 400, 401, 403, 404, 409, 429 and 500 (12 of 15). Dated changelog tagged MAJOR and MINOR, with deprecations carrying removal dates (15).\n\n### Transparency \u0026 trust: Elastic Path API + MCP +24\n\n- doola MCP (38): Plugin repository MIT (copyright 2026 doola); service closed under terms updated July 2026 (15). Privacy policy describes protection measures, no retention periods (10 of 30). No deprecation policy (0). Subprocessors not found (5 of 20). 15 + 10 + 0 + 5 = 30.\n- Elastic Path API + MCP (62): Closed platform. The terms of use were read on 30 September from www.elasticpath.com, whose robots.txt now answers a Cloudflare bot check, so that reading is struck. The JS SDK is MIT (LICENSE in the repository, 4 November), and the npm package for the MCP server states no licence per the 30 September check. Partly met, so the earlier 10 is kept (10 of 30). The privacy policy was read only on the same host, so that reading is struck and nothing else on the line stands (0). The API Contract guide says Elastic Path gives 90 days' notice before discontinuing or removing API functions, with less only for security risk or legal compliance, and names the deprecating API and its replacement. The changelog keeps to it, with per_application promotion codes announced 16 June for 14 September and removed 6 October, and cm_search announced 8 July for 6 October and removed 21 October. A written policy with a stated notice period (20). Regions are named in the base URLs (useast, euwest), and no subprocessor list was found (7). 10 + 0 + 20 + 7 = 37.\n\n### Agent ergonomics: Elastic Path API + MCP +18\n\n- doola MCP (23): Tool count not published (5). Nothing on paging or output size (5 of 20). No documented errors (0). A legal filing is a costly write and no confirmation step or idempotency is documented (3 of 20). Plugins for Claude Code, Grok Build and Cursor and one URL (10 of 15). 5 + 5 + 0 + 3 + 10 = 23.\n- Elastic Path API + MCP (41): The MCP server has 95 tools by its own npm description per the 30 September check, with no toolsets or filtering documented (5), and JSON:API includes let REST calls size responses a little (3). List operations take `page[limit]`, `page[offset]` and `filter` in the OpenAPI files (20). The errors guide documents the JSON:API error array (status, title, detail) with example bodies for 400, 401, 403, 404, 409, 429 and 500, and a request ID on 500s. It is a generic guide that points to each call's page, and the bodies carry no error codes of their own, so the line is partly met and keeps its earlier 5 (5 of 20). No idempotency keys and no MCP annotations found (0). Official JavaScript SDK (36.1.0 on 26 October 2026) and generated @epcc-sdk packages, one language (8). 5 + 3 + 20 + 5 + 0 + 8 = 41.\n\n### Security \u0026 auth: Elastic Path API + MCP +8\n\n- doola MCP (36): OAuth with revocation; scopes not published (20 of 30). No read-only mode; no documented confirmation before a filing (3 of 20). Inputs are the user's own details (10). No audit log found (0). No security.txt or programme found (3 of 20). 20 + 3 + 10 + 0 + 3 = 36.\n- Elastic Path API + MCP (44): OAuth tokens from Application Keys. client_credentials gives full CRUD, the implicit grant reads the live catalogue only, and custom API role policies can narrow what a key does (24). The implicit token is a read-only path for shopping, but the MCP server runs on client_credentials with full CRUD and documents no read-only mode or confirmation (10). Returns merchant and shopper content with no prompt-injection guidance found (5). The Personal Data API logs every change to a user's personal data and returns the logs per resource. No general audit log of API calls found (5 of 15). No disclosure policy or security.txt found. developer.elasticpath.com serves its app page at /.well-known/security.txt, and earlier readings from www.elasticpath.com are struck, since its robots.txt answers a Cloudflare bot check (0).\n\n### Maintenance \u0026 community: Elastic Path API + MCP +7\n\n- doola MCP (70): Plugin repository commit and registry update on 3 November and 28 October 2026 (30). Several dated merges in 90 days (20 of 20). Repository issues not read (0). Official registry entry io.github.doolahq/doola (15). Plugin manifests published by a registry workflow (5 of 10). 30 + 20 + 0 + 15 + 5 = 70. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n- Elastic Path API + MCP (77): Changelog entry on 2 November 2026 for Catalog Search API changes, 2 days before the check (30). Eleven dated API entries since 6 August, on 10 August (two), 27 August, 25 and 29 September, 6, 7, 21, 22 and 28 October and 2 November, with entries only about Commerce Manager screens left out (20). Public changelog with RSS, Atom and JSON feeds; support channel not checked (10). @elasticpath/js-sdk tagged 35.2.0 to 36.1.0 between 5 and 26 October 2026 (clone). The MCP on npm couldn't be re-read, and it isn't in the official registry (12). The MCP source isn't public, so its tests and CI can't be seen. The JS SDK's CI runs lint and build (5).\n\n## Score by category\n\n| Category | Weight | doola MCP | Elastic Path API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 15 | 75 | Elastic Path API + MCP +60 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 26 | 83 | Elastic Path API + MCP +57 |\n| Agent ergonomics | 13% (16.2 this run) | 23 | 41 | Elastic Path API + MCP +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 36 | 44 | Elastic Path API + MCP +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 5 | doola MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 77 | Elastic Path API + MCP +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 38 | 62 | Elastic Path API + MCP +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **28 · F** | **55.6 · C** | |\n\n## Facts side by side\n\n| Fact | doola MCP | Elastic Path API + MCP |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | doola | Elastic Path |\n| Hosted endpoint | `https://mcp.doola.com` | `https://useast.api.elasticpath.com/v2` |\n| Transports | Streamable HTTP | HTTP, stdio |\n| Auth | OAuth | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service. The plugin repository's MIT licence covers the manifests | none |\n| Tools exposed | none | 95 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.doolahq/doola` | not listed |\n| Last release | none | 2026-09-29 |\n| Terms last updated | not read yet | couldn't be read |\n| Privacy policy last updated | not read yet | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | none | 754 npm/wk |\n| Agent reviews | none | 2/5 (2) |\n\n## How the scores have moved\n\n### doola MCP\n\nNo score change since it was listed.\n\n### Elastic Path API + MCP\n\n- +5.4 on 4 November 2026 (D to C): new evidence, correction\n- +0.1 on 27 October 2026: checklist\n- -0.3 on 8 October 2026: checklist\n\n## Verdicts\n\n**doola MCP.** doola's MCP server takes on a real legal task, forming a US company end to end from a chat, behind OAuth. Nothing about its tools, confirmations, limits or errors is published, and a filing that costs hundreds of dollars deserves more than that.\n\n**Elastic Path API + MCP.** Cart, promotion code, checkout and order endpoints cover the whole test flow, with downloadable OpenAPI files and a written 90-day deprecation notice. The MCP server exposes 95 tools with full CRUD, no read-only mode and no public source or licence, and no security programme was found.\n\n## Before you call either\n\n### doola MCP\n\n1. Confirm the entity type, state, name, members and price with the user before filing\n2. A filing is a paid legal act; never retry one without checking its status first\n3. Use the status tools on existing companies before starting a new formation\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. Page list calls with `page[limit]` and `page[offset]`, and read `errors[].title` and `detail` on failures\n\n## Questions\n\n### Which is better for AI agents, doola MCP or Elastic Path API + MCP?\n\nElastic Path API + MCP scores 55.6 (C) on agent readiness against doola MCP's 28 (F), and leads in 6 of 7 scored categories. doola MCP leads on payments \u0026 pricing.\n\n### Do doola MCP and Elastic Path API + MCP need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call doola MCP and Elastic Path API + MCP without installing anything?\n\nYes. doola MCP has a hosted endpoint at https://mcp.doola.com and Elastic Path API + MCP at https://useast.api.elasticpath.com/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path.json, and with the fewest tokens: https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"doola-mcp\", \"b\": \"elastic-path\"}`. From a terminal: `anchor compare doola-mcp elastic-path`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/doola-mcp.json and https://www.anchorterminal.com/api/v1/tools/elastic-path.json\n\n## Other comparisons with doola MCP or Elastic Path API + MCP\n\n- [Adobe Commerce (Magento) vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/adobe-commerce-vs-elastic-path.md)\n- [Agentzon vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/agentzon-vs-elastic-path.md)\n- [BigCommerce API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-elastic-path.md)\n- [Commerce Layer API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path.md)\n- [commercetools vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-elastic-path.md)\n- [Ecwid by Lightspeed vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-elastic-path.md)\n- [Elastic Path API + MCP vs Fabric](https://www.anchorterminal.com/compare/elastic-path-vs-fabric.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 Shopware](https://www.anchorterminal.com/compare/elastic-path-vs-shopware.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 Spree Commerce](https://www.anchorterminal.com/compare/elastic-path-vs-spree-commerce.md)\n- [Elastic Path API + MCP vs Square](https://www.anchorterminal.com/compare/elastic-path-vs-square.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Elastic Path API + MCP vs Vendure](https://www.anchorterminal.com/compare/elastic-path-vs-vendure.md)\n- [Elastic Path API + MCP vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/elastic-path-vs-wix.md)\n- [Elastic Path API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-woocommerce.md)\n- [Adobe Commerce (Magento) vs doola MCP](https://www.anchorterminal.com/compare/adobe-commerce-vs-doola-mcp.md)\n- [Agentzon vs doola MCP](https://www.anchorterminal.com/compare/agentzon-vs-doola-mcp.md)\n- [BigCommerce API + MCP vs doola MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-doola-mcp.md)\n- [Commerce Layer API + MCP vs doola MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-doola-mcp.md)\n- [commercetools vs doola MCP](https://www.anchorterminal.com/compare/commercetools-vs-doola-mcp.md)\n- [doola MCP vs Fabric](https://www.anchorterminal.com/compare/doola-mcp-vs-fabric.md)\n- [doola MCP vs Medusa API + MCP](https://www.anchorterminal.com/compare/doola-mcp-vs-medusa.md)\n- [doola MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/doola-mcp-vs-saleor.md)\n- [doola MCP vs Shopify API + MCP](https://www.anchorterminal.com/compare/doola-mcp-vs-shopify.md)\n- [doola MCP vs Shopware](https://www.anchorterminal.com/compare/doola-mcp-vs-shopware.md)\n- [doola MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/doola-mcp-vs-snipcart.md)\n- [doola MCP vs Spree Commerce](https://www.anchorterminal.com/compare/doola-mcp-vs-spree-commerce.md)\n- [doola MCP vs Square](https://www.anchorterminal.com/compare/doola-mcp-vs-square.md)\n- [doola MCP vs Swell](https://www.anchorterminal.com/compare/doola-mcp-vs-swell.md)\n- [doola MCP vs Vendure](https://www.anchorterminal.com/compare/doola-mcp-vs-vendure.md)\n- [doola MCP vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/doola-mcp-vs-wix.md)\n- [doola MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/doola-mcp-vs-woocommerce.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "doola MCP vs Elastic Path API + MCP",
        "url": ""
      }
    ],
    "description": "Elastic Path scores 55.6 (C) to doola MCP's 28 (F) for commerce checkout. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "doola MCP F 28",
      "Elastic Path API + MCP C 55.6",
      "scores"
    ],
    "h1": "doola MCP vs Elastic Path API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/doola-mcp-vs-elastic-path",
    "published": "2026-10-01",
    "section": "tools",
    "title": "doola MCP vs Elastic Path for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/doola-mcp-vs-elastic-path"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2530
  },
  "version": 1
}
