{
  "data": {
    "a": {
      "slug": "paragon",
      "name": "Paragon ActionKit + MCP",
      "vendor": "Paragon",
      "vendorUrl": "https://www.useparagon.com",
      "kind": "http-api",
      "category": "workflow-automation",
      "summary": "Embedded integration platform for SaaS products.",
      "url": "https://www.anchorterminal.com/tools/paragon",
      "markdownUrl": "https://www.anchorterminal.com/tools/paragon.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/paragon.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/paragon.json",
      "repo": "https://github.com/useparagon/paragon-mcp",
      "license": "proprietary",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://actionkit.useparagon.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@useparagon/connect"
        }
      ],
      "auth": "mixed",
      "authNotes": "Every call carries a Paragon User Token, an RS256 JWT your server signs with the project's private signing key and sends as 'Authorization: Bearer'. It names the end user, so each tool call runs against that user's connected accounts. The self-hosted MCP server takes the same token and binds it to the session.",
      "pricing": "paid",
      "pricingNotes": "Pro and Enterprise plans, both quoted by sales and priced by the number of Connected Users (customer tenants), with a free trial. Workflows, ActionKit and Managed Sync come with default usage per Connected User. Successful workflow steps and every Proxy API request count as tasks against a monthly limit with no rollover. No prices are published (https://www.useparagon.com/pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in Paragon docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 48,
        "npmWeekly": 175443,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.useparagon.com/actionkit/overview",
      "llmsTxt": "https://docs.useparagon.com/llms.txt",
      "openapi": "https://docs.useparagon.com/actionkit/openapi.json",
      "capabilities": [
        "automation.embedded",
        "automation.workflows",
        "automation.apps",
        "automation.auth",
        "automation.webhooks",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "enterprise",
        "webhooks"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.8,
        "grade": "D",
        "agentReady": false,
        "rank": 381,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 41,
          "maintenance": 48,
          "payments": 0,
          "reliability": 60,
          "schema": 73,
          "security": 65,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "As of the 30 September 2026 commit, the self-hosted MCP server defaults `NODE_ENV` to development, and in development `/mcp` and `/sse` sign a user token for whatever ID arrives in `?user=`. The Dockerfile and the image its workflow publishes don't set `NODE_ENV`, so a server started from that image without the variable lets anyone who can reach it impersonate any end user. The README documents the behaviour and the compose file sets production, so the deduction is modest (https://github.com/useparagon/paragon-mcp/blob/main/src/index.ts, https://github.com/useparagon/paragon-mcp/blob/main/src/utils.ts)."
        ],
        "verdict": "Per-end-user RS256 JWT on every call, with a hosted Connect Portal for OAuth. No published prices and no self-serve paid plan.",
        "strengths": [
          "Per-end-user RS256 JWT on every call, with a hosted Connect Portal for OAuth",
          "ActionKit lists tools as JSON Schema and has an OpenAPI 3.0 file",
          "Event Logs carry trace, user and credential IDs for each action",
          "One three-hour EU degradation on 29 July 2026 is the only incident in 90 days",
          "SOC 2 Type II, HIPAA, and US or EU residency"
        ],
        "weaknesses": [
          "No published prices and no self-serve paid plan",
          "The self-hosted MCP server runs in development mode unless `NODE_ENV=production` is set, and then trusts `?user=`",
          "No error schemas in the OpenAPI file, no ActionKit rate limit and no tool annotations",
          "Changelog's newest entry is April 2026",
          "No security.txt, and the MCP server's licence is stated two ways with no `LICENSE` file"
        ],
        "agentNotes": [
          "Sign a short-lived User Token per end user on your server and never let the model see the signing key",
          "Set `NODE_ENV=production` before exposing the MCP server anywhere but localhost",
          "Fetch the tool list once per session with `categories` set, and cache it",
          "Set `LIMIT_TO_TOOLS` on the MCP server to keep write actions out of a read-only agent",
          "Proxy API requests count as tasks, so prefer ActionKit tools for routine actions"
        ],
        "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": 47.8
          }
        ],
        "editorialScores": {
          "ergonomics": 41,
          "maintenance": 48,
          "payments": 0,
          "reliability": 60,
          "schema": 73,
          "security": 65,
          "transparency": 43
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm install @useparagon/connect",
        "http": "curl https://actionkit.useparagon.com/projects/$PARAGON_PROJECT_ID/tools -H \"Authorization: Bearer $PARAGON_USER_TOKEN\"",
        "claudeCode": "claude mcp add --transport http paragon http://localhost:3001/mcp --header \"Authorization: Bearer ${PARAGON_USER_TOKEN}\"",
        "config": {
          "mcpServers": {
            "paragon": {
              "headers": {
                "Authorization": "Bearer ${PARAGON_USER_TOKEN}"
              },
              "url": "http://localhost:3001/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/automation.embedded",
        "tool": "https://letme.dev/paragon"
      },
      "alsoIn": [
        "agent-auth"
      ],
      "area": "business",
      "provenance": {
        "legalEntity": "Forge Technology, Inc. (d/b/a Paragon)",
        "domain": "useparagon.com",
        "domainRegistered": "2019-08-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.useparagon.com/terms-of-service",
        "privacy": "https://www.useparagon.com/privacy-policy",
        "statusPage": "https://status.useparagon.com",
        "changelog": "https://docs.useparagon.com/changelog/product-updates",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/paragon.json",
      "live": {
        "slug": "paragon",
        "probe": {
          "target": "https://actionkit.useparagon.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:27.674720996Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 308,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 309,
          "p95ms24h": 380,
          "samples24h": 272,
          "samples30d": 1105,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.useparagon.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:30.051924647Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@useparagon/connect",
            "version": "3.1.0",
            "seenAt": "2026-10-04T16:36:14.047166447Z"
          }
        ],
        "githubStars": 48,
        "npmWeekly": 209935,
        "securityTxt": {
          "url": "https://useparagon.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:38.675956466Z"
        },
        "llmsTxt": {
          "url": "https://docs.useparagon.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:05.97376219Z"
        },
        "domain": {
          "domain": "useparagon.com",
          "registered": "2019-08-30",
          "source": "https://rdap.verisign.com/com/v1/domain/useparagon.com",
          "checkedAt": "2026-10-04T13:08:02.741729991Z"
        },
        "pages": [
          {
            "url": "https://docs.useparagon.com/changelog/product-updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:12.572071633Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f693d6387f4"
          },
          {
            "url": "https://www.useparagon.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:39.051971068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8c248050adff"
          },
          {
            "url": "https://www.useparagon.com/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:41.720779341Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63ed04f01ce4"
          },
          {
            "url": "https://www.useparagon.com/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:43.233474446Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c2cc0e396ab4"
          }
        ],
        "updatedAt": "2026-10-05T00:15:27.674720996Z"
      }
    },
    "b": {
      "slug": "tray",
      "name": "Tray.ai API + MCP",
      "vendor": "Tray.ai",
      "vendorUrl": "https://tray.ai",
      "kind": "http-api",
      "category": "workflow-automation",
      "summary": "Low-code integration platform with an embedded product for SaaS vendors.",
      "url": "https://www.anchorterminal.com/tools/tray",
      "markdownUrl": "https://www.anchorterminal.com/tools/tray.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tray.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tray.json",
      "license": "proprietary",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.tray.io/core/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "REST and GraphQL endpoints take a bearer token, either the org master token (you act) or an end user's user token (you act as them). Tray Headless MCP uses a one-time OAuth2 sign-in bound to one workspace, and the docs say not to send a static Authorization header. Agent Gateway MCP servers take OAuth2 or an API token, and API token users can't use per-user credentials.",
      "pricing": "paid",
      "pricingNotes": "Pro, Team and Enterprise plans, all quoted by sales and billed on tasks that cover integration, automation, MCP and agent use. Every plan lists full API access and Tray Headless, and Agent Gateway is an add-on. A free trial exists with no stated length. No prices are published (https://tray.ai/pricing/).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in Tray docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://tray.ai/documentation/developer/getting-started/introduction",
      "llmsTxt": "https://tray.ai/documentation/llms.txt",
      "openapi": "https://tray.ai/documentation/files/openapi/trayapi.yaml",
      "capabilities": [
        "automation.workflows",
        "automation.apps",
        "automation.embedded",
        "automation.code",
        "automation.webhooks",
        "automation.auth",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "enterprise",
        "closed-source",
        "webhooks"
      ],
      "lastRelease": "2026-09-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.6,
        "grade": "C",
        "agentReady": false,
        "rank": 312,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 33,
          "maintenance": 60,
          "payments": 0,
          "reliability": 72,
          "schema": 80,
          "security": 66,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Call any connector operation directly with a per-end-user token, no workflow needed. No published prices and no self-serve plan.",
        "strengths": [
          "Call any connector operation directly with a per-end-user token, no workflow needed",
          "Published API limits, 30 requests a second with bursts to 50",
          "Every action logged and streamable, with settable retention and log masking",
          "Four minor incidents in 90 days, none on the core APIs",
          "US, EU and APAC regions, SOC 2 Type 2 and a pentest dated 23 September 2026"
        ],
        "weaknesses": [
          "No published prices and no self-serve plan",
          "Upstream 429s are wrapped in a 200, which hides throttling from naive retry logic",
          "Headless MCP can delete projects, workflows and auths with no server-side confirmation",
          "No official SDK and no tool annotations",
          "API lives on api.tray.io while the brand, docs and legal pages are on tray.ai"
        ],
        "agentNotes": [
          "Use a user token when acting for a customer and the master token only for admin work",
          "Parse the body of call-connector responses for upstream status codes before treating a 200 as success",
          "Point Headless MCP at the workspace's region, api.eu1.tray.io or api.ap1.tray.io outside the US",
          "Pick the workspace at OAuth sign-in. Headless MCP binds it to the session and takes no workspace ID",
          "Ask before any Headless MCP delete. The server won't"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.6
          }
        ],
        "editorialScores": {
          "ergonomics": 33,
          "maintenance": 60,
          "payments": 0,
          "reliability": 72,
          "schema": 80,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl https://api.tray.io/core/v1/connectors -H \"Authorization: Bearer $TRAY_MASTER_TOKEN\"",
        "claudeCode": "claude mcp add --transport http tray https://api.tray.io/mcp",
        "config": {
          "mcpServers": {
            "tray": {
              "url": "https://api.tray.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/automation.workflows",
        "tool": "https://letme.dev/tray"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Tray.ai, Inc.",
        "domain": "tray.ai",
        "domainRegistered": "2017-12-15",
        "domainNote": "The API and MCP hosts are on tray.io, the company's former domain. The brand, docs and legal pages are on tray.ai.",
        "endpointOnVendorDomain": false,
        "terms": "https://tray.ai/legal/msa/",
        "privacy": "https://tray.ai/legal/privacy-policy/",
        "statusPage": "https://status.tray.ai/",
        "changelog": "https://tray.ai/documentation/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tray.json",
      "live": {
        "slug": "tray",
        "probe": {
          "target": "https://api.tray.io/core/v1",
          "method": "get",
          "lastAt": "2026-10-05T00:15:31.463103564Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 461,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 443,
          "p95ms24h": 498,
          "samples24h": 272,
          "samples30d": 1105,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tray.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:36.255019776Z"
        },
        "securityTxt": {
          "url": "https://tray.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:48.622064082Z"
        },
        "llmsTxt": {
          "url": "https://tray.ai/documentation/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:18.435740616Z"
        },
        "domain": {
          "domain": "tray.ai",
          "registered": "2017-12-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/tray.ai",
          "checkedAt": "2026-10-04T13:09:14.155471976Z"
        },
        "pages": [
          {
            "url": "https://tray.ai/documentation/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:29.705138929Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7b99a20c97aa"
          },
          {
            "url": "https://tray.ai/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:35.754465067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d5fff351c231"
          },
          {
            "url": "https://tray.ai/legal/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:33.769653273Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dd9225a00b9d"
          },
          {
            "url": "https://tray.ai/legal/msa/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:31.993785138Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "67ce69d3046a"
          }
        ],
        "updatedAt": "2026-10-05T00:15:31.463103564Z"
      }
    },
    "summary": "Tray.ai API + MCP has a score of 55.6 (C) against Paragon ActionKit + MCP's 47.8 (D). Both do automation embedded. The largest gap is reliability, 12 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/paragon-vs-tray",
    "json": "https://www.anchorterminal.com/compare/paragon-vs-tray.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/paragon-vs-tray.md",
    "slim": "https://www.anchorterminal.com/compare/paragon-vs-tray.min.md"
  },
  "markdown": "Tray.ai API + MCP has a score of 55.6 (C) against Paragon ActionKit + MCP's 47.8 (D). Both do automation embedded. The largest gap is reliability, 12 points.\n\n- Paragon ActionKit + MCP: grade D, 47.8/100, rank #381 of 452. Markdown https://www.anchorterminal.com/tools/paragon.md · JSON https://www.anchorterminal.com/api/v1/tools/paragon.json\n- Tray.ai API + MCP: grade C, 55.6/100, rank #312 of 452. Markdown https://www.anchorterminal.com/tools/tray.md · JSON https://www.anchorterminal.com/api/v1/tools/tray.json\n\n## Which one, for what\n\nPick Paragon ActionKit + MCP for agent ergonomics (+8).\n\nPick Tray.ai API + MCP for reliability (+12), schema \u0026 documentation (+7), maintenance \u0026 community (+12).\n\n## Score by category\n\n| Category | Weight | Paragon ActionKit + MCP | Tray.ai API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 72 | Tray.ai API + MCP +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 80 | Tray.ai API + MCP +7 |\n| Agent ergonomics | 13% (16.2 this run) | 41 | 33 | Paragon ActionKit + MCP +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 66 | Tray.ai API + MCP +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 0 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 48 | 60 | Tray.ai API + MCP +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 69 | Tray.ai API + MCP +4 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **47.8 · D** | **55.6 · C** | |\n\n## Facts side by side\n\n| Fact | Paragon ActionKit + MCP | Tray.ai API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Paragon | Tray.ai |\n| Hosted endpoint | `https://actionkit.useparagon.com` | `https://api.tray.io/core/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | proprietary | proprietary |\n| Tools exposed | none | 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 | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-23 | 2026-09-09 |\n| Popularity | 48 stars, 175k npm/wk | none |\n| Agent reviews | 2/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**Paragon ActionKit + MCP.** Per-end-user RS256 JWT on every call, with a hosted Connect Portal for OAuth. No published prices and no self-serve paid plan.\n\n**Tray.ai API + MCP.** Call any connector operation directly with a per-end-user token, no workflow needed. No published prices and no self-serve plan.\n\n## Before you call either\n\n### Paragon ActionKit + MCP\n\n1. Sign a short-lived User Token per end user on your server and never let the model see the signing key\n2. Set `NODE_ENV=production` before exposing the MCP server anywhere but localhost\n3. Fetch the tool list once per session with `categories` set, and cache it\n4. Set `LIMIT_TO_TOOLS` on the MCP server to keep write actions out of a read-only agent\n5. Proxy API requests count as tasks, so prefer ActionKit tools for routine actions\n\n### Tray.ai API + MCP\n\n1. Use a user token when acting for a customer and the master token only for admin work\n2. Parse the body of call-connector responses for upstream status codes before treating a 200 as success\n3. Point Headless MCP at the workspace's region, api.eu1.tray.io or api.ap1.tray.io outside the US\n4. Pick the workspace at OAuth sign-in. Headless MCP binds it to the session and takes no workspace ID\n5. Ask before any Headless MCP delete. The server won't\n\n## Other comparisons with Paragon ActionKit + MCP or Tray.ai API + MCP\n\n- [Activepieces API + MCP vs Paragon ActionKit + MCP](https://www.anchorterminal.com/compare/activepieces-vs-paragon.md)\n- [Activepieces API + MCP vs Tray.ai API + MCP](https://www.anchorterminal.com/compare/activepieces-vs-tray.md)\n- [Make API + MCP vs Paragon ActionKit + MCP](https://www.anchorterminal.com/compare/make-vs-paragon.md)\n- [Make API + MCP vs Tray.ai API + MCP](https://www.anchorterminal.com/compare/make-vs-tray.md)\n- [n8n API + MCP vs Paragon ActionKit + MCP](https://www.anchorterminal.com/compare/n8n-vs-paragon.md)\n- [n8n API + MCP vs Tray.ai API + MCP](https://www.anchorterminal.com/compare/n8n-vs-tray.md)\n- [Pipedream API + MCP vs Tray.ai API + MCP](https://www.anchorterminal.com/compare/pipedream-vs-tray.md)\n- [Tray.ai API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/tray-vs-windmill.md)\n- [Tray.ai API + MCP vs Workato API + MCP](https://www.anchorterminal.com/compare/tray-vs-workato.md)\n- [Paragon ActionKit + MCP vs Pipedream API + MCP](https://www.anchorterminal.com/compare/paragon-vs-pipedream.md)\n- [Paragon ActionKit + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/paragon-vs-windmill.md)\n- [Paragon ActionKit + MCP vs Workato API + MCP](https://www.anchorterminal.com/compare/paragon-vs-workato.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": "Paragon ActionKit + MCP vs Tray.ai API + MCP",
        "url": ""
      }
    ],
    "description": "Tray.ai API + MCP has a score of 55.6 (C) against Paragon ActionKit + MCP's 47.8 (D). Both do automation embedded. The largest gap is reliability, 12 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Paragon ActionKit + MCP D 47.8",
      "Tray.ai API + MCP C 55.6",
      "scores"
    ],
    "h1": "Paragon ActionKit + MCP vs Tray.ai API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-paragon-vs-tray.png",
    "path": "/compare/paragon-vs-tray",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Paragon ActionKit + MCP vs Tray.ai API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/paragon-vs-tray"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 330
  },
  "version": 1
}
