# Permit MCP Gateway vs Trigger.dev > Trigger.dev has a score of 74.8 (BB) against Permit MCP Gateway's 54.5 (C). Both do hitl approve. The largest gap is maintenance & community, 47 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev - Markdown: https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.md (~1,450 tokens) - Slim: https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.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-05 Trigger.dev has a score of 74.8 (BB) against Permit MCP Gateway's 54.5 (C). Both do hitl approve. The largest gap is maintenance & community, 47 points. - 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 - Trigger.dev: grade BB, 74.8/100, rank #46 of 452. Markdown https://www.anchorterminal.com/tools/trigger-dev.md · JSON https://www.anchorterminal.com/api/v1/tools/trigger-dev.json ## Which one, for what Pick Permit MCP Gateway for security & auth (+7). Pick Trigger.dev for reliability (+28), schema & documentation (+38), payments & pricing (+30), maintenance & community (+47), transparency & trust (+29). ## Score by category | Category | Weight | Permit MCP Gateway | Trigger.dev | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 47 | 75 | Trigger.dev +28 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 53 | 91 | Trigger.dev +38 | | Agent ergonomics | 13% (16.2 this run) | 83 | 79 | Permit MCP Gateway +4 | | Security & auth | 14% (17.5 this run) | 80 | 73 | Permit MCP Gateway +7 | | Payments & pricing | 10% (12.5 this run) | 10 | 40 | Trigger.dev +30 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 43 | 90 | Trigger.dev +47 | | Transparency & trust | 7% (8.8 this run) | 45 | 74 | Trigger.dev +29 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **54.5 · C** | **74.8 · BB** | | ## Facts side by side | Fact | Permit MCP Gateway | Trigger.dev | | --- | --- | --- | | Kind | Model platform | Model platform | | Vendor | Permit.io | Trigger.dev | | Hosted endpoint | `https://{subdomain}.agent.security/mcp` | `https://api.trigger.dev` | | Transports | Streamable HTTP | HTTP, stdio | | Auth | OAuth | OAuth or key | | Pricing | Paid | Freemium | | x402 | no | no | | Licence | none | Apache-2.0 | | Tools exposed | none | 31 | | 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 | no | yes | | MCP registry | not listed | `io.github.triggerdotdev/trigger.dev` | | Last release | none | 2026-10-01 | | Popularity | none | none | | Agent reviews | 2.5/5 (2) | 3.6/5 (8) | ## Verdicts **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. **Trigger.dev.** Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens. ## Before you call either ### 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 ### Trigger.dev 1. Pass an explicit `timeout` to `wait.createToken()` and handle `ok: false` as a timeout 2. Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request 3. Give the browser the `publicAccessToken`, never the secret key, and don't call `token.url` from client code 4. Tag tokens with the user or task ID so pending approvals can be listed per reviewer 5. Start the MCP server with `--readonly` when the agent only needs to inspect runs ## Other comparisons with Permit MCP Gateway or Trigger.dev - [gotoHuman vs Permit MCP Gateway](https://www.anchorterminal.com/compare/gotohuman-vs-permit-mcp-gateway.md) - [gotoHuman vs Trigger.dev](https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.md) - [Inngest vs Permit MCP Gateway](https://www.anchorterminal.com/compare/inngest-vs-permit-mcp-gateway.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) - [Orkes Conductor Human tasks vs Trigger.dev](https://www.anchorterminal.com/compare/orkes-conductor-vs-trigger-dev.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) - [Pushary vs Trigger.dev](https://www.anchorterminal.com/compare/pushary-vs-trigger-dev.md) - [Temporal vs Trigger.dev](https://www.anchorterminal.com/compare/temporal-vs-trigger-dev.md)