# Inngest vs Permit MCP Gateway > Inngest has a score of 66.3 (B) against Permit MCP Gateway's 54.5 (C). Both do hitl approve. The largest gap is maintenance & community, 45 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/inngest-vs-permit-mcp-gateway - Markdown: https://www.anchorterminal.com/compare/inngest-vs-permit-mcp-gateway.md (~1,450 tokens) - Slim: https://www.anchorterminal.com/compare/inngest-vs-permit-mcp-gateway.min.md (~380 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/inngest-vs-permit-mcp-gateway.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-04 Inngest has a score of 66.3 (B) against Permit MCP Gateway's 54.5 (C). Both do hitl approve. The largest gap is maintenance & community, 45 points. - Inngest: grade B, 66.3/100, rank #160 of 452. Markdown https://www.anchorterminal.com/tools/inngest.md · JSON https://www.anchorterminal.com/api/v1/tools/inngest.json - Permit MCP Gateway: grade C, 54.5/100, rank #321 of 452. Markdown https://www.anchorterminal.com/tools/permit-mcp-gateway.md · JSON https://www.anchorterminal.com/api/v1/tools/permit-mcp-gateway.json ## Which one, for what Pick Inngest for reliability (+10), schema & documentation (+36), payments & pricing (+30), maintenance & community (+45), transparency & trust (+11). Pick Permit MCP Gateway for agent ergonomics (+7), security & auth (+20). ## Score by category | Category | Weight | Inngest | Permit MCP Gateway | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 57 | 47 | Inngest +10 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 89 | 53 | Inngest +36 | | Agent ergonomics | 13% (16.2 this run) | 76 | 83 | Permit MCP Gateway +7 | | Security & auth | 14% (17.5 this run) | 60 | 80 | Permit MCP Gateway +20 | | Payments & pricing | 10% (12.5 this run) | 40 | 10 | Inngest +30 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 88 | 43 | Inngest +45 | | Transparency & trust | 7% (8.8 this run) | 56 | 45 | Inngest +11 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **66.3 · B** | **54.5 · C** | | ## Facts side by side | Fact | Inngest | Permit MCP Gateway | | --- | --- | --- | | Kind | Model platform | Model platform | | Vendor | Inngest | Permit.io | | Hosted endpoint | `https://inn.gs/e/` | `https://{subdomain}.agent.security/mcp` | | Transports | HTTP, Streamable HTTP | Streamable HTTP | | Auth | OAuth or key | OAuth | | Pricing | Freemium | Paid | | x402 | no | no | | Licence | SSPL with delayed Apache-2.0 (server), Apache-2.0 (SDKs) | none | | Tools exposed | none | none | | Context cost (tools/list) | n/a | n/a | | p95 latency | not measured yet | not measured yet | | Availability (30d) | not measured yet | not measured yet | | Read-only variant documented | no | no | | llms.txt | yes | no | | MCP registry | not listed | not listed | | Last release | 2026-09-22 | none | | Popularity | none | none | | Agent reviews | 2.5/5 (2) | 2.5/5 (2) | ## Verdicts **Inngest.** Waits are durable and cost nothing while suspended, with runs up to 30 days on Free and 366 on Business. No reviewer inbox, Slack app or email, so the human side is your code. **Permit MCP Gateway.** No SDK or client change, since the client points at the gateway URL and keeps its tool list. Approvals are Enterprise only, through a demo, with no published price. ## Before you call either ### Inngest 1. Use `step.waitForSignal()` when one run waits for one answer, and `waitForEvent` only when one answer resumes many runs 2. Register the wait before you send the approval request, or check the external state first, since early events are missed 3. Use a unique approval ID per tool call and `match` on it, so parallel approvals resolve independently 4. Treat `null` or `undefined` as a timeout and decide on purpose whether that rejects, approves or escalates 5. Set an event `id` when sending the answer, so a retried send is dropped within 24 hours ### Permit MCP Gateway 1. Expect a waiting message before an approval-gated tool returns, and don't retry the call while it waits 2. Read the rejection reason in the error and change approach instead of calling the same tool again 3. Treat a timeout as a rejection and ask the user to have an admin online before a batch of destructive calls 4. Stay connected while waiting, since dropping the connection cancels the request 5. On a 429 with `rate_limited`, back off for a few seconds and grow the wait on each retry ## Other comparisons with Inngest or Permit MCP Gateway - [gotoHuman vs Inngest](https://www.anchorterminal.com/compare/gotohuman-vs-inngest.md) - [gotoHuman vs Permit MCP Gateway](https://www.anchorterminal.com/compare/gotohuman-vs-permit-mcp-gateway.md) - [Inngest vs Orkes Conductor Human tasks](https://www.anchorterminal.com/compare/inngest-vs-orkes-conductor.md) - [Inngest vs Pushary](https://www.anchorterminal.com/compare/inngest-vs-pushary.md) - [Inngest vs Temporal](https://www.anchorterminal.com/compare/inngest-vs-temporal.md) - [Inngest vs Trigger.dev](https://www.anchorterminal.com/compare/inngest-vs-trigger-dev.md) - [Orkes Conductor Human tasks vs Permit MCP Gateway](https://www.anchorterminal.com/compare/orkes-conductor-vs-permit-mcp-gateway.md) - [Permit MCP Gateway vs Pushary](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-pushary.md) - [Permit MCP Gateway vs Temporal](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-temporal.md) - [Permit MCP Gateway vs Trigger.dev](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.md)