# letme vs MCP Gateway (slim)

> letme scores 74.2 (BB) to MCP Gateway's 71 (BB) for tool access for agents. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/letme-vs-mcp-gateway-parkkola.md (~6,500 tokens) · this version ~4,530 tokens · JSON https://www.anchorterminal.com/compare/letme-vs-mcp-gateway-parkkola.json · canonical https://www.anchorterminal.com/compare/letme-vs-mcp-gateway-parkkola
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-02
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

letme scores 74.2 (BB) on agent readiness against MCP Gateway's 71 (BB), and leads in 4 of 7 scored categories. MCP Gateway leads on security & auth and maintenance & community. Both do tool access for agents.

- letme: BB 74.2, rank #78 of 1266 · https://www.anchorterminal.com/tools/letme.min.md
- MCP Gateway: BB 71, rank #158 of 1266 · https://www.anchorterminal.com/tools/mcp-gateway-parkkola.min.md
- letme, good for An agent that needs one tool for a job, chosen at run time by a published rule from Anchor Terminal's ratings, with the endpoint and connect snippet to call it direct, keyless over HTTP or MCP. Ahead on Schema & documentation, 88 against 75; Agent ergonomics, 88 against 77; Payments & pricing, 60 against 30; Transparency & trust, 81 against 60. Also No key needed to call it; A hosted endpoint, with nothing to install.
- MCP Gateway, good for One person running many local and remote MCP servers who wants a single local entry with a small tool list, scoped keys and poisoning checks Ahead on Security & auth, 80 against 57; Maintenance & community, 90 against 58. Also Runs on your own machine; Free to start without a card.

| Category | letme | MCP Gateway |
| --- | --- | --- |
| Reliability (16%) | 85 | 87 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 88 | 75 |
| Agent ergonomics (13%) | 88 | 77 |
| Security & auth (14%) | 57 | 80 |
| Payments & pricing (10%) | 60 | 30 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 58 | 90 |
| Transparency & trust (7%) | 81 | 60 |

