{
  "data": {
    "a": {
      "slug": "loops",
      "name": "Loops API + MCP",
      "vendor": "Loops (Astrodon Corporation)",
      "vendorUrl": "https://loops.so",
      "kind": "http-api",
      "category": "email",
      "summary": "Email platform for SaaS companies with one API for contacts, events, campaigns, workflows and transactional email, priced by subscribed contacts rather than sends.",
      "url": "https://www.anchorterminal.com/tools/loops",
      "markdownUrl": "https://www.anchorterminal.com/tools/loops.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/loops.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/loops.json",
      "repo": "https://github.com/Loops-so/loops-js",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.loops.so/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "loops"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST calls use an API key as a Bearer token, tested with GET /api/v1/api-key. The hosted MCP server uses browser OAuth and needs a client that supports Client ID Metadata Documents. No API key goes in the MCP config.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with unlimited contacts but at most 4,000 sends (marketing and transactional together) to the 1,000 newest contacts in any rolling 30 days, with a Loops footer, no card. Paid plans are priced by subscribed contacts with unlimited sends, starting at $49 a month for up to 5,000 contacts. No per-seat or per-send charge (https://loops.so/pricing).",
      "priceSummary": "$49 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 7,
        "npmWeekly": 459804,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://loops.so/docs",
      "llmsTxt": "https://loops.so/docs/llms.txt",
      "openapi": "https://app.loops.so/openapi.json",
      "registryName": "io.github.loops-so/loops",
      "capabilities": [
        "email.send",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "webhooks"
      ],
      "lastRelease": "2026-09-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.7,
        "grade": "B",
        "agentReady": false,
        "rank": 295,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 30,
          "reliability": 90,
          "schema": 82,
          "security": 40,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-17. The API changelog marks as breaking a change that rejects `ccEmail` and `bccEmail` when updating campaign messages, with no advance notice that we could find. -3 (https://loops.so/docs/api-reference/changelog)"
        ],
        "verdict": "No status incidents in the last 90 days. No scoped or read-only keys, and no read-only MCP mode.",
        "bestFor": "SaaS teams that send lifecycle and product email from one contact list and want an OAuth MCP.",
        "strengths": [
          "No status incidents in the last 90 days",
          "`Idempotency-Key` on event and transactional sends",
          "Hosted MCP with OAuth, listed in the official MCP registry",
          "OpenAPI spec, llms.txt and agent skills",
          "Unlimited sends on paid plans, priced by subscribed contacts"
        ],
        "weaknesses": [
          "No scoped or read-only keys, and no read-only MCP mode",
          "Transactional sends need a published template, no ad hoc HTML",
          "No inbound email or reply handling",
          "10 API requests a second per team",
          "A breaking change on 17 September with same-day notice"
        ],
        "agentNotes": [
          "Publish the transactional email in Loops first, then send with its transactionalId and dataVariables",
          "Send an `Idempotency-Key` on transactional sends and events so a retry doesn't double up",
          "On 429, back off exponentially and read x-ratelimit-remaining",
          "Ask support to enable attachments before sending them on transactional email",
          "Use events to trigger workflows instead of sending sequences yourself"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.7
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 30,
          "reliability": 90,
          "schema": 82,
          "security": 40,
          "transparency": 62
        },
        "provenanceScore": 66
      },
      "connect": {
        "http": "curl -X POST https://app.loops.so/api/v1/transactional -H \"Authorization: Bearer $LOOPS_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"transactionalId\":\"YOUR_TRANSACTIONAL_ID\",\"email\":\"them@example.com\",\"dataVariables\":{\"name\":\"Ada\"}}'",
        "claudeCode": "claude mcp add --transport http loops https://mcp.loops.so",
        "config": {
          "mcpServers": {
            "loops": {
              "type": "http",
              "url": "https://mcp.loops.so"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/loops"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 49,
          "note": "up to 5,000 subscribed contacts, unlimited sends"
        }
      ],
      "provenance": {
        "legalEntity": "Astrodon Corporation",
        "domain": "loops.so",
        "domainRegistered": "",
        "domainNote": "The .so registry answered no RDAP query, so the registration date is unknown.",
        "endpointOnVendorDomain": true,
        "terms": "https://loops.so/terms",
        "privacy": "https://loops.so/privacy",
        "statusPage": "https://status.loops.so",
        "changelog": "https://loops.so/docs/api-reference/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/loops.json",
      "live": {
        "slug": "loops",
        "probe": {
          "target": "https://app.loops.so/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T19:08:52.139668591Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 452,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 159,
          "p95ms24h": 335,
          "samples24h": 272,
          "samples30d": 2135,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 217,
              "ok": 217
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.loops.so",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:06:45.292643506Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Loops-so/loops-js",
            "version": "v7.3.0",
            "released": "2026-09-03",
            "seenAt": "2026-10-08T16:19:26.488374508Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.loops-so/loops",
            "version": "1.0.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "loops",
            "version": "7.3.0",
            "seenAt": "2026-10-08T16:19:26.244921059Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 413875,
        "securityTxt": {
          "url": "https://loops.so/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:29.983467372Z"
        },
        "llmsTxt": {
          "url": "https://loops.so/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:34.996407339Z"
        },
        "domain": {
          "domain": "loops.so",
          "checkedAt": "2026-10-04T13:07:57.071985276Z"
        },
        "pages": [
          {
            "url": "https://loops.so/docs/api-reference/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:41.514722933Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "89f86b168a72"
          },
          {
            "url": "https://loops.so/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:43.966303163Z",
            "changedAt": "2026-10-05T15:58:00.718689056Z",
            "fingerprint": "e22a41cbc50a"
          },
          {
            "url": "https://loops.so/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:45.66926244Z",
            "changedAt": "2026-10-05T15:58:02.674209188Z",
            "fingerprint": "c6039d0d0d63"
          },
          {
            "url": "https://loops.so/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:47.82214894Z",
            "changedAt": "2026-10-05T15:58:04.642525643Z",
            "fingerprint": "5779ec7dc942"
          }
        ],
        "updatedAt": "2026-10-08T19:08:52.139668591Z"
      }
    },
    "answer": "Mailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability.",
    "b": {
      "slug": "mailtrap",
      "name": "Mailtrap Email API + MCP",
      "vendor": "Mailtrap (Railsware)",
      "vendorUrl": "https://mailtrap.io",
      "kind": "http-api",
      "category": "email",
      "summary": "Email platform from Railsware Products Studio LLC for transactional and bulk sending, inbound mail, templates, contacts and sandbox testing. Agents reach it through a REST API, SMTP, SDKs, a CLI and a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/mailtrap",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailtrap.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailtrap.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailtrap.json",
      "repo": "https://github.com/mailtrap/mailtrap-mcp",
      "license": "Proprietary service under Mailtrap's terms of service. The MCP server, the Node.js SDK and the CLI are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://send.api.mailtrap.io",
      "packages": [
        {
          "registry": "npm",
          "name": "mailtrap"
        },
        {
          "registry": "npm",
          "name": "mcp-mailtrap"
        },
        {
          "registry": "pypi",
          "name": "mailtrap"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API token, sent as `Authorization: Bearer` or in the `Api-Token` header. Tokens are created at mailtrap.io/settings/api-tokens with permissions per resource and an expiry of 1 to 365 days or a custom date (365 by default). A reset leaves the old token valid for 12 hours. The first token is made by hand in the UI, and later ones can be managed through the API. The MCP server reads `MAILTRAP_API_TOKEN`, and the sub-account tools need a separate organisation token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 4,000 emails a month, capped at 150 a day, and the vendor says signup needs no credit card. Basic is $15 a month for 10,000 emails, Business starts at $85 for 100,000 and Enterprise at $750 for 1,500,000. Overage per 1,000 emails is $1.00, $0.88 and $0.55, and the free plan has none. Email Sandbox and Email Marketing are priced separately (https://mailtrap.io/pricing.md, checked 2026-10-08).",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing reference, the OpenAPI specs or the MCP README (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 125,
      "popularity": {
        "githubStars": 65,
        "npmWeekly": 65939,
        "pypiWeekly": 21317,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.mailtrap.io/",
      "llmsTxt": "https://docs.mailtrap.io/llms.txt",
      "openapi": "https://github.com/mailtrap/mailtrap-openapi",
      "registryName": "io.mailtrap/mcp",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing",
        "email.inbox",
        "email.threads"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "openapi",
        "llms-txt",
        "cli",
        "smtp",
        "typescript",
        "python",
        "webhooks",
        "sandbox",
        "status-page",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.8,
        "grade": "B",
        "agentReady": false,
        "rank": 210,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 93,
          "payments": 40,
          "reliability": 65,
          "schema": 82,
          "security": 60,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Public OpenAPI 3.1 specs, API tokens with per-resource permissions and expiry dates, and a free plan of 4,000 emails a month without a card support agent use. The MCP server loads 125 tools with no toolsets, no idempotency key was found for sends, and the status page records a sending outage of 1 hour 32 minutes on 1 August 2026.",
        "bestFor": "Teams that want sending, a test sandbox and inbound mail under one token, with public OpenAPI specs and a free plan.",
        "strengths": [
          "Ten public OpenAPI 3.1 specs in mailtrap/mailtrap-openapi, plus llms.txt, llms-full.txt and a Markdown copy of every docs page",
          "API tokens carry per-resource permissions and an expiry date (365 days by default), and a reset keeps the old token valid for 12 hours",
          "Free plan of 4,000 emails a month, with signup stated as needing no credit card, and overage rates published per 1,000 emails",
          "Every MCP tool is annotated, 53 with readOnlyHint and the other 72 with destructiveHint set true or false",
          "Email Sandbox captures test sends without delivering them, through the same API token and SDK switch"
        ],
        "weaknesses": [
          "The MCP server registers 125 tools at once, with no toolsets, filtering or read-only mode",
          "No idempotency key for sends was found in the OpenAPI specs or the docs",
          "The status page records a sending outage of 1 hour 32 minutes on 1 August 2026 covering the Email Sending API, SMTP and Inbound Email",
          "Inbound and sandbox message bodies reach the model through the MCP server, and no prompt-injection guidance was found in its README or the docs",
          "User audit logs are limited to the Enterprise plan, and the free plan keeps email logs for 3 days"
        ],
        "agentNotes": [
          "Ask the operator to create the first API token at mailtrap.io/settings/api-tokens. The first token can't be created through the API.",
          "Send transactional mail to send.api.mailtrap.io and bulk mail to bulk.api.mailtrap.io. Sandbox sending uses a different base URL and an inbox ID.",
          "Verify a sending domain before the first production send, and use Email Sandbox to test payloads without delivery.",
          "Stay under 150 requests per 10 seconds per token, and 10 per 60 seconds per account on the Stats and Suppressions APIs. On 429, back off until `x-ratelimit-reset`.",
          "Don't retry a timed-out send blindly, because no idempotency key was found. Check the email logs first."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.8
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 93,
          "payments": 40,
          "reliability": 65,
          "schema": 82,
          "security": 60,
          "transparency": 66
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "npm install mailtrap",
        "http": "curl -X POST https://send.api.mailtrap.io/api/send \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"from\": {\"email\": \"sender@example.com\"},\n    \"to\": [{\"email\": \"recipient@example.com\"}],\n    \"subject\": \"Hello from Mailtrap\",\n    \"text\": \"Welcome to Mailtrap!\"\n  }'",
        "config": {
          "mcpServers": {
            "mailtrap": {
              "args": [
                "-y",
                "mcp-mailtrap"
              ],
              "command": "npx",
              "env": {
                "DEFAULT_FROM_EMAIL": "your_sender@example.com",
                "MAILTRAP_ACCOUNT_ID": "your_account_id",
                "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
                "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailtrap"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic 10k",
          "unit": "month",
          "usd": 15,
          "note": "10,000 emails"
        },
        {
          "item": "Basic 100k",
          "unit": "month",
          "usd": 30,
          "note": "100,000 emails"
        },
        {
          "item": "Business 100k",
          "unit": "month",
          "usd": 85,
          "note": "100,000 emails"
        },
        {
          "item": "Enterprise 1.5M",
          "unit": "month",
          "usd": 750,
          "note": "1,500,000 emails"
        },
        {
          "item": "Overage on Basic",
          "unit": "1k-emails",
          "usd": 1
        },
        {
          "item": "Overage on Business",
          "unit": "1k-emails",
          "usd": 0.88
        },
        {
          "item": "Overage on Enterprise",
          "unit": "1k-emails",
          "usd": 0.55
        }
      ],
      "provenance": {
        "legalEntity": "Railsware Products Studio LLC",
        "domain": "mailtrap.io",
        "domainRegistered": "2011-10-06",
        "endpointOnVendorDomain": true,
        "terms": "https://mailtrap.io/terms/",
        "privacy": "https://mailtrap.io/privacy/",
        "statusPage": "https://status.mailtrap.info",
        "changelog": "https://feedback.mailtrap.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (effective 24 September 2026) name Railsware Products Studio LLC, 117 E Colorado Blvd, Suite 600, Office 650, Pasadena, CA 91105, and are governed by Delaware law with AAA arbitration.",
          "The privacy policy and the data processing addendum at mailtrap.io/dpa are both dated 24 September 2026.",
          "The sending API answers at send.api.mailtrap.io and bulk.api.mailtrap.io. The status page is on a separate domain, status.mailtrap.info, hosted by Sorry.",
          "mailtrap.io/.well-known/security.txt returns 404.",
          "RDAP for mailtrap.io gives a registration date of 2011-10-06."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailtrap.json",
      "live": {
        "slug": "mailtrap",
        "probe": {
          "target": "https://send.api.mailtrap.io",
          "method": "get",
          "lastAt": "2026-10-08T19:08:52.639098003Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 482,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 414,
          "p95ms24h": 482,
          "samples24h": 19,
          "samples30d": 19,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 19,
              "ok": 19
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mailtrap.info",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:50.756977654Z"
        },
        "pages": [
          {
            "url": "https://feedback.mailtrap.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:18.491752089Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3acdfa7f8c4"
          },
          {
            "url": "https://mailtrap.io/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:50.026823293Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb22f75ee67f"
          },
          {
            "url": "https://mailtrap.io/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:52.480729163Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8aafb804ef9"
          },
          {
            "url": "https://mailtrap.io/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:54.495970731Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1c4fcbf64dac"
          }
        ],
        "updatedAt": "2026-10-08T19:08:52.639098003Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Loops (Astrodon Corporation)",
        "b": "Mailtrap (Railsware)",
        "name": "Vendor"
      },
      {
        "a": "https://app.loops.so/api/v1",
        "b": "https://send.api.mailtrap.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary service under Mailtrap's terms of service. The MCP server, the Node.js SDK and the CLI are MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "125",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.loops-so/loops",
        "b": "io.mailtrap/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-03",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2025-12-15",
        "b": "2026-09-24",
        "name": "Terms last updated"
      },
      {
        "a": "2025-05-15",
        "b": "2026-09-24",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "7 stars, 460k npm/wk",
        "b": "65 stars, 66k npm/wk, 21k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Mailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability.",
        "question": "Which is better for AI agents, Loops API + MCP or Mailtrap Email API + MCP?"
      },
      {
        "answer": "Loops API + MCP takes an API key or an OAuth sign-in. Mailtrap Email API + MCP needs an API key.",
        "question": "Do Loops API + MCP and Mailtrap Email API + MCP need an API key?"
      },
      {
        "answer": "Yes. Loops API + MCP has a hosted endpoint at https://app.loops.so/api/v1 and Mailtrap Email API + MCP at https://send.api.mailtrap.io.",
        "question": "Can an agent call Loops API + MCP and Mailtrap Email API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 65"
        ],
        "also": null,
        "goodFor": "SaaS teams that send lifecycle and product email from one contact list and want an OAuth MCP.",
        "slug": "loops",
        "watchFor": "No scoped or read-only keys, and no read-only MCP mode"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 60 against 40",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 93 against 83",
          "Transparency \u0026 trust, 77 against 64"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Loops API + MCP loses 3 points for them"
        ],
        "goodFor": "Teams that want sending, a test sandbox and inbound mail under one token, with public OpenAPI specs and a free plan.",
        "slug": "mailtrap",
        "watchFor": "The MCP server registers 125 tools at once, with no toolsets, filtering or read-only mode"
      }
    ],
    "job": {
      "capability": "email.send",
      "name": "Email send"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-loops.json",
        "title": "Amazon SES vs Loops API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-loops"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailtrap.json",
        "title": "Amazon SES vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-loops.json",
        "title": "Brevo API + MCP vs Loops API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-loops"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-mailtrap.json",
        "title": "Brevo API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailersend.json",
        "title": "Loops API + MCP vs MailerSend",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailersend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailgun.json",
        "title": "Loops API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailjet.json",
        "title": "Loops API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailjet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-postmark.json",
        "title": "Loops API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-resend.json",
        "title": "Loops API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-sendgrid.json",
        "title": "Loops API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/loops-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-smtp2go.json",
        "title": "Loops API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-zoho-zeptomail.json",
        "title": "Loops API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/loops-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-mailtrap.json",
        "title": "MailerSend vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailtrap.json",
        "title": "Mailgun API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-mailtrap.json",
        "title": "Mailjet API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-postmark.json",
        "title": "Mailtrap Email API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-resend.json",
        "title": "Mailtrap Email API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-sendgrid.json",
        "title": "Mailtrap Email API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-smtp2go.json",
        "title": "Mailtrap Email API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-zoho-zeptomail.json",
        "title": "Mailtrap Email API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-zoho-zeptomail"
      }
    ],
    "scores": [
      {
        "by": 25,
        "edge": "loops",
        "key": "reliability",
        "loops": 90,
        "mailtrap": 65,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "key": "schema",
        "loops": 82,
        "mailtrap": 82,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "loops",
        "key": "ergonomics",
        "loops": 66,
        "mailtrap": 62,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 20,
        "edge": "mailtrap",
        "key": "security",
        "loops": 40,
        "mailtrap": 60,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "mailtrap",
        "key": "payments",
        "loops": 30,
        "mailtrap": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "mailtrap",
        "key": "maintenance",
        "loops": 83,
        "mailtrap": 93,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 13,
        "edge": "mailtrap",
        "key": "transparency",
        "loops": 64,
        "mailtrap": 77,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Mailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability. Both do email send.",
    "verdicts": {
      "loops": "No status incidents in the last 90 days. No scoped or read-only keys, and no read-only MCP mode.",
      "mailtrap": "Public OpenAPI 3.1 specs, API tokens with per-resource permissions and expiry dates, and a free plan of 4,000 emails a month without a card support agent use. The MCP server loads 125 tools with no toolsets, no idempotency key was found for sends, and the status page records a sending outage of 1 hour 32 minutes on 1 August 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/loops-vs-mailtrap",
    "json": "https://www.anchorterminal.com/compare/loops-vs-mailtrap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/loops-vs-mailtrap.md",
    "slim": "https://www.anchorterminal.com/compare/loops-vs-mailtrap.min.md"
  },
  "markdown": "Mailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability. Both do email send.\n\n- Loops API + MCP: grade B, 62.7/100, rank #295 of 629. Markdown https://www.anchorterminal.com/tools/loops.md · JSON https://www.anchorterminal.com/api/v1/tools/loops.json\n- Mailtrap Email API + MCP: grade B, 66.8/100, rank #210 of 629. Markdown https://www.anchorterminal.com/tools/mailtrap.md · JSON https://www.anchorterminal.com/api/v1/tools/mailtrap.json\n\n## Which one, for what\n\n### Loops API + MCP (B)\n\nGood for: SaaS teams that send lifecycle and product email from one contact list and want an OAuth MCP.\n\nAhead on:\n- Reliability, 90 against 65\n\nWatch for: No scoped or read-only keys, and no read-only MCP mode\n\n### Mailtrap Email API + MCP (B)\n\nGood for: Teams that want sending, a test sandbox and inbound mail under one token, with public OpenAPI specs and a free plan.\n\nAhead on:\n- Security \u0026 auth, 60 against 40\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 93 against 83\n- Transparency \u0026 trust, 77 against 64\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Loops API + MCP loses 3 points for them\n\nWatch for: The MCP server registers 125 tools at once, with no toolsets, filtering or read-only mode\n\n\n## Score by category\n\n| Category | Weight | Loops API + MCP | Mailtrap Email API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 65 | Loops API + MCP +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 82 | even |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 62 | Loops API + MCP +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 60 | Mailtrap Email API + MCP +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Mailtrap Email API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 93 | Mailtrap Email API + MCP +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 77 | Mailtrap Email API + MCP +13 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **62.7 · B** | **66.8 · B** | |\n\n## Facts side by side\n\n| Fact | Loops API + MCP | Mailtrap Email API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Loops (Astrodon Corporation) | Mailtrap (Railsware) |\n| Hosted endpoint | `https://app.loops.so/api/v1` | `https://send.api.mailtrap.io` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT | Proprietary service under Mailtrap's terms of service. The MCP server, the Node.js SDK and the CLI are MIT |\n| Tools exposed | none | 125 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.loops-so/loops` | `io.mailtrap/mcp` |\n| Last release | 2026-09-03 | 2026-10-08 |\n| Terms last updated | 2025-12-15 | 2026-09-24 |\n| Privacy policy last updated | 2025-05-15 | 2026-09-24 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 7 stars, 460k npm/wk | 65 stars, 66k npm/wk, 21k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\n\n**Loops API + MCP.** No status incidents in the last 90 days. No scoped or read-only keys, and no read-only MCP mode.\n\n**Mailtrap Email API + MCP.** Public OpenAPI 3.1 specs, API tokens with per-resource permissions and expiry dates, and a free plan of 4,000 emails a month without a card support agent use. The MCP server loads 125 tools with no toolsets, no idempotency key was found for sends, and the status page records a sending outage of 1 hour 32 minutes on 1 August 2026.\n\n## Before you call either\n\n### Loops API + MCP\n\n1. Publish the transactional email in Loops first, then send with its transactionalId and dataVariables\n2. Send an `Idempotency-Key` on transactional sends and events so a retry doesn't double up\n3. On 429, back off exponentially and read x-ratelimit-remaining\n4. Ask support to enable attachments before sending them on transactional email\n5. Use events to trigger workflows instead of sending sequences yourself\n\n### Mailtrap Email API + MCP\n\n1. Ask the operator to create the first API token at mailtrap.io/settings/api-tokens. The first token can't be created through the API.\n2. Send transactional mail to send.api.mailtrap.io and bulk mail to bulk.api.mailtrap.io. Sandbox sending uses a different base URL and an inbox ID.\n3. Verify a sending domain before the first production send, and use Email Sandbox to test payloads without delivery.\n4. Stay under 150 requests per 10 seconds per token, and 10 per 60 seconds per account on the Stats and Suppressions APIs. On 429, back off until `x-ratelimit-reset`.\n5. Don't retry a timed-out send blindly, because no idempotency key was found. Check the email logs first.\n\n## Questions\n\n### Which is better for AI agents, Loops API + MCP or Mailtrap Email API + MCP?\n\nMailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability.\n\n### Do Loops API + MCP and Mailtrap Email API + MCP need an API key?\n\nLoops API + MCP takes an API key or an OAuth sign-in. Mailtrap Email API + MCP needs an API key.\n\n### Can an agent call Loops API + MCP and Mailtrap Email API + MCP without installing anything?\n\nYes. Loops API + MCP has a hosted endpoint at https://app.loops.so/api/v1 and Mailtrap Email API + MCP at https://send.api.mailtrap.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/loops-vs-mailtrap.json, and with the fewest tokens: https://www.anchorterminal.com/compare/loops-vs-mailtrap.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"loops\", \"b\": \"mailtrap\"}`. From a terminal: `anchor compare loops mailtrap`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/loops.json and https://www.anchorterminal.com/api/v1/tools/mailtrap.json\n\n## Other comparisons with Loops API + MCP or Mailtrap Email API + MCP\n\n- [Amazon SES vs Loops API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-loops.md)\n- [Amazon SES vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailtrap.md)\n- [Brevo API + MCP vs Loops API + MCP](https://www.anchorterminal.com/compare/brevo-vs-loops.md)\n- [Brevo API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/brevo-vs-mailtrap.md)\n- [Loops API + MCP vs MailerSend](https://www.anchorterminal.com/compare/loops-vs-mailersend.md)\n- [Loops API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/loops-vs-mailgun.md)\n- [Loops API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/loops-vs-mailjet.md)\n- [Loops API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/loops-vs-postmark.md)\n- [Loops API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/loops-vs-resend.md)\n- [Loops API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/loops-vs-sendgrid.md)\n- [Loops API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/loops-vs-smtp2go.md)\n- [Loops API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/loops-vs-zoho-zeptomail.md)\n- [MailerSend vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-mailtrap.md)\n- [Mailgun API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailtrap.md)\n- [Mailjet API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-mailtrap.md)\n- [Mailtrap Email API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailtrap-vs-postmark.md)\n- [Mailtrap Email API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailtrap-vs-resend.md)\n- [Mailtrap Email API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailtrap-vs-sendgrid.md)\n- [Mailtrap Email API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailtrap-vs-smtp2go.md)\n- [Mailtrap Email API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailtrap-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Loops API + MCP vs Mailtrap Email API + MCP",
        "url": ""
      }
    ],
    "description": "Mailtrap Email API + MCP scores 66.8 (B) on agent readiness against Loops API + MCP's 62.7 (B), and leads in 4 of 7 scored categories. Loops API + MCP leads on reliability. Both do email send. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Loops API + MCP B 62.7",
      "Mailtrap Email API + MCP B 66.8",
      "scores"
    ],
    "h1": "Loops API + MCP vs Mailtrap Email API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-loops-vs-mailtrap.png",
    "path": "/compare/loops-vs-mailtrap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Loops API + MCP vs Mailtrap Email API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/loops-vs-mailtrap"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
