{
  "data": {
    "a": {
      "slug": "moengage",
      "name": "MoEngage",
      "vendor": "MoEngage, Inc.",
      "vendorUrl": "https://www.moengage.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "MoEngage is a hosted customer engagement platform that stores user profiles and events, builds segments and sends campaigns and flows by push, email, SMS and WhatsApp. Agents reach it through REST APIs and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/moengage",
      "markdownUrl": "https://www.anchorterminal.com/tools/moengage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/moengage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/moengage.json",
      "dns": "moengage.grade.anchorterminal.com",
      "license": "Proprietary service under MoEngage's Terms of Use and a customer agreement",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.moengage.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access needs a MoEngage customer workspace, which is sold through sales. A dashboard user creates API keys under Settings, Account, APIs. The default is HTTP Basic with the Workspace ID as username and the API key as password, with separate keys for Data, Push, Inform, Campaigns and Personalise. An API key dashboard, in early access and enabled on request, adds named keys scoped to chosen API groups, OAuth 2.0 client credentials (access tokens of 5 to 60 minutes, refresh tokens of 30 days, issued at `https://oauth2-{dc}.moengage.com`) and AWS STS role ARNs. Segmentation and Inform accept Basic only. The MCP server uses OAuth with the user's own MoEngage login and role, a second factor, and a 30-day session with a 7-day idle timeout. No app review or partner approval was found.",
      "pricing": "paid",
      "pricingNotes": "No public prices. https://www.moengage.com/plans-and-pricing/ lists Growth and Enterprise plans, counted in monthly tracked users, with a sales contact and a one-year minimum commitment. No free tier, trial or self-serve signup was found. Each workspace has Live and Test environments and Inform has a sandbox host, but both sit inside a customer account, so an agent can't start without a contract. API and MCP calls aren't priced per call in any page read (checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, the OpenAPI files, the pricing page or the legal pages (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 52,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.moengage.com/docs/api/introduction",
      "llmsTxt": "https://www.moengage.com/docs/llms.txt",
      "openapi": "https://www.moengage.com/docs/api/data/data.yaml",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.templates",
        "notify.push"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "closed-source",
        "sales-led",
        "enterprise",
        "eu-region",
        "status-page",
        "soc2",
        "sla"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.7,
        "grade": "B",
        "agentReady": false,
        "rank": 405,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 75,
          "payments": 0,
          "reliability": 76,
          "schema": 87,
          "security": 69,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "MoEngage publishes 37 OpenAPI files, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 27 October 2026 the Push API was down across its data centres for about 11 hours.",
        "bestFor": "A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.",
        "strengths": [
          "37 public OpenAPI files linked from the docs index; the 36 read on 9 October held 140 operations, each with a summary and description",
          "A rate limit table with numbers for every endpoint group, plus `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset` response headers",
          "The hosted MCP server at mcp.moengage.com uses OAuth tied to the user's role, masks PII attributes and cannot publish a campaign",
          "API keys can be scoped to chosen API groups, use OAuth 2.0 tokens of 5 to 60 minutes or AWS STS roles, and be limited by IP address",
          "A published SLA of 99.9 per cent monthly availability, a public DPA and a sub-processor list with locations dated 1 September 2026"
        ],
        "weaknesses": [
          "No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only",
          "On 27 October 2026 the Push API was down across data centres for about 11 hours, and on 17 August the DC-03 Inform API returned HTTP 200 for 16 hours without sending some messages",
          "Scoped keys, OAuth 2.0 and AWS STS keys sit in an API key dashboard that is in early access and enabled on request",
          "Segmentation and Inform accept Basic authentication only, and new Push API keys can't be created",
          "No API deprecation policy was found, and no official server-side API client library was found in the documentation"
        ],
        "agentNotes": [
          "Take the data centre number from the dashboard URL and call `https://api-{dc}.moengage.com`. Data can't be moved between data centres",
          "Send an `Idempotency-Key` header (UUID v4) on V5 campaign writes and test sends, and a `transaction_id` on Inform alerts, which deduplicates for 5 minutes",
          "Use internal event and attribute names in segment filters, and run `deep_validate_segment_filters` first. A wrong event name is accepted and the count later fails with no reason",
          "Use `in` with a list for text equality in segment filters. `equals` returns a 400 that names no field",
          "Reuse an OAuth access token until it nears expiry. The token endpoint allows 5 requests a minute and 30 per 10 minutes for each key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.7
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 75,
          "payments": 0,
          "reliability": 76,
          "schema": 87,
          "security": 69,
          "transparency": 60
        },
        "provenanceScore": 91,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl --request POST \\\n  --url https://api-{dc}.moengage.com/v1/customer/YOUR_WORKSPACE_ID \\\n  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \\\n  --header 'Content-Type: application/json' \\\n  --data '{ \"type\": \"customer\", \"customer_id\": \"user_12345\" }'",
        "config": {
          "mcpServers": {
            "moengage": {
              "url": "https://mcp.moengage.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/moengage"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "MoEngage, Inc.",
        "domain": "moengage.com",
        "domainRegistered": "2014-04-19",
        "endpointOnVendorDomain": true,
        "terms": "https://www.moengage.com/terms-of-use/",
        "privacy": "https://www.moengage.com/privacy-policy/",
        "statusPage": "https://status.moengage.com",
        "changelog": "https://www.moengage.com/docs/release-notes/product/2026/september-2026",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "The Terms of Use name MoEngage, Inc., a Delaware corporation, and say they govern the website and related software and services. They carry no date. The DPA and sub-processor list name MoEngage Global Inc.",
          "The acceptable use policy (last updated 14 May 2026) refers to a Master Service Agreement between MoEngage and its customers. That agreement isn't published.",
          "The privacy policy was last updated on 26 August 2026 and covers MoEngage as processor for its customers' end users.",
          "The API answers at api-{dc}.moengage.com and the MCP server at mcp.moengage.com, both on the vendor's domain.",
          "https://www.moengage.com/.well-known/security.txt returns 404 (re-read 2 November 2026). Reports go to the address in the responsible disclosure policy.",
          "Release notes are one page a month under /docs/release-notes/product/, with separate dated changelogs for each SDK.",
          "RDAP for moengage.com gives a registration date of 2014-04-19."
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/moengage.json",
      "live": {
        "slug": "moengage",
        "probe": {
          "target": "https://mcp.moengage.com",
          "method": "get",
          "lastAt": "2026-11-07T19:22:20.569598976Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 81,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 35,
          "p95ms24h": 123,
          "samples24h": 238,
          "samples30d": 7215,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 246
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.moengage.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:42.897791739Z"
        },
        "securityTxt": {
          "url": "https://moengage.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:17.164091584Z"
        },
        "llmsTxt": {
          "url": "https://www.moengage.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:13.621481424Z"
        },
        "domain": {
          "domain": "moengage.com",
          "registered": "2014-04-19",
          "source": "https://rdap.verisign.com/com/v1/domain/moengage.com",
          "checkedAt": "2026-11-01T14:21:21.091325535Z"
        },
        "pages": [
          {
            "url": "https://www.moengage.com/docs/release-notes/product/2026/september-2026",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:44.906126765Z",
            "changedAt": "2026-11-06T13:52:21.289294153Z",
            "fingerprint": "e0a462c3a13f"
          },
          {
            "url": "https://www.moengage.com/plans-and-pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:47.25902456Z",
            "changedAt": "2026-10-31T06:29:58.721060509Z",
            "fingerprint": "e799bed9be85"
          },
          {
            "url": "https://www.moengage.com/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:50.470962503Z",
            "changedAt": "2026-11-04T08:42:47.835112355Z",
            "fingerprint": "4de27c3abe59"
          },
          {
            "url": "https://www.moengage.com/terms-of-use/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:51.428269323Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3a3cf18334cc"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.moengage.com",
          "checkedAt": "2026-11-07T01:46:16.238795444Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:16.238795444Z"
        },
        "updatedAt": "2026-11-07T19:22:20.569598976Z"
      }
    },
    "answer": "Nitrosend scores 69.4 (B) on agent readiness against MoEngage's 65.7 (B), and leads in 4 of 7 scored categories. MoEngage leads on reliability and security \u0026 auth.",
    "b": {
      "slug": "nitrosend",
      "name": "Nitrosend",
      "vendor": "Nitrosend Pty Ltd",
      "vendorUrl": "https://nitrosend.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "Nitrosend is an email marketing and transactional email platform built to be run by AI agents. Campaigns, automation flows, contacts, segments and approvals are driven through a remote MCP server, with a REST API, Node SDK and CLI.",
      "url": "https://www.anchorterminal.com/tools/nitrosend",
      "markdownUrl": "https://www.anchorterminal.com/tools/nitrosend.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nitrosend.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nitrosend.json",
      "dns": "nitrosend.grade.anchorterminal.com",
      "repo": "https://github.com/nitrosend/mcp",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.nitrosend.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@nitrosend/sdk"
        },
        {
          "registry": "npm",
          "name": "@nitrosend/mcp"
        },
        {
          "registry": "npm",
          "name": "@nitrosend/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "The remote MCP server signs in by OAuth with one `mcp` scope, bearer in the header only. REST, the CLI and the stdio bridge take an account API key (`nskey_live_...`) as a Bearer token, revocable and pinned to one account and brand. Agencies can issue management credentials (`nsmc_live_...`) that can't mint keys or manage billing. Website forms use a separate public key that rejects secret keys.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 5,000 non-expiring starter emails then 500 a month, no card. Starter $20 a month for 20,000 emails, Pro $50 for 60,000, Growth $150 for 200,000, Scale $300 for 500,000, extra emails $1.50 to $0.70 per 1,000. Annual payment saves 20%. Contacts are unlimited on every plan.",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs index, PRICING.md, SKILL.md or the OpenAPI spec (checked 2026-11-06). The billing tool notes that no presented-credential payment rail is enabled; checkout goes through Stripe with owner approval.",
        "endpoints": []
      },
      "toolCount": 25,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1014,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.nitrosend.com",
      "llmsTxt": "https://nitrosend.com/llms.txt",
      "openapi": "https://api.nitrosend.com/openapi.yaml",
      "registryName": "com.nitrosend/nitrosend",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.send",
        "email.templates",
        "email.domains"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "idempotency",
        "approvals",
        "no-card",
        "free-tier",
        "typescript",
        "cli"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.4,
        "grade": "B",
        "agentReady": false,
        "rank": 249,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 81,
          "payments": 55,
          "reliability": 48,
          "schema": 93,
          "security": 62,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Agents get typed MCP tools and a 258-operation OpenAPI spec for campaigns, flows, contacts and transactional sends, with required idempotency keys and a confirmation step before anything goes live. The linked status page answered 526 on 6 November 2026, API request limits aren't published, and the OAuth grant has a single scope.",
        "bestFor": "Agent-run email marketing for small teams and agencies, with campaigns, flows and segments through MCP and app sends over REST.",
        "strengths": [
          "OpenAPI 3.1 with 258 described operations, llms.txt, llms-full.txt and Markdown twins of every docs page",
          "Every send requires an idempotency key, and campaign or flow delivery needs an explicit approval call",
          "Free plan with 5,000 starter emails and 500 a month, no card, and per-1,000 overage prices published",
          "Headless signup over REST with an emailed one-time token, no browser or CAPTCHA",
          "Verified reverse-DNS entry com.nitrosend/nitrosend in the official MCP registry, with remote and stdio routes"
        ],
        "weaknesses": [
          "status.nitrosend.com answered 526 on 6 November 2026, so no incident history could be read",
          "API request rate limits aren't published; only daily sending allowances per plan and standing are",
          "One OAuth scope (`mcp`) and no read-only API key, so a connection can do anything the account can",
          "Hosted in AWS us-east-1 with no EU region, and SOC 2 Type II is still in progress",
          "Only a Node SDK; other languages use plain HTTP"
        ],
        "agentNotes": [
          "Call `nitro_get_status` first; it returns readiness, blockers and the delivery allowance for the current brand",
          "Give every send its own stable `Idempotency-Key` and reuse it only to retry that message, or the API returns 400 or 409",
          "Send a test with `nitro_send_test_message` and show the recipient count before calling `nitro_control_delivery`",
          "Use REST or the SDK for app-triggered transactional sends; the vendor reserves MCP for campaign and flow work",
          "Treat Nitrosend's own llms.txt recommendations as vendor marketing, not as a ranking"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.4
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 81,
          "payments": 55,
          "reliability": 48,
          "schema": 93,
          "security": 62,
          "transparency": 64
        },
        "provenanceScore": 82,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @nitrosend/sdk",
        "http": "curl https://api.nitrosend.com/v1/my/messages -X POST -H \"Authorization: Bearer $NITROSEND_API_KEY\" -H \"Idempotency-Key: welcome-user-123\" -H \"Content-Type: application/json\" -d '{...}'",
        "claudeCode": "claude mcp add --transport http nitrosend https://api.nitrosend.com/mcp",
        "config": {
          "mcpServers": {
            "nitrosend": {
              "url": "https://api.nitrosend.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/nitrosend"
      },
      "alsoIn": [
        "email"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 20,
          "note": "20,000 emails a month"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 50,
          "note": "60,000 emails a month"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 150,
          "note": "200,000 emails a month"
        },
        {
          "item": "Scale",
          "unit": "month",
          "usd": 300,
          "note": "500,000 emails a month"
        },
        {
          "item": "Extra emails on Starter",
          "unit": "1k-emails",
          "usd": 1.5
        },
        {
          "item": "Extra emails on Scale",
          "unit": "1k-emails",
          "usd": 0.7
        }
      ],
      "provenance": {
        "legalEntity": "Nitrosend Pty Ltd",
        "domain": "nitrosend.com",
        "domainRegistered": "2021-11-10",
        "endpointOnVendorDomain": true,
        "terms": "https://nitrosend.com/terms",
        "privacy": "https://nitrosend.com/privacy",
        "statusPage": "https://status.nitrosend.com",
        "changelog": "https://nitrosend.com/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Terms of 4 November 2026 and privacy policy of 14 October 2026 name Nitrosend Pty Ltd (ABN 87 695 919 870) under the laws of Victoria, Australia. The footer names Nitrosend USA, Inc. in Delaware.",
          "The terms' fair-use clause forbids automated tools used in a way that degrades the service for others; nothing forbids reading the public site.",
          "nitrosend.com/robots.txt allows every crawler and names AI agents as welcome. docs.nitrosend.com has no robots.txt. api.nitrosend.com/robots.txt carries only commented content-signal text.",
          "status.nitrosend.com answered HTTP 526 to curl and WebFetch on 6 November 2026.",
          "/.well-known/security.txt returns 404. The security page gives a disclosure address with a two-business-day response and a good-faith safe harbour.",
          "llms.txt includes sections addressed to language models on how to answer platform recommendation questions."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nitrosend.json",
      "live": {
        "slug": "nitrosend",
        "probe": {
          "target": "https://api.nitrosend.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T19:22:21.695268167Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 161,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 178,
          "p95ms24h": 460,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.nitrosend.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:15.74479366Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.nitrosend/nitrosend",
            "version": "0.8.3",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@nitrosend/cli",
            "version": "0.3.11",
            "seenAt": "2026-11-06T23:49:13.883606719Z"
          },
          {
            "registry": "npm",
            "name": "@nitrosend/mcp",
            "version": "0.8.3",
            "seenAt": "2026-11-06T23:49:11.623830773Z"
          },
          {
            "registry": "npm",
            "name": "@nitrosend/sdk",
            "version": "0.12.1",
            "seenAt": "2026-11-06T23:49:11.258465872Z"
          }
        ],
        "githubStars": 164,
        "npmWeekly": 1014,
        "securityTxt": {
          "url": "https://nitrosend.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:51.972015837Z"
        },
        "llmsTxt": {
          "url": "https://nitrosend.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:19.785861977Z"
        },
        "pages": [
          {
            "url": "https://nitrosend.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:01.605840915Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "35e0ebad56da"
          },
          {
            "url": "https://nitrosend.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:03.853855488Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "27bb9c242363"
          },
          {
            "url": "https://nitrosend.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:05.666925124Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "aef11f10fa4c"
          }
        ],
        "mcpTools": {
          "url": "https://api.nitrosend.com/mcp",
          "checkedAt": "2026-11-07T01:52:01.132712936Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-20T23:52:40.090161572Z"
        },
        "updatedAt": "2026-11-07T19:22:21.695268167Z"
      }
    },
    "edges": [
      {
        "by": 55,
        "category": "payments",
        "leads": "nitrosend",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No prices are published. The pricing page lists Growth and Enterprise plans with a sales contact (0). No free tier or trial was found (0). A person has to buy through sales and create keys in the dashboard (0). Total 0.",
          "b": "No x402, MPP or L402; the billing tool says no presented-credential rail is enabled (0). Per-1,000 overage prices and plan prices published in PRICING.md without login (20). Free plan with 5,000 starter emails and 500 a month, no card (20). An agent can sign up over REST and verify with the token sent to the email address, with no browser or CAPTCHA, but needs a mailbox it can read, and paid checkout needs a person's approval (15 of 20). Total 55."
        },
        "scores": {
          "a": 0,
          "b": 55
        }
      },
      {
        "by": 28,
        "category": "reliability",
        "leads": "moengage",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the REST API, with the hosted lines. Statuspage site at status.moengage.com with components for each data centre, among them Data APIs, Push APIs, Custom Segment API and Inform (20). In the 90 days from 4 August 2026 the history feed holds two incidents touching the APIs. On 27 October the Push API had \"downtime across our data centers\" from 02:20 UTC, restored for single-user sends at 12:39 and for all-user and segment sends at 13:23, and the Campaigns v1 API failed campaign creation from 03:13 to 14:14 UTC. That is about 11 hours of a core API down in every data centre, read as a major as nylas-email's all-region webhooks outage was. On 17 August the Inform API in DC-03 returned HTTP 200 for about 16 hours while a subset of messages was never sent, which is one region and a subset of requests, so partial and minor. The 20 October docs outage, the 24 September and 28 October dashboard incidents and two maintenance windows didn't touch the APIs. One major outage (10 of 30; the 9 October 8 isn't a checklist value, and its July incidents have left the window). Numeric limits are published for every endpoint group (15). 429 responses carry `x-ratelimit` headers, the OAuth and some V5 endpoints add `Retry-After`, and V5 campaigns and flow status changes take an `Idempotency-Key`. The Data APIs have no idempotency key (12). The published SLA commits to 99.9 per cent monthly availability with service credits (10). The REST API is generally available, with the Flows endpoints and the API key dashboard in early access (9). 20 + 10 + 15 + 12 + 10 + 9 = 76.",
          "b": "Graded with the hosted lines. llms.txt links a status page at status.nitrosend.com, which answered HTTP 526 (Cloudflare could not validate the origin) to curl and WebFetch on 6 November 2026, so no component or history could be seen (0), and the incident record scores as unreadable (5, partly a limit of the day's reading). No API request rate limits are published; PRICING.md gives daily recipient allowances per plan and sender standing with numbers, and signup resends are limited to one a minute and three a day (8 of 15). 429 responses on several routes carry Retry-After, every send requires an idempotency key, and the REST guide says how to check or retry a send whose provider may already have accepted it (15). llms.txt says Enterprise includes a 99.9% SLA (10). In production since 28 May 2026 with no beta label (10). Total 48."
        },
        "scores": {
          "a": 76,
          "b": 48
        }
      },
      {
        "by": 15,
        "category": "ergonomics",
        "leads": "nitrosend",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "List and search calls take `page`, `limit` or a cursor, and the MCP server hides tools the user's role can't use, though it documents 52 tools (15). V5 list calls return `next_cursor`, and campaign, segment, flow and template search calls take filters (17). Errors use a standard envelope with `message`, `type` and `request_id`, V5 adds `code`, `target` and `details`, and authentication failures carry a `MOENGAGE-AUTH-ERROR-CODE` header. Segment creation returns a 400 that names no field (16). `Idempotency-Key` is required on V5 campaign writes and accepted on flow status changes, and Inform deduplicates on `transaction_id` for 5 minutes. The Data and segment APIs have none, and MCP tool annotations couldn't be read without signing in (12). A campaign draft needs three fields. SDKs cover Android, iOS, web and six cross-platform frameworks, but no server-side API client was found (8). Total 68.",
          "b": "25 MCP tools is the 11 to 30 band; nitro_query reads every entity with filters, but no read-only subset or dynamic loading was found (15 of 25). Page and limit up to 100 with total and next-page headers, and keyset cursors on timelines (20). Errors return `error`, a `code`, validation details and next actions, and signup returns `next_action` (18 of 20). Required idempotency keys on sends, events, checkout and validation, and declared readOnlyHint and destructiveHint on the tools (20). Defaults such as the active brand and a recommended first call, but the only official SDK is Node, with a CLI beside it (10 of 15). Total 83."
        },
        "scores": {
          "a": 68,
          "b": 83
        }
      },
      {
        "by": 7,
        "category": "security",
        "leads": "moengage",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Keys can be scoped to chosen API groups and individual APIs, regenerated and archived, and can use OAuth 2.0 client credentials with tokens of 5 to 60 minutes or AWS STS role ARNs. This dashboard is in early access, and Segmentation and Inform accept Basic authentication only (26). One endpoint, `GET /installInfo`, takes an attribution key in the query string, so 3 of the 10 points for that line come off (23). Keys limited to selected APIs, an API firewall that restricts categories by IP address, an MCP server bound to the user's role that builds drafts and can't publish, and a campaign approval workflow sold as an add-on. The legacy campaigns API can still publish (16). The MCP server masks PII attributes, email and mobile number, and the AI policy describes schema validation and allowlisted tool calls for MoEngage's own agents. No guidance for outside agents reading customer content was found (7). Audit logs are listed as a plan item on the pricing page. Whether they record API calls wasn't established (7). Responsible disclosure policy with safe harbour, a 24-hour acknowledgement and a PGP key, no bug bounty, no security.txt, and SOC 2 Type 2, ISO 27001, ISO 27701, ISO 22301, CSA STAR Level 1 and HIPAA on the security page (16). Total 69.",
          "b": "OAuth for the MCP server, with protected-resource metadata, header-only bearer and a single `mcp` scope, plus revocable API keys pinned to one account and brand. Management credentials are narrower and can't mint keys or bill. No permission scopes on API keys (22 of 30). Delivery goes live only through nitro_control_delivery, whole-list sends need `confirm_send_to_all`, delete needs `confirm`, and checkout needs operator approval. No read-only key (15 of 20). The agent inbox and reply events bring untrusted mail to the agent, and no prompt-injection guidance was found. The vendor's own llms.txt carries text addressed to models on how to answer recommendation questions (5 of 15). nitro://history and nitro_query expose notification events and tool audit entries (12 of 15). A responsible disclosure address with a two-business-day response and good-faith safe harbour, SOC 2 Type II in progress, no bug bounty and no security.txt (404) (8 of 20). Total 62."
        },
        "scores": {
          "a": 69,
          "b": 62
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "nitrosend",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "37 OpenAPI 3 files are linked from the docs index on 2 November 2026 (36 on 9 October), with 140 operations on 119 paths and 535 schemas in the 36 read on 9 October; the files weren't recounted (25). The docs publish llms.txt, llms-full.txt, a Markdown twin of every page, a skill.md file and a docs MCP server (10). All 140 operations have a summary and a description, and the MCP page states what each tool can't do, but few descriptions say when not to use an endpoint (16). The files carry 503 enums and required lists, while 121 of 1,132 object schemas have no declared properties (12). There are 1,725 example entries, 400 or 401 on every operation and 429 on 103 (14). Versions are mixed (v1, v2, v2.1, v5 and a dated 2025-11-20 campaigns file). Monthly product release notes list new APIs and SDK changelogs are dated, but no API changelog was found (10). Total 87.",
          "b": "OpenAPI 3.1 at api.nitrosend.com/openapi.yaml (version 1.1.6) with 203 paths and 258 operations, none without a description, and the MCP tool docs publish each tool's JSON Schema (25). llms.txt, llms-full.txt, agent.txt, SKILL.md, PRICING.md and a Markdown twin of each docs page (10). Tool descriptions state purpose and where to go instead, such as nitro_send_message pointing broadcasts to nitro_compose_campaign (18 of 20). Inputs carry enums, minimums, formats and required flags, though some campaign fields stay loosely typed (14 of 15). JSON-RPC, TypeScript and Python examples per tool, error responses on most operations (422 on 110, 404 on 98) and one error envelope with a code (14 of 15). A spec version and a changelog by monthly release, v0.1.0 in February to v1.4.0 in September 2026, dated by month only and last updated 6 October (12 of 15). Total 93."
        },
        "scores": {
          "a": 87,
          "b": 93
        }
      },
      {
        "by": 6,
        "category": "maintenance",
        "leads": "nitrosend",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The iOS SDK changelog has an entry dated 14 October 2026, the Android one 9 October and the Web one 8 October (30). Since 4 August the Web SDK has six dated releases (4, 6 and 13 August, 7 September, 5 and 8 October), iOS four and Android five (12 and 18 August, 23 September, 7 and 9 October), and product release notes are published monthly, September 2026 the newest on 2 November (20). Public release notes with an RSS feed, support through a ticket portal and a docs feedback tool. No public issue tracker or community forum was read (10). Client SDKs are current. The MCP server isn't in the official MCP registry, and no API client library was found (10). The SDK repositories and their CI weren't read (5). Total 75.",
          "b": "@nitrosend/sdk 0.12.1 and @nitrosend/cli 0.3.11 were published on 6 November 2026 (30). 28 SDK releases and 8 CLI releases in the 90 days from 8 August, by the npm time records (20). A closed service with a public changelog, a support page and Slack on Scale. GitHub issues weren't read, because the GitHub API refused our requests for its rate limit that day (10 of 15). com.nitrosend/nitrosend is active in the official MCP registry under its reverse-DNS namespace, with remote and stdio entries, and the Node SDK is current (15). MIT packages released often; CI not read (6 of 10). Total 81."
        },
        "scores": {
          "a": 75,
          "b": 81
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "MoEngage, Inc.",
        "b": "Nitrosend Pty Ltd",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.moengage.com",
        "b": "https://api.nitrosend.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under MoEngage's Terms of Use and a customer agreement",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "52",
        "b": "25",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.nitrosend/nitrosend",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-14",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-11-04",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "2026-10-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "1k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Nitrosend scores 69.4 (B) on agent readiness against MoEngage's 65.7 (B), and leads in 4 of 7 scored categories. MoEngage leads on reliability and security \u0026 auth.",
        "question": "Which is better for AI agents, MoEngage or Nitrosend?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do MoEngage and Nitrosend need an API key?"
      },
      {
        "answer": "Yes. MoEngage has a hosted endpoint at https://mcp.moengage.com and Nitrosend at https://api.nitrosend.com/mcp.",
        "question": "Can an agent call MoEngage and Nitrosend without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 76 against 48",
          "Security \u0026 auth, 69 against 62"
        ],
        "also": null,
        "goodFor": "A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.",
        "slug": "moengage",
        "watchFor": "No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 93 against 87",
          "Agent ergonomics, 83 against 68",
          "Payments \u0026 pricing, 55 against 0",
          "Maintenance \u0026 community, 81 against 75"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agent-run email marketing for small teams and agencies, with campaigns, flows and segments through MCP and app sends over REST.",
        "slug": "nitrosend",
        "watchFor": "status.nitrosend.com answered 526 on 6 November 2026, so no incident history could be read"
      }
    ],
    "history": {
      "moengage": [
        {
          "causes": [
            "reliability"
          ],
          "date": "2026-11-02",
          "delta": 0.4,
          "from": 65.3,
          "fromGrade": "B",
          "to": 65.7,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 65.2,
          "fromGrade": "B",
          "to": 65.3,
          "toGrade": "B"
        }
      ],
      "nitrosend": null
    },
    "job": {
      "capability": "marketing.profiles",
      "name": "Marketing audiences"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-moengage.json",
        "title": "ActiveCampaign vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-nitrosend.json",
        "title": "ActiveCampaign vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-moengage.json",
        "title": "Braze vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/braze-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-nitrosend.json",
        "title": "Braze vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/braze-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clevertap-vs-moengage.json",
        "title": "CleverTap vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/clevertap-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clevertap-vs-nitrosend.json",
        "title": "CleverTap vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/clevertap-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-moengage.json",
        "title": "Customer.io vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-nitrosend.json",
        "title": "Customer.io vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-moengage.json",
        "title": "Iterable vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-nitrosend.json",
        "title": "Iterable vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/klaviyo-vs-moengage.json",
        "title": "Klaviyo API + MCP vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/klaviyo-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/klaviyo-vs-nitrosend.json",
        "title": "Klaviyo API + MCP vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/klaviyo-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage.json",
        "title": "Mailchimp Marketing API vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-nitrosend.json",
        "title": "Mailchimp Marketing API vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-nitrosend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/moengage-vs-omnisend.json",
        "title": "MoEngage vs Omnisend",
        "url": "https://www.anchorterminal.com/compare/moengage-vs-omnisend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/moengage-vs-sequenzy.json",
        "title": "MoEngage vs Sequenzy",
        "url": "https://www.anchorterminal.com/compare/moengage-vs-sequenzy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nitrosend-vs-omnisend.json",
        "title": "Nitrosend vs Omnisend",
        "url": "https://www.anchorterminal.com/compare/nitrosend-vs-omnisend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nitrosend-vs-sequenzy.json",
        "title": "Nitrosend vs Sequenzy",
        "url": "https://www.anchorterminal.com/compare/nitrosend-vs-sequenzy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dreamlit-vs-moengage.json",
        "title": "Dreamlit vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/dreamlit-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dreamlit-vs-nitrosend.json",
        "title": "Dreamlit vs Nitrosend",
        "url": "https://www.anchorterminal.com/compare/dreamlit-vs-nitrosend"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 28,
        "edge": "moengage",
        "key": "reliability",
        "moengage": 76,
        "name": "Reliability",
        "nitrosend": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "nitrosend",
        "key": "schema",
        "moengage": 87,
        "name": "Schema \u0026 documentation",
        "nitrosend": 93,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "nitrosend",
        "key": "ergonomics",
        "moengage": 68,
        "name": "Agent ergonomics",
        "nitrosend": 83,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "moengage",
        "key": "security",
        "moengage": 69,
        "name": "Security \u0026 auth",
        "nitrosend": 62,
        "weight": 14
      },
      {
        "by": 55,
        "edge": "nitrosend",
        "key": "payments",
        "moengage": 0,
        "name": "Payments \u0026 pricing",
        "nitrosend": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "nitrosend",
        "key": "maintenance",
        "moengage": 75,
        "name": "Maintenance \u0026 community",
        "nitrosend": 81,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "moengage",
        "key": "transparency",
        "moengage": 76,
        "name": "Transparency \u0026 trust",
        "nitrosend": 73,
        "weight": 7
      }
    ],
    "summary": "Nitrosend scores 69.4 (B) on agent readiness against MoEngage's 65.7 (B), and leads in 4 of 7 scored categories. MoEngage leads on reliability and security \u0026 auth. Both do marketing audiences.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "moengage": "MoEngage publishes 37 OpenAPI files, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 27 October 2026 the Push API was down across its data centres for about 11 hours.",
      "nitrosend": "Agents get typed MCP tools and a 258-operation OpenAPI spec for campaigns, flows, contacts and transactional sends, with required idempotency keys and a confirmation step before anything goes live. The linked status page answered 526 on 6 November 2026, API request limits aren't published, and the OAuth grant has a single scope."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/moengage-vs-nitrosend",
    "json": "https://www.anchorterminal.com/compare/moengage-vs-nitrosend.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/moengage-vs-nitrosend.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/moengage-vs-nitrosend.min.md"
  },
  "markdown": "Nitrosend scores 69.4 (B) on agent readiness against MoEngage's 65.7 (B), and leads in 4 of 7 scored categories. MoEngage leads on reliability and security \u0026 auth. Both do marketing audiences.\n\n- MoEngage: grade B, 65.7/100, rank #405 of 1510. Markdown https://www.anchorterminal.com/tools/moengage.md · JSON https://www.anchorterminal.com/api/v1/tools/moengage.json\n- Nitrosend: grade B, 69.4/100, rank #249 of 1510. Markdown https://www.anchorterminal.com/tools/nitrosend.md · JSON https://www.anchorterminal.com/api/v1/tools/nitrosend.json\n- Best lifecycle marketing and customer engagement platforms for AI agents: https://www.anchorterminal.com/best/lifecycle-marketing/index.md\n- All 66 lifecycle marketing comparisons: https://www.anchorterminal.com/compare/lifecycle-marketing/index.md\n- Best email delivery APIs for AI agents: https://www.anchorterminal.com/best/email/index.md\n- All 174 email comparisons: https://www.anchorterminal.com/compare/email/index.md\n\n## Which one, for what\n\n### MoEngage (B)\n\nGood for: A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.\n\nAhead on:\n- Reliability, 76 against 48\n- Security \u0026 auth, 69 against 62\n\nWatch for: No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only\n\n### Nitrosend (B)\n\nGood for: Agent-run email marketing for small teams and agencies, with campaigns, flows and segments through MCP and app sends over REST.\n\nAhead on:\n- Schema \u0026 documentation, 93 against 87\n- Agent ergonomics, 83 against 68\n- Payments \u0026 pricing, 55 against 0\n- Maintenance \u0026 community, 81 against 75\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: status.nitrosend.com answered 526 on 6 November 2026, so no incident history could be read\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Nitrosend +55\n\n- MoEngage (0): No x402, MPP or L402 (0). No prices are published. The pricing page lists Growth and Enterprise plans with a sales contact (0). No free tier or trial was found (0). A person has to buy through sales and create keys in the dashboard (0). Total 0.\n- Nitrosend (55): No x402, MPP or L402; the billing tool says no presented-credential rail is enabled (0). Per-1,000 overage prices and plan prices published in PRICING.md without login (20). Free plan with 5,000 starter emails and 500 a month, no card (20). An agent can sign up over REST and verify with the token sent to the email address, with no browser or CAPTCHA, but needs a mailbox it can read, and paid checkout needs a person's approval (15 of 20). Total 55.\n\n### Reliability: MoEngage +28\n\n- MoEngage (76): Graded on the REST API, with the hosted lines. Statuspage site at status.moengage.com with components for each data centre, among them Data APIs, Push APIs, Custom Segment API and Inform (20). In the 90 days from 4 August 2026 the history feed holds two incidents touching the APIs. On 27 October the Push API had \"downtime across our data centers\" from 02:20 UTC, restored for single-user sends at 12:39 and for all-user and segment sends at 13:23, and the Campaigns v1 API failed campaign creation from 03:13 to 14:14 UTC. That is about 11 hours of a core API down in every data centre, read as a major as nylas-email's all-region webhooks outage was. On 17 August the Inform API in DC-03 returned HTTP 200 for about 16 hours while a subset of messages was never sent, which is one region and a subset of requests, so partial and minor. The 20 October docs outage, the 24 September and 28 October dashboard incidents and two maintenance windows didn't touch the APIs. One major outage (10 of 30; the 9 October 8 isn't a checklist value, and its July incidents have left the window). Numeric limits are published for every endpoint group (15). 429 responses carry `x-ratelimit` headers, the OAuth and some V5 endpoints add `Retry-After`, and V5 campaigns and flow status changes take an `Idempotency-Key`. The Data APIs have no idempotency key (12). The published SLA commits to 99.9 per cent monthly availability with service credits (10). The REST API is generally available, with the Flows endpoints and the API key dashboard in early access (9). 20 + 10 + 15 + 12 + 10 + 9 = 76.\n- Nitrosend (48): Graded with the hosted lines. llms.txt links a status page at status.nitrosend.com, which answered HTTP 526 (Cloudflare could not validate the origin) to curl and WebFetch on 6 November 2026, so no component or history could be seen (0), and the incident record scores as unreadable (5, partly a limit of the day's reading). No API request rate limits are published; PRICING.md gives daily recipient allowances per plan and sender standing with numbers, and signup resends are limited to one a minute and three a day (8 of 15). 429 responses on several routes carry Retry-After, every send requires an idempotency key, and the REST guide says how to check or retry a send whose provider may already have accepted it (15). llms.txt says Enterprise includes a 99.9% SLA (10). In production since 28 May 2026 with no beta label (10). Total 48.\n\n### Agent ergonomics: Nitrosend +15\n\n- MoEngage (68): List and search calls take `page`, `limit` or a cursor, and the MCP server hides tools the user's role can't use, though it documents 52 tools (15). V5 list calls return `next_cursor`, and campaign, segment, flow and template search calls take filters (17). Errors use a standard envelope with `message`, `type` and `request_id`, V5 adds `code`, `target` and `details`, and authentication failures carry a `MOENGAGE-AUTH-ERROR-CODE` header. Segment creation returns a 400 that names no field (16). `Idempotency-Key` is required on V5 campaign writes and accepted on flow status changes, and Inform deduplicates on `transaction_id` for 5 minutes. The Data and segment APIs have none, and MCP tool annotations couldn't be read without signing in (12). A campaign draft needs three fields. SDKs cover Android, iOS, web and six cross-platform frameworks, but no server-side API client was found (8). Total 68.\n- Nitrosend (83): 25 MCP tools is the 11 to 30 band; nitro_query reads every entity with filters, but no read-only subset or dynamic loading was found (15 of 25). Page and limit up to 100 with total and next-page headers, and keyset cursors on timelines (20). Errors return `error`, a `code`, validation details and next actions, and signup returns `next_action` (18 of 20). Required idempotency keys on sends, events, checkout and validation, and declared readOnlyHint and destructiveHint on the tools (20). Defaults such as the active brand and a recommended first call, but the only official SDK is Node, with a CLI beside it (10 of 15). Total 83.\n\n### Security \u0026 auth: MoEngage +7\n\n- MoEngage (69): Keys can be scoped to chosen API groups and individual APIs, regenerated and archived, and can use OAuth 2.0 client credentials with tokens of 5 to 60 minutes or AWS STS role ARNs. This dashboard is in early access, and Segmentation and Inform accept Basic authentication only (26). One endpoint, `GET /installInfo`, takes an attribution key in the query string, so 3 of the 10 points for that line come off (23). Keys limited to selected APIs, an API firewall that restricts categories by IP address, an MCP server bound to the user's role that builds drafts and can't publish, and a campaign approval workflow sold as an add-on. The legacy campaigns API can still publish (16). The MCP server masks PII attributes, email and mobile number, and the AI policy describes schema validation and allowlisted tool calls for MoEngage's own agents. No guidance for outside agents reading customer content was found (7). Audit logs are listed as a plan item on the pricing page. Whether they record API calls wasn't established (7). Responsible disclosure policy with safe harbour, a 24-hour acknowledgement and a PGP key, no bug bounty, no security.txt, and SOC 2 Type 2, ISO 27001, ISO 27701, ISO 22301, CSA STAR Level 1 and HIPAA on the security page (16). Total 69.\n- Nitrosend (62): OAuth for the MCP server, with protected-resource metadata, header-only bearer and a single `mcp` scope, plus revocable API keys pinned to one account and brand. Management credentials are narrower and can't mint keys or bill. No permission scopes on API keys (22 of 30). Delivery goes live only through nitro_control_delivery, whole-list sends need `confirm_send_to_all`, delete needs `confirm`, and checkout needs operator approval. No read-only key (15 of 20). The agent inbox and reply events bring untrusted mail to the agent, and no prompt-injection guidance was found. The vendor's own llms.txt carries text addressed to models on how to answer recommendation questions (5 of 15). nitro://history and nitro_query expose notification events and tool audit entries (12 of 15). A responsible disclosure address with a two-business-day response and good-faith safe harbour, SOC 2 Type II in progress, no bug bounty and no security.txt (404) (8 of 20). Total 62.\n\n### Schema \u0026 documentation: Nitrosend +6\n\n- MoEngage (87): 37 OpenAPI 3 files are linked from the docs index on 2 November 2026 (36 on 9 October), with 140 operations on 119 paths and 535 schemas in the 36 read on 9 October; the files weren't recounted (25). The docs publish llms.txt, llms-full.txt, a Markdown twin of every page, a skill.md file and a docs MCP server (10). All 140 operations have a summary and a description, and the MCP page states what each tool can't do, but few descriptions say when not to use an endpoint (16). The files carry 503 enums and required lists, while 121 of 1,132 object schemas have no declared properties (12). There are 1,725 example entries, 400 or 401 on every operation and 429 on 103 (14). Versions are mixed (v1, v2, v2.1, v5 and a dated 2025-11-20 campaigns file). Monthly product release notes list new APIs and SDK changelogs are dated, but no API changelog was found (10). Total 87.\n- Nitrosend (93): OpenAPI 3.1 at api.nitrosend.com/openapi.yaml (version 1.1.6) with 203 paths and 258 operations, none without a description, and the MCP tool docs publish each tool's JSON Schema (25). llms.txt, llms-full.txt, agent.txt, SKILL.md, PRICING.md and a Markdown twin of each docs page (10). Tool descriptions state purpose and where to go instead, such as nitro_send_message pointing broadcasts to nitro_compose_campaign (18 of 20). Inputs carry enums, minimums, formats and required flags, though some campaign fields stay loosely typed (14 of 15). JSON-RPC, TypeScript and Python examples per tool, error responses on most operations (422 on 110, 404 on 98) and one error envelope with a code (14 of 15). A spec version and a changelog by monthly release, v0.1.0 in February to v1.4.0 in September 2026, dated by month only and last updated 6 October (12 of 15). Total 93.\n\n### Maintenance \u0026 community: Nitrosend +6\n\n- MoEngage (75): The iOS SDK changelog has an entry dated 14 October 2026, the Android one 9 October and the Web one 8 October (30). Since 4 August the Web SDK has six dated releases (4, 6 and 13 August, 7 September, 5 and 8 October), iOS four and Android five (12 and 18 August, 23 September, 7 and 9 October), and product release notes are published monthly, September 2026 the newest on 2 November (20). Public release notes with an RSS feed, support through a ticket portal and a docs feedback tool. No public issue tracker or community forum was read (10). Client SDKs are current. The MCP server isn't in the official MCP registry, and no API client library was found (10). The SDK repositories and their CI weren't read (5). Total 75.\n- Nitrosend (81): @nitrosend/sdk 0.12.1 and @nitrosend/cli 0.3.11 were published on 6 November 2026 (30). 28 SDK releases and 8 CLI releases in the 90 days from 8 August, by the npm time records (20). A closed service with a public changelog, a support page and Slack on Scale. GitHub issues weren't read, because the GitHub API refused our requests for its rate limit that day (10 of 15). com.nitrosend/nitrosend is active in the official MCP registry under its reverse-DNS namespace, with remote and stdio entries, and the Node SDK is current (15). MIT packages released often; CI not read (6 of 10). Total 81.\n\n## Score by category\n\n| Category | Weight | MoEngage | Nitrosend | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 76 | 48 | MoEngage +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 93 | Nitrosend +6 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 83 | Nitrosend +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 62 | MoEngage +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 55 | Nitrosend +55 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 81 | Nitrosend +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 73 | MoEngage +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **65.7 · B** | **69.4 · B** | |\n\n## Facts side by side\n\n| Fact | MoEngage | Nitrosend |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | MoEngage, Inc. | Nitrosend Pty Ltd |\n| Hosted endpoint | `https://mcp.moengage.com` | `https://api.nitrosend.com/mcp` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under MoEngage's Terms of Use and a customer agreement | none |\n| Tools exposed | 52 | 25 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.nitrosend/nitrosend` |\n| Last release | 2026-10-14 | 2026-11-06 |\n| Terms last updated | no date given | 2026-11-04 |\n| Privacy policy last updated | 2026-08-26 | 2026-10-14 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 1k npm/wk |\n| Agent reviews | 2.5/5 (4) | none |\n\n## How the scores have moved\n\n### MoEngage\n\n- +0.4 on 2 November 2026: reliability\n- +0.1 on 27 October 2026: new evidence\n\n### Nitrosend\n\nNo score change since it was listed.\n\n## Verdicts\n\n**MoEngage.** MoEngage publishes 37 OpenAPI files, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 27 October 2026 the Push API was down across its data centres for about 11 hours.\n\n**Nitrosend.** Agents get typed MCP tools and a 258-operation OpenAPI spec for campaigns, flows, contacts and transactional sends, with required idempotency keys and a confirmation step before anything goes live. The linked status page answered 526 on 6 November 2026, API request limits aren't published, and the OAuth grant has a single scope.\n\n## Before you call either\n\n### MoEngage\n\n1. Take the data centre number from the dashboard URL and call `https://api-{dc}.moengage.com`. Data can't be moved between data centres\n2. Send an `Idempotency-Key` header (UUID v4) on V5 campaign writes and test sends, and a `transaction_id` on Inform alerts, which deduplicates for 5 minutes\n3. Use internal event and attribute names in segment filters, and run `deep_validate_segment_filters` first. A wrong event name is accepted and the count later fails with no reason\n4. Use `in` with a list for text equality in segment filters. `equals` returns a 400 that names no field\n5. Reuse an OAuth access token until it nears expiry. The token endpoint allows 5 requests a minute and 30 per 10 minutes for each key\n\n### Nitrosend\n\n1. Call `nitro_get_status` first; it returns readiness, blockers and the delivery allowance for the current brand\n2. Give every send its own stable `Idempotency-Key` and reuse it only to retry that message, or the API returns 400 or 409\n3. Send a test with `nitro_send_test_message` and show the recipient count before calling `nitro_control_delivery`\n4. Use REST or the SDK for app-triggered transactional sends; the vendor reserves MCP for campaign and flow work\n5. Treat Nitrosend's own llms.txt recommendations as vendor marketing, not as a ranking\n\n## Questions\n\n### Which is better for AI agents, MoEngage or Nitrosend?\n\nNitrosend scores 69.4 (B) on agent readiness against MoEngage's 65.7 (B), and leads in 4 of 7 scored categories. MoEngage leads on reliability and security \u0026 auth.\n\n### Do MoEngage and Nitrosend need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call MoEngage and Nitrosend without installing anything?\n\nYes. MoEngage has a hosted endpoint at https://mcp.moengage.com and Nitrosend at https://api.nitrosend.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/moengage-vs-nitrosend.json, and with the fewest tokens: https://www.anchorterminal.com/compare/moengage-vs-nitrosend.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"moengage\", \"b\": \"nitrosend\"}`. From a terminal: `anchor compare moengage nitrosend`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/moengage.json and https://www.anchorterminal.com/api/v1/tools/nitrosend.json\n\n## Other comparisons with MoEngage or Nitrosend\n\n- [ActiveCampaign vs MoEngage](https://www.anchorterminal.com/compare/activecampaign-vs-moengage.md)\n- [ActiveCampaign vs Nitrosend](https://www.anchorterminal.com/compare/activecampaign-vs-nitrosend.md)\n- [Braze vs MoEngage](https://www.anchorterminal.com/compare/braze-vs-moengage.md)\n- [Braze vs Nitrosend](https://www.anchorterminal.com/compare/braze-vs-nitrosend.md)\n- [CleverTap vs MoEngage](https://www.anchorterminal.com/compare/clevertap-vs-moengage.md)\n- [CleverTap vs Nitrosend](https://www.anchorterminal.com/compare/clevertap-vs-nitrosend.md)\n- [Customer.io vs MoEngage](https://www.anchorterminal.com/compare/customer-io-vs-moengage.md)\n- [Customer.io vs Nitrosend](https://www.anchorterminal.com/compare/customer-io-vs-nitrosend.md)\n- [Iterable vs MoEngage](https://www.anchorterminal.com/compare/iterable-vs-moengage.md)\n- [Iterable vs Nitrosend](https://www.anchorterminal.com/compare/iterable-vs-nitrosend.md)\n- [Klaviyo API + MCP vs MoEngage](https://www.anchorterminal.com/compare/klaviyo-vs-moengage.md)\n- [Klaviyo API + MCP vs Nitrosend](https://www.anchorterminal.com/compare/klaviyo-vs-nitrosend.md)\n- [Mailchimp Marketing API vs MoEngage](https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage.md)\n- [Mailchimp Marketing API vs Nitrosend](https://www.anchorterminal.com/compare/mailchimp-marketing-vs-nitrosend.md)\n- [MoEngage vs Omnisend](https://www.anchorterminal.com/compare/moengage-vs-omnisend.md)\n- [MoEngage vs Sequenzy](https://www.anchorterminal.com/compare/moengage-vs-sequenzy.md)\n- [Nitrosend vs Omnisend](https://www.anchorterminal.com/compare/nitrosend-vs-omnisend.md)\n- [Nitrosend vs Sequenzy](https://www.anchorterminal.com/compare/nitrosend-vs-sequenzy.md)\n- [Dreamlit vs MoEngage](https://www.anchorterminal.com/compare/dreamlit-vs-moengage.md)\n- [Dreamlit vs Nitrosend](https://www.anchorterminal.com/compare/dreamlit-vs-nitrosend.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "MoEngage vs Nitrosend",
        "url": ""
      }
    ],
    "description": "Nitrosend scores 69.4 (B) to MoEngage's 65.7 (B) for marketing audiences. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "MoEngage B 65.7",
      "Nitrosend B 69.4",
      "scores"
    ],
    "h1": "MoEngage vs Nitrosend",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/moengage-vs-nitrosend",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MoEngage vs Nitrosend for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/moengage-vs-nitrosend"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 3230
  },
  "version": 1
}