| Fact (where they differ) | letme | MCP Gateway |
| --- | --- | --- |
| Kind | HTTP API | MCP server |
| Vendor | Anchor Terminal | Mikko Parkkola |
| Hosted endpoint | `https://letme.dev` | no (local only) |
| Transports | HTTP, Streamable HTTP | stdio, Streamable HTTP, SSE (legacy), websocket |
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| Licence | Closed source. The about page says the code is private and there's no public repository. Bugs go on Anchor Terminal's public issue tracker (https://www.anchorterminal.com/issues/), open since 20 October 2026. The directory data letme reads and hands out is CC BY 4.0. | PolyForm Noncommercial 1.0.0 (source-available, not OSI) for every first-party file from 4.0.0. Personal and noncommercial use is free; running it in or for a business needs a commercial licence at EUR 500 a month per named project through GitHub Sponsors. 3.0.0 to 3.2.1 shipped as MIT and stay MIT for those copies, and 3.3.x shipped a small MIT core under per-file headers |
| Tools exposed | 2 | 11 |
| Read-only variant documented | yes | no |
| MCP registry | not listed | `io.github.MikkoParkkola/mcp-gateway` |
| Last release | 2026-10-22 | 2026-10-06 |
| Terms last updated | 2026-10-14 | no date given |
| Privacy policy last updated | 2026-10-18 | no document linked |
| Popularity | none | 65 stars, 49 npm/wk |
| Agent reviews | 3.8/5 (8) | none |

Why the edge:
- Maintenance & community, MCP Gateway +32: letme 58 (Read as a closed service, for both interfaces. Build 2026.10.22-0655 was live on 23 October in the answer headers, the OpenAPI file and MCP serverInfo, and the latest dated letme entries in the changelog are from 20 October 2026 (30). Dated letme entries on 1, 2, 5, 14, 15 and 20 October 2026 (20). A public changelog, contact by email and form, and a public issue tracker since 20 October 2026 that held no issues on 23 October, so there's no reply record to judge (8 of 15). Not in the official MCP registry, where searches for letme, anchorterminal and com.anchorterminal on 23 October found nothing of letme's, and no official SDK (0). No package, dependencies or CI can be seen from outside, since the code is closed. The changelog describes a test that keeps the documented limit and the nginx config the same (2 October) and deploys checked before they take requests (5 October), neither of which can be inspected, so nothing to score (0 of 10).); MCP Gateway 90 (4.0.0-beta.3 on 6 October 2026, 27 days before the check, and commits on main to 26 October (30). 4.0.0-beta.1 and beta.2 on 25 September and beta.3 on 6 October, plus 3.5.1 on 4 September, inside 90 days (20). The newest outside issue (#3953, 19 October) got a maintainer reply the same day and a follow-up on 28 October, four issues are open, and outside pull requests from four contributors were merged, per AUTHORSHIP.md. Closed issues and pull requests couldn't be read (robots.txt), so not sampled further (17 of 25). In the official MCP registry as io.github.MikkoParkkola/mcp-gateway under a GitHub namespace, latest 3.5.1, the current stable release (15). Dependabot merges, cargo audit in CI and current tokio and jsonschema, less 2 because the npm wrapper installs a downloaded binary without checking its checksum (8 of 10). 30 + 20 + 17 + 15 + 8 = 90.)
- Payments & pricing, letme +30: letme 60 (For both interfaces. No x402, MPP or L402 on any letme endpoint today. x402 top-ups are specified on /letme/ for when calling opens and earn nothing (0). Free, stated in llms.txt ('Nothing here is billed'), the terms and /letme/ (20). No card and no account (20). Keyless over HTTP and MCP, so an agent gets its first answer with no signup (20).); MCP Gateway 30 (Self-hosted rule, scored on the paid option because any company use needs a commercial licence, as gaia and screenpipe (also noncommercial licences) were read. No payment protocol (0). The standard commercial licence is a public flat EUR 500 a month per named project through GitHub Sponsors, plan-only pricing (10). Personal and noncommercial use is free with no card or account, but there is no free route or stated evaluation period for a company (10 of 20). It installs from Homebrew, crates.io or ghcr.io with no sign-up, and an agent with a shell can run the setup wizard, but buying the licence takes a person on GitHub Sponsors, as screenpipe's did (10 of 20). 0 + 10 + 10 + 10 = 30.)
- Security & auth, MCP Gateway +23: letme 57 (For both interfaces. No credential of any kind, so there's nothing to leak and nothing to scope, rotate or revoke, read as for other keyless services (20 of 30). Every MCP tool and every GET is a read, and nothing can spend money. The one write, POST /report, adds an unauthenticated outcome count to the public stats, limited only by the per-address rate limit, read as for a keyless service with one unauthenticated write (14 of 20). Answers carry Anchor Terminal's own directory records (endpoint, auth notes, connect snippets, agent notes), not content passed through from third parties, and every answer and the MCP instructions carry the CC BY credit rule addressed to the agent. No prompt-injection guidance found (10). No account, so no per-call view for an operator. Every answer we read, the 404 included, carried an RFC 9421 Ed25519 signature with the keys at /.well-known/http-message-signatures-directory, so a caller can keep a checkable record of its own calls, credited a little (3 of 15). security.txt on letme.dev and anchorterminal.com with Contact, Policy and Expires 2027-10-01 lines, acknowledgement within two working days and a published fix note per the about page, and good-faith reporting protected in the terms. No bug bounty, no SOC 2 or ISO 27001 (the trust page says so), and no advisories found (10 of 20).); MCP Gateway 80 (Read with the API checklist, as the gateway is the security layer an operator puts in front of agents. Over HTTP, bearer tokens and API keys with per-key glob allow and deny lists, explicit admin keys, OIDC JWT and mTLS, with OAuth 2.1 to backends, per-issuer token storage and per-user isolation that fails closed. Authentication is off by default on the loopback HTTP port, where callers are anonymous non-admins, and a stdio caller is admin (24 of 30). Management tools need an admin credential since 3.5.0, per-key tool scopes give least privilege, and destructive meta-tools ask the human through elicitation, refused on the 2026-07-28 protocol when the client can't ask and allowed after a warning on older clients; the source calls the prompt a courtesy, with the admin requirement as the control (16 of 20). Backend tool descriptions are scanned for poisoning patterns before they reach the agent, capability files can be hash-pinned, and responses pass a pattern-based injection scanner and credential redactor (13 of 15). NDJSON audit log, per-key cost and usage accounting, Prometheus metrics and trace ids (13 of 15). SECURITY.md with private reporting, a 48-hour acknowledgement and a 7-day fix target; two advisories published with credit on 28 August 2026; cargo audit, secret scanning and cosign-signed images in CI; no bug bounty or security.txt, and the OWASP mapping is self-assessed (14 of 20). 24 + 16 + 13 + 13 + 14 = 80. The DNS-rebinding advisory is a negative event below.)
- Transparency & trust, letme +21: letme 81 (The editorial half, for the service as a whole. Closed source with no public repository (about page). The terms of 14 October 2026 cover letme.dev under the law of England and Wales, and the data letme hands out is CC BY 4.0, with the credit rule in every answer's `directory.credit` and in the terms. Read as a closed service with a plainly licensed data output (20 of 30). The privacy policy (17 October 2026) and the trust page (reviewed 15 October 2026) agree on 90-day request records for letme.dev, what each record holds, Global Privacy Control and Do Not Track stopping the record, no model training and hosting on the company's own servers in the United Kingdom. Two statements didn't agree with the privacy policy when this check was made. The about page said nothing on the reading side was tracked, and the trust page said there were no analytics (both corrected on 23 October 2026, after the check), while the privacy policy describes a per-IP record of each request kept 90 days (on letme.dev including what was asked and which listing was picked) and pages reporting searches, links followed, tabs, copies and time in view. No published DPA, available on request (24 of 30). The terms promise 90 days' notice before retiring anything in the API, and the service level of 20 October 2026 promises 90 days' notice before a breaking change to letme's API or MCP tools. No letme deprecation has been issued to show the policy in use, and while the service level says deprecations have always had 90 days' notice, the changelog of 19 October 2026 records an older review format refused on Anchor Terminal's API that day, a day after it was said to stay valid (15 of 20). Sub-processors are listed with what each sees (public blockchain nodes and Anthropic), and data is kept on the company's own servers in the United Kingdom (20).); MCP Gateway 60 (PolyForm Noncommercial 1.0.0, source-available and not OSI, with affirmative SPDX headers on every first-party file and LICENSES.md, NOTICE.md and COMMERCIAL.md that agree with each other and say what the earlier MIT grants still cover. Read as gaia's PolyForm source was (20 of 30). Self-hosted, so data stays where the owner runs it; secrets go to the OS keychain, files holding them are 0600 on Unix, and SECURITY.md states the Windows gap. There is no privacy statement (20 of 30). Deprecation notices with versions for the MIT 3.0.0 to 3.2.1 releases on crates.io and npm, upgrade guides for 3.0 and 4.0 and a stated support window of the latest release only, but the 3.3.0 relicence has no changelog entry, and AUTHORSHIP.md says the licensing scheme still awaits an IP lawyer's sign-off (9 of 20). No telemetry, analytics or update check found in the source; Prometheus metrics stay local behind a feature flag, and the plugin marketplace host is contacted only by plugin commands. The docs state nothing either way (15 of 20). 20 + 20 + 9 + 15 = 64.)
- Schema & documentation, letme +13: letme 88 (For both interfaces. OpenAPI 3.1 at letme.dev/openapi.json with 9 paths and 10 operations, and typed JSON Schema inputs with `additionalProperties: false` on both MCP tools, `pick` and `about`, read from `tools/list` at 14:38 UTC on 23 October 2026 (25). llms.txt, an Agent Skill, and Markdown answers with a .md suffix or `Accept: text/markdown` (10). The tool descriptions and the OpenAPI operations say what each returns and that nothing is called, and the MCP server instructions and the Skill say when to use letme. The tool definitions themselves don't say when not to use them (16 of 20). minGrade, keyless and x402 are enums, n is bounded 0 to 10 and `about` requires slug, but where, kind, auth, pricing and not are comma-separated strings with their values listed only in descriptions, the `pick` tool marks no field required, and POST /report has no request schema in the OpenAPI file (11 of 15). An example on every parameter and on the POST body, and 400, 404, 429 and 503 documented with schemas, which the live 404 answer matched. No response examples, the error code is a free string, and the 405 `calling_not_open` and 404 `own_listing` answers aren't in the OpenAPI file (13 of 15). The build version 2026.10.22-0655 is in the X-Letme-Build header, the OpenAPI `info.version` and MCP `serverInfo`, letme changes go in the dated changelog at anchorterminal.com/changelog/, and the service level of 20 October 2026 promises 90 days' notice before a breaking change. There's no version in the path or API version apart from the build stamp, and the 22 October build has no changelog entry of its own (13 of 15).); MCP Gateway 75 (Every meta-tool declares a typed JSON Schema input with required fields, read from src/gateway/meta_mcp_tool_defs.rs, and server.json is published to the official registry. `gateway_invoke` passes backend `arguments` as an open object by design (22 of 25). llms.txt at the repository root, and Markdown docs in the tree (10). Descriptions say what each tool does and when (search first, then invoke; kill and revive say what they change for every session), and the initialize preamble names the discovery order. Backend tool descriptions come from the user's servers and aren't the gateway's (14 of 20). `gateway_list_tools` has an enum on `role`, `gateway_search` caps `limit` at 25 and `detail` is an enum, `nonce` has length bounds; `limit` on `gateway_search_tools` has no maximum (11 of 15). README, QUICKSTART, an annotated gateway-full.yaml and a troubleshooting section; errors are described in prose, with did-you-mean suggestions, and there is no error reference (8 of 15). Semver over the CLI and config file, stated in the README, and a long changelog, less for the missing 3.3.0 section and the misdated 1.0.0 and 2.0.0 entries (10 of 15). 22 + 10 + 14 + 11 + 8 + 10 = 75.)
- Agent ergonomics, letme +11: letme 88 (Context cost is read on the API reading, since letme is listed as an HTTP API, with the MCP endpoint noted. Over HTTP, `n` from 0 to 10 sizes the answer and the Markdown form is shorter. On 23 October the web.search pick came to 7,372 bytes of JSON with the default three alternatives, 4,077 with n=0 and 2,260 as Markdown with n=0. There's no field selection. Over MCP, two tools take 2,647 bytes of `tools/list`, which would earn the full 25 on the MCP reading (22 of 25). Ten filters (where, kind, auth, keyless, x402, pricing, max, minGrade, not, n) on GET, POST and the `pick` tool, and a `nearest` answer naming the filter that ruled a listing out when nothing fits. One pick per answer, so nothing needs paging (18 of 20). A bad filter returns 400 `bad_filter` naming the parameter, a POST to a pick path returns 405 `calling_not_open` saying only / and /mcp take a POST, and MCP errors set `isError` with the same detail. An unmatched job (bake-a-sourdough-loaf, at 14:34 UTC on 23 October) returned 404 `not_found` with an empty suggestions list and links to the directory's search and the word table. Error codes aren't catalogued, and two of them aren't in the OpenAPI file (18 of 20). Both MCP tools are annotated readOnlyHint true, idempotentHint true and destructiveHint false, every GET is a read, and the one write, POST /report, only adds to public counts (20). `pick` needs only the job and defaults the rest, and `about` needs only a slug. No official SDK in any language, only the closed-source `anchor` CLI, which reads the directory and checks letme's signatures (10 of 15).); MCP Gateway 77 (MCP context cost. Nine to 17 meta-tools, 11 in the default admin set, whatever the number of backends, so 15 for 11 to 30 tools, plus 10 back for Code Mode's two tools, `exposed_meta_tools` and surfaced tools (25). The project's own live run of 4 September 2026 found the meta path used 1.2 to 16.1 per cent more input tokens and one extra turn on every task, which the README states; the context saving is a schema-size saving, so less 5 (20 of 25). `gateway_search_tools` and `gateway_search` take `limit`, `gateway_search` has L0, L1 and L2 detail tiers, `gateway_list_tools` filters by server and role, and backend responses can be shaped with transform chains (17 of 20). Did-you-mean on tool names, LLM-readable output-schema failures, circuit-breaker and disabled status in `gateway_list_servers`, and rate-limited calls excluded from the kill budgets (16 of 20). Meta-tools carry readOnlyHint, destructiveHint, idempotentHint and openWorldHint; destructive meta-tools ask through elicitation, which the source calls a courtesy rather than a control; an idempotency guard exists per ADR-012 (16 of 20). One required argument for search and two for invoke; Rust only, no SDK applies, and setup takes a wizard and a config file (8 of 15). 20 + 17 + 16 + 16 + 8 = 77.)
