{
  "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": 63.1,
        "grade": "B",
        "agentReady": false,
        "rank": 209,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 30,
          "reliability": 90,
          "schema": 82,
          "security": 40,
          "transparency": 69
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 30,
          "reliability": 90,
          "schema": 82,
          "security": 40,
          "transparency": 62
        },
        "provenanceScore": 75
      },
      "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": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/loops.json",
      "live": {
        "slug": "loops",
        "probe": {
          "target": "https://app.loops.so/api/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:40.525161194Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 335,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 133,
          "p95ms24h": 320,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.loops.so",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T01:46:37.123163908Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Loops-so/loops-js",
            "version": "v7.3.0",
            "released": "2026-09-03",
            "seenAt": "2026-10-04T16:32:10.790018615Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.loops-so/loops",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "loops",
            "version": "7.3.0",
            "seenAt": "2026-10-04T16:32:10.544423999Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 415454,
        "securityTxt": {
          "url": "https://loops.so/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:05.221962521Z"
        },
        "llmsTxt": {
          "url": "https://loops.so/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:57.381974357Z"
        },
        "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-04T15:45:41.750101182Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "89f86b168a72"
          },
          {
            "url": "https://loops.so/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:43.991948119Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e1c03faaaec1"
          },
          {
            "url": "https://loops.so/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:45.936970388Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd97263f454e"
          },
          {
            "url": "https://loops.so/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:48.03836741Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "07487f488d0d"
          }
        ],
        "updatedAt": "2026-10-05T01:46:37.123163908Z"
      }
    },
    "b": {
      "slug": "smtp2go",
      "name": "SMTP2GO API + MCP",
      "vendor": "SMTP2GO",
      "vendorUrl": "https://www.smtp2go.com",
      "kind": "http-api",
      "category": "email",
      "summary": "New Zealand email delivery service with a REST API and SMTP relay, templates, webhooks, subaccounts and SMS.",
      "url": "https://www.anchorterminal.com/tools/smtp2go",
      "markdownUrl": "https://www.anchorterminal.com/tools/smtp2go.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smtp2go.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smtp2go.json",
      "repo": "https://github.com/smtp2go-oss/nodejs",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.smtp2go.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "smtp2go-nodejs"
        },
        {
          "registry": "pypi",
          "name": "smtp2go"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key in the X-Smtp2go-Api-Key header, or as `Authorization: Bearer` since 2026-09-07. The key can also go in the JSON body as api_key. Keys can be limited to chosen endpoints and given their own send rate.",
      "pricing": "freemium",
      "pricingNotes": "Free 1,000 emails a month, 200 a day. Starter $10 a month or $100 a year (10,000 emails, extra at $1 per 1,000). Professional $75 a month or $750 a year (100,000 emails, extra at $0.85 per 1,000, dedicated IP). Premier on quote above 3,000,000 a month. Prices scale with the volume slider (https://www.smtp2go.com/pricing/).",
      "priceSummary": "$10 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": 1797,
        "pypiWeekly": 1424,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.smtp2go.com",
      "llmsTxt": "https://developers.smtp2go.com/llms.txt",
      "capabilities": [
        "email.send",
        "email.templates",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "sms"
      ],
      "lastRelease": "2026-06-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 336,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 53,
          "payments": 40,
          "reliability": 47,
          "schema": 59,
          "security": 60,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-06-11. The changelog marks a request-body cap (1 MB for non-email calls, 50 MB for email) as breaking and gives no notice period, and stricter API key permission rules shipped the same way on 2026-05-29. -3 (https://developers.smtp2go.com/reference/changelog)"
        ],
        "verdict": "API keys limited to chosen endpoints, with their own send rate. Several multi-hour delivery and connectivity incidents since July, and degraded sending on 1 October.",
        "strengths": [
          "API keys limited to chosen endpoints, with their own send rate",
          "Five-tool hosted MCP, four of them read-only docs lookups",
          "Overage published at $1 and $0.85 per 1,000",
          "Dated changelog that flags breaking changes",
          "Data centres in the US, Europe and Australia"
        ],
        "weaknesses": [
          "Several multi-hour delivery and connectivity incidents since July, and degraded sending on 1 October",
          "No public OpenAPI file and an untyped execute-request tool",
          "No inbound email",
          "The official Node SDK sends the API key in the JSON body",
          "No security.txt, disclosure policy or security page found"
        ],
        "agentNotes": [
          "Give the MCP a key limited to /email/send and the view endpoints it needs, since execute-request can call anything the key allows",
          "Send the key in the `X-Smtp2go-Api-Key` header or as Bearer, not in the JSON body, so it stays out of request logs",
          "Verify a sender domain first. Free accounts without one are held to 25 emails an hour",
          "On 429, pause until calls return 200 again. Repeated errors time out your IP for at least a minute",
          "Check smtp2gostatus.com before blaming your payload for mail stuck as 'processed'"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 53,
          "payments": 40,
          "reliability": 47,
          "schema": 59,
          "security": 60,
          "transparency": 54
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST https://api.smtp2go.com/v3/email/send -H \"X-Smtp2go-Api-Key: $SMTP2GO_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"sender\":\"you@example.com\",\"to\":[\"them@example.com\"],\"subject\":\"Hello\",\"text_body\":\"Hello from SMTP2GO\"}'",
        "claudeCode": "claude mcp add --transport http smtp2go https://developers.smtp2go.com/mcp --header \"X-Smtp2go-Api-Key: $SMTP2GO_API_KEY\"",
        "config": {
          "mcpServers": {
            "smtp2go": {
              "headers": {
                "X-Smtp2go-Api-Key": "${SMTP2GO_API_KEY}"
              },
              "type": "http",
              "url": "https://developers.smtp2go.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/smtp2go"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 10,
          "note": "10,000 emails a month"
        },
        {
          "item": "Starter overage",
          "unit": "1k-emails",
          "usd": 1
        },
        {
          "item": "Professional",
          "unit": "month",
          "usd": 75,
          "note": "100,000 emails a month, dedicated IP"
        },
        {
          "item": "Professional overage",
          "unit": "1k-emails",
          "usd": 0.85
        }
      ],
      "provenance": {
        "legalEntity": "Sand Dune Mail Ltd",
        "domain": "smtp2go.com",
        "domainRegistered": "2006-06-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.smtp2go.com/terms/",
        "privacy": "https://www.smtp2go.com/privacy/",
        "statusPage": "https://smtp2gostatus.com/",
        "changelog": "https://developers.smtp2go.com/reference/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smtp2go.json",
      "live": {
        "slug": "smtp2go",
        "probe": {
          "target": "https://api.smtp2go.com/v3",
          "method": "get",
          "lastAt": "2026-10-05T01:43:45.442165433Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 479,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 513,
          "p95ms24h": 1640,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://smtp2gostatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T01:46:46.585033603Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smtp2go-oss/nodejs",
            "version": "v0.3.0",
            "released": "2023-12-05",
            "seenAt": "2026-10-04T16:40:09.253212807Z"
          },
          {
            "registry": "npm",
            "name": "smtp2go-nodejs",
            "version": "1.0.0",
            "seenAt": "2026-10-04T16:40:07.466119393Z"
          },
          {
            "registry": "pypi",
            "name": "smtp2go",
            "version": "2.3.1",
            "released": "2022-07-29",
            "seenAt": "2026-10-04T16:40:09.06844254Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 1297,
        "pypiWeekly": 1378,
        "securityTxt": {
          "url": "https://smtp2go.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:55.107656017Z"
        },
        "llmsTxt": {
          "url": "https://developers.smtp2go.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:14.584516797Z"
        },
        "domain": {
          "domain": "smtp2go.com",
          "registered": "2006-06-20",
          "source": "https://rdap.verisign.com/com/v1/domain/smtp2go.com",
          "checkedAt": "2026-10-04T13:06:34.947567818Z"
        },
        "pages": [
          {
            "url": "https://developers.smtp2go.com/reference/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:04.260183113Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2c377bba18e2"
          },
          {
            "url": "https://www.smtp2go.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:15.438909687Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1b9c19a66da5"
          },
          {
            "url": "https://www.smtp2go.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:17.46498925Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d49454c991ce"
          },
          {
            "url": "https://www.smtp2go.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:19.7544875Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d2aefd10ac3"
          }
        ],
        "updatedAt": "2026-10-05T01:46:46.585033603Z"
      }
    },
    "summary": "Loops API + MCP has a score of 63.1 (B) against SMTP2GO API + MCP's 53.2 (D). Both do email send. The largest gap is reliability, 43 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/loops-vs-smtp2go",
    "json": "https://www.anchorterminal.com/compare/loops-vs-smtp2go.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/loops-vs-smtp2go.md",
    "slim": "https://www.anchorterminal.com/compare/loops-vs-smtp2go.min.md"
  },
  "markdown": "Loops API + MCP has a score of 63.1 (B) against SMTP2GO API + MCP's 53.2 (D). Both do email send. The largest gap is reliability, 43 points.\n\n- Loops API + MCP: grade B, 63.1/100, rank #209 of 452. Markdown https://www.anchorterminal.com/tools/loops.md · JSON https://www.anchorterminal.com/api/v1/tools/loops.json\n- SMTP2GO API + MCP: grade D, 53.2/100, rank #336 of 452. Markdown https://www.anchorterminal.com/tools/smtp2go.md · JSON https://www.anchorterminal.com/api/v1/tools/smtp2go.json\n\n## Which one, for what\n\nPick Loops API + MCP for reliability (+43), schema \u0026 documentation (+23), maintenance \u0026 community (+30).\n\nPick SMTP2GO API + MCP for security \u0026 auth (+20), payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | Loops API + MCP | SMTP2GO API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 47 | Loops API + MCP +43 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 59 | Loops API + MCP +23 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 66 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 60 | SMTP2GO API + MCP +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | SMTP2GO 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 | 53 | Loops API + MCP +30 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 72 | SMTP2GO API + MCP +3 |\n| Negative events | ≤15 | -3 | -3 | |\n| **Total** | | **63.1 · B** | **53.2 · D** | |\n\n## Facts side by side\n\n| Fact | Loops API + MCP | SMTP2GO API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Loops (Astrodon Corporation) | SMTP2GO |\n| Hosted endpoint | `https://app.loops.so/api/v1` | `https://api.smtp2go.com/v3` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | none | 5 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.loops-so/loops` | not listed |\n| Last release | 2026-09-03 | 2026-06-04 |\n| Popularity | 7 stars, 460k npm/wk | 9 stars, 1.8k npm/wk, 1.4k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\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**SMTP2GO API + MCP.** API keys limited to chosen endpoints, with their own send rate. Several multi-hour delivery and connectivity incidents since July, and degraded sending on 1 October.\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### SMTP2GO API + MCP\n\n1. Give the MCP a key limited to /email/send and the view endpoints it needs, since execute-request can call anything the key allows\n2. Send the key in the `X-Smtp2go-Api-Key` header or as Bearer, not in the JSON body, so it stays out of request logs\n3. Verify a sender domain first. Free accounts without one are held to 25 emails an hour\n4. On 429, pause until calls return 200 again. Repeated errors time out your IP for at least a minute\n5. Check smtp2gostatus.com before blaming your payload for mail stuck as 'processed'\n\n## Other comparisons with Loops API + MCP or SMTP2GO API + MCP\n\n- [Amazon SES vs Loops API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-loops.md)\n- [Amazon SES vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-smtp2go.md)\n- [Brevo API + MCP vs Loops API + MCP](https://www.anchorterminal.com/compare/brevo-vs-loops.md)\n- [Brevo API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/brevo-vs-smtp2go.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- [Mailgun API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-smtp2go.md)\n- [Mailjet API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-smtp2go.md)\n- [Postmark API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/postmark-vs-smtp2go.md)\n- [Resend API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/resend-vs-smtp2go.md)\n- [Twilio SendGrid vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendgrid-vs-smtp2go.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": "Loops API + MCP vs SMTP2GO API + MCP",
        "url": ""
      }
    ],
    "description": "Loops API + MCP has a score of 63.1 (B) against SMTP2GO API + MCP's 53.2 (D). Both do email send. The largest gap is reliability, 43 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Loops API + MCP B 63.1",
      "SMTP2GO API + MCP D 53.2",
      "scores"
    ],
    "h1": "Loops API + MCP vs SMTP2GO API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-loops-vs-smtp2go.png",
    "path": "/compare/loops-vs-smtp2go",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Loops API + MCP vs SMTP2GO API + MCP for AI agents, B 63.1 vs D 53.2",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/loops-vs-smtp2go"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 330
  },
  "version": 1
}
