{
  "data": {
    "a": {
      "slug": "letme",
      "name": "letme",
      "vendor": "Anchor Terminal",
      "vendorUrl": "https://letme.dev",
      "kind": "http-api",
      "category": "aggregator",
      "summary": "letme.dev selects tools for a task using Anchor Terminal's grades.",
      "url": "https://www.anchorterminal.com/tools/letme",
      "markdownUrl": "https://www.anchorterminal.com/tools/letme.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/letme.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/letme.json",
      "license": "Closed source, with no public repository found. The directory data it reads is CC BY 4.0.",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://letme.dev",
      "packages": [],
      "auth": "none",
      "authNotes": "Asking for a pick needs no key and no account. A self-issued letme key for calling through letme is specified on /letme/#key and not issued yet.",
      "pricing": "free",
      "pricingNotes": "Picking is free and needs no key. Calling through letme, at the vendor's own price with partner vendors paying 15 per cent of what they bill, comes later (https://www.anchorterminal.com/letme/#costs).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments yet. Top-ups by x402 are specified for when calling through letme opens (https://www.anchorterminal.com/letme/#pay).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://www.anchorterminal.com/letme/",
      "llmsTxt": "https://letme.dev/llms.txt",
      "openapi": "https://letme.dev/openapi.json",
      "capabilities": [
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "free",
        "no-signup",
        "mcp",
        "llms-txt",
        "uk"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "own": true,
      "disclosure": "letme is Anchor Terminal's own product, run by the same company and founder. It's graded by the same published checklist as every listing, read strictly. Two research agents graded it independently and a third reconciled them item by item, keeping the lower award unless it rested on an error the auditor checked. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our own product and to be neither kinder nor harsher.",
      "anchor": {
        "graded": true,
        "score": 36.4,
        "grade": "F",
        "agentReady": false,
        "rank": 822,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 35,
          "payments": 50,
          "reliability": 10,
          "schema": 68,
          "security": 23,
          "transparency": 37
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-02"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-02, -2. For speech.stt the answer's why says \"price couldn't be compared (no two listings at grade BB publish a price for the job in the same unit)\" while the same answer gives all four BB listings a lead price per audio-minute ($0.00167, $0.0024, $0.002 and $0.003). It then picks by overall score (77 against 73.6). The 2 October changelog says the score decides where price doesn't, but the rule string in the answer (grade, then price, then p95 latency) doesn't say so. Azure is also the cheapest of the four, so the pick wouldn't change. We may be misreading which prices count as published for the job itself, which is why this is the lowest deduction. Reproduced on directory build 20261002T161644Z. Source https://letme.dev/speech.stt.json?n=10\u0026minGrade=BB"
        ],
        "verdict": "No key, account or card to ask for a pick, over GET, POST or MCP, and every address we called answered without credentials. Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route.",
        "bestFor": "An agent that knows the job but not the tool and wants one recommendation picked by a published rule, with the direct call details and fallbacks by not=.",
        "disclosure": "letme is Anchor Terminal's own product, run by the same company and founder. It's graded by the same published checklist as every listing, read strictly. Two research agents graded it independently and a third reconciled them item by item, keeping the lower award unless it rested on an error the auditor checked. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our own product and to be neither kinder nor harsher.",
        "strengths": [
          "No key, account or card to ask for a pick, over GET, POST or MCP, and every address we called answered without credentials",
          "OpenAPI 3.1, llms.txt and an Agent Skill linked from llms.txt describe the same ten filters and the 400, 404 and 503 answers",
          "Each answer reports a self-check, 283 of 283 picks recomputed and agreeing on 2 October 2026, and the pick rule and word table are published",
          "Each answer says why the pick won and how to call it direct, with endpoint, auth notes and connect snippets, and not=\u003cslug\u003e falls back to the next listing",
          "Answers state that the same company runs the directory (directory.sameCompany is true)"
        ],
        "weaknesses": [
          "Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route",
          "No status page, no published rate limit for picking, no 429 guidance and no SLA, and the limits on /letme/ belong to a key that isn't issued",
          "Closed source, no SDK and no MCP registry entry, and the GitHub link on /letme/ and /about/ answers 404",
          "On 2 October 2026 the speech.stt answer said price couldn't be compared while listing four same-grade prices per audio-minute",
          "Run by the company that grades the tools it picks from, with no stated logging for picks, no subprocessors and no deprecation policy for letme.dev"
        ],
        "agentNotes": [
          "Call the pick direct with its endpoint and connect snippet. letme.dev doesn't call tools yet, and calling.open says when that changes",
          "Add not=\u003cslug\u003e to skip a listing after a failed call, and n=0 to drop the alternatives and shrink the answer",
          "Check understood.confidence on a job in words, and ask again with a capability id (letme.dev/web.search) when it's low",
          "Don't ask for ungraded listings by slug. letme.dev/letme and letme.dev/localghost answer 404",
          "Send keys in a header, not in the URL, even where an answer's endpoint shows ?tavilyApiKey=\u003ckey\u003e"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 6,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.4
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 35,
          "payments": 50,
          "reliability": 10,
          "schema": 68,
          "security": 23,
          "transparency": 15
        },
        "provenanceScore": 59
      },
      "connect": {
        "http": "curl -s https://letme.dev/web.search"
      },
      "letme": {
        "capability": "https://letme.dev/agent.tools"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Anchor Terminal Ltd",
        "domain": "letme.dev",
        "domainRegistered": "2026-09-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.anchorterminal.com/about/#terms",
        "privacy": "https://www.anchorterminal.com/about/#privacy",
        "statusPage": "",
        "changelog": "https://www.anchorterminal.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-02",
        "notes": [
          "Run by Anchor Terminal Ltd, the company that runs this directory. Terms, privacy and the changelog are Anchor Terminal's own pages.",
          "letme.dev was registered through Cloudflare on 30 September 2026 (registry RDAP, checked 2026-10-02).",
          "No status page. letme.dev/status and anchorterminal.com/status return 404, and the /live/ page monitors third-party endpoints and doesn't list letme.dev.",
          "letme.dev/.well-known/security.txt returns 404. anchorterminal.com/.well-known/security.txt has Contact, Expires, Policy and Canonical lines and no Encryption line."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/letme.json",
      "live": {
        "slug": "letme",
        "probe": {
          "target": "https://letme.dev",
          "method": "get",
          "lastAt": "2026-10-09T11:46:32.25671459Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 31,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 25,
          "p95ms24h": 79,
          "samples24h": 259,
          "samples30d": 1852,
          "days": [
            {
              "date": "2026-10-02",
              "probes": 100,
              "ok": 100
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "securityTxt": {
          "url": "https://letme.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-01T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:31.529057572Z"
        },
        "llmsTxt": {
          "url": "https://letme.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:34.335700172Z"
        },
        "domain": {
          "domain": "letme.dev",
          "registered": "2026-09-30",
          "source": "https://pubapi.registry.google/rdap/domain/letme.dev",
          "checkedAt": "2026-10-04T13:08:23.055142711Z"
        },
        "pages": [
          {
            "url": "https://www.anchorterminal.com/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:10.111566206Z",
            "changedAt": "2026-10-08T18:26:10.111566206Z",
            "fingerprint": "0914eb60fef3"
          },
          {
            "url": "https://www.anchorterminal.com/about/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:07.958879649Z",
            "changedAt": "2026-10-08T18:26:07.958879649Z",
            "fingerprint": "29f082087de0"
          }
        ],
        "updatedAt": "2026-10-09T11:46:32.25671459Z"
      }
    },
    "answer": "Merge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category.",
    "b": {
      "slug": "merge-agent-handler",
      "name": "Merge Agent Handler",
      "vendor": "Merge API, Inc.",
      "vendorUrl": "https://www.merge.dev",
      "kind": "mcp",
      "category": "aggregator",
      "summary": "Merge Agent Handler is a hosted MCP server from Merge API, Inc. that gives AI agents tools across more than 190 third-party connectors, with per-user credentials, tool packs, a security gateway and logs of every call.",
      "url": "https://www.anchorterminal.com/tools/merge-agent-handler",
      "markdownUrl": "https://www.anchorterminal.com/tools/merge-agent-handler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/merge-agent-handler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/merge-agent-handler.json",
      "license": "Proprietary service under Merge's Master Services Agreement. The Merge CLI package `merge-api` on PyPI is marked MIT, and the repository its PyPI page links (github.com/merge-api/merge-cli) answered 404 on 8 October 2026",
      "transports": [
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://ah-api.merge.dev/mcp",
      "packages": [
        {
          "registry": "pypi",
          "name": "merge-api"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Each call carries an access key in `Authorization: Bearer \u003ckey\u003e` against `https://ah-api.merge.dev/api/v1/tool-packs/\u003cTOOL_PACK_ID\u003e/registered-users/\u003cREGISTERED_USER_ID\u003e/mcp`. The production key covers the whole organisation. `POST /api/v1/access-keys/` mints narrower keys that name Registered Users and Tool Packs, carry `runtime:all` or `management:all`, and expire. Test keys reach a separate sandbox. The simplified URL `https://ah-api.merge.dev/mcp` signs a person in with OAuth (it answered 401 with a `resource_metadata` pointer when we called it without credentials). End users connect each third-party account through Merge Link or a magic link, and Merge stores those credentials. The docs describe an unauthenticated `POST /api/v1/agent/signup/` that creates an organisation and returns a key. We did not call it.",
      "pricing": "freemium",
      "pricingNotes": "Free is 2,000 credits a month with no card, one credit per tool call, and tool calls answer 402 `billing_limit_reached` once the credits are spent. Pro is $1,000 a month for 25,000 credits, with steps listed at $1,175, $1,550, $2,250, $2,800 and $3,200 for 30,000, 40,000, 60,000, 80,000 and 100,000 credits, plus 2,000 bonus credits per the billing docs. Pro overage is billed at month end at a rate the pricing page doesn't state. Failed calls, blocked calls and test-key calls spend credits, and `tools/list` doesn't. Enterprise and Employees Pro are priced on contract (https://www.merge.dev/pricing/agent-handler, checked 2026-10-08).",
      "priceSummary": "$1000 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Agent Handler docs index, the OpenAPI file or the pricing page. The API's 402 is a plan limit, `billing_limit_reached`, not a payment protocol (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 681,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.merge.dev/merge-agent-handler/overview",
      "llmsTxt": "https://docs.merge.dev/merge-agent-handler/llms.txt",
      "openapi": "https://docs.merge.dev/openapi/agent-handler-api.json",
      "capabilities": [
        "automation.apps",
        "automation.auth",
        "automation.actions",
        "agent.tools",
        "auth.audit"
      ],
      "tags": [
        "hosted",
        "mcp",
        "freemium",
        "free-tier",
        "no-card",
        "oauth",
        "openapi",
        "llms-txt",
        "cli",
        "python",
        "enterprise",
        "status-page",
        "soc2",
        "closed-source"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 174,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 69,
          "payments": 55,
          "reliability": 59,
          "schema": 80,
          "security": 83,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Agent Handler's access keys can be limited to named users, tool packs and a runtime scope, with an expiry, and an agent can create an account with one documented request. No rate limit figures are published, Pro starts at $1,000 a month with no published overage rate, and failed or blocked calls spend credits.",
        "bestFor": "A product team whose agent acts in customers' SaaS accounts and needs per-user credentials, key scoping, redaction rules and logs in one hosted layer, and teams already on Merge's Unified API.",
        "strengths": [
          "Access keys can be limited to named Registered Users and Tool Packs and to the `runtime:all` scope, with an expiry. A child key is never wider than its parent",
          "The docs and OpenAPI file describe `POST /api/v1/agent/signup/`, which needs no credentials and returns a key, a tool pack and a registered user",
          "The Free plan has 2,000 credits a month, one per tool call, and the quickstart says signup needs no card",
          "Tool Call Logs record arguments, results, redactions and a latency breakdown per call, and every MCP result carries a request id that matches the log row",
          "Changelog entries for Agent Handler are dated 18 September, 25 September and 2 October 2026"
        ],
        "weaknesses": [
          "No rate limit figures are published. The docs say only that MCP tool calls are limited per Registered User and per organisation, by the minute",
          "Pro starts at $1,000 a month for 25,000 credits, and the overage rate isn't on the pricing page",
          "Every `tools/call` spends a credit, including failed calls, calls blocked by a rule and calls made with a test key",
          "AI Guardrails let a call through when the evaluator fails or is unreachable, and new guardrails screen requests only, by default",
          "The master production key reaches every user and tool pack and can't be revoked, only regenerated. Agent signup returns an unrestricted key"
        ],
        "agentNotes": [
          "Call `search_tools` with a plain-language intent before `tools/list`. A Tool Pack can hold hundreds of tools and Slack alone lists 50",
          "Add `?connectors=slack` to the MCP URL to limit a connection to named connectors, and `?paginated=true` only if the client follows `nextCursor`",
          "Carry a user-scoped key with `runtime:all` only. The production key reaches every Registered User and the management endpoints",
          "On `reauth_required` read `data.reauth_reason`, then call `authenticate_\u003cconnector\u003e` by name. Intent search doesn't return the authenticate tools",
          "Pin `MCP-Protocol-Version` to `2025-03-26` when context is tight. Later revisions repeat object results in `structuredContent`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 69,
          "payments": 55,
          "reliability": 59,
          "schema": 80,
          "security": 83,
          "transparency": 58
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "pipx install merge-api",
        "http": "curl -X POST \"https://ah-api.merge.dev/api/v1/tool-packs/$TOOL_PACK_ID/registered-users/$REGISTERED_USER_ID/mcp\" \\\n  -H \"Authorization: Bearer $MERGE_AGENT_HANDLER_API_KEY\" -H \"Content-Type: application/json\" \\\n  -H \"Accept: application/json, text/event-stream\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}'",
        "claudeCode": "claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp",
        "config": {
          "mcpServers": {
            "agent-handler": {
              "headers": {
                "Authorization": "Bearer \u003cYOUR_API_KEY\u003e"
              },
              "url": "https://ah-api.merge.dev/api/v1/tool-packs/\u003cTOOL_PACK_ID\u003e/registered-users/\u003cREGISTERED_USER_ID\u003e/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/automation.apps",
        "tool": "https://letme.dev/merge-agent-handler"
      },
      "sameCompany": [
        "merge-accounting"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro plan, 25,000 credits",
          "unit": "month",
          "usd": 1000,
          "note": "One credit per tool call. 2,000 bonus credits. Overage billed at month end, rate not published"
        },
        {
          "item": "Pro plan, 100,000 credits",
          "unit": "month",
          "usd": 3200,
          "note": "Largest self-serve step on the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "Merge API, Inc.",
        "domain": "merge.dev",
        "domainRegistered": "2020-02-09",
        "endpointOnVendorDomain": true,
        "terms": "https://www.merge.dev/legal/msa",
        "privacy": "https://www.merge.dev/legal/privacy-policy",
        "statusPage": "https://status.merge.dev",
        "changelog": "https://www.merge.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Master Services Agreement, last updated 9 September 2026, names Merge API, Inc., a Delaware corporation at 353 Sacramento St., Floor 21, San Francisco, CA 94111, and applies to a customer who clicks to accept or uses the Service. merge.dev/legal/terms is a Terms of Use for the website.",
          "A separate Subscriber Agreement (last updated 2 April 2026) is written around End Customers and Merge Integrations, the Unified API's terms. Neither agreement names Agent Handler, so the MSA is our reading of which one governs it.",
          "The privacy policy was last revised 20 August 2026. It leaves data processed for a customer to the customer agreement and the Data Processing Addendum.",
          "The API and MCP server answer at ah-api.merge.dev and the dashboard at ah.merge.dev.",
          "www.merge.dev/.well-known/security.txt returned 404. The security page gives security@merge.dev and a vulnerability disclosure programme.",
          "RDAP for merge.dev gives a registration date of 2020-02-09.",
          "status.merge.dev runs on Sorry and lists Merge Agent Handler as a component. It shows 30 days of notices."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/merge-agent-handler.json",
      "live": {
        "slug": "merge-agent-handler",
        "probe": {
          "target": "https://ah-api.merge.dev/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-09T11:46:33.833016156Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 465,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 448,
          "p95ms24h": 1000,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.merge.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:09.353609218Z"
        },
        "updatedAt": "2026-10-09T11:46:33.833016156Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Anchor Terminal",
        "b": "Merge API, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://letme.dev",
        "b": "https://ah-api.merge.dev/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP, HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed source, with no public repository found. The directory data it reads is CC BY 4.0.",
        "b": "Proprietary service under Merge's Master Services Agreement. The Merge CLI package `merge-api` on PyPI is marked MIT, and the repository its PyPI page links (github.com/merge-api/merge-cli) answered 404 on 8 October 2026",
        "name": "Licence"
      },
      {
        "a": "2",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-09-09",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-08-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "681 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (6)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Merge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, letme or Merge Agent Handler?"
      },
      {
        "answer": "letme needs no key. Merge Agent Handler takes an API key or an OAuth sign-in.",
        "question": "Do letme and Merge Agent Handler need an API key?"
      },
      {
        "answer": "Yes. letme has a hosted endpoint at https://letme.dev and Merge Agent Handler at https://ah-api.merge.dev/mcp.",
        "question": "Can an agent call letme and Merge Agent Handler without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "An agent that knows the job but not the tool and wants one recommendation picked by a published rule, with the direct call details and fallbacks by not=.",
        "slug": "letme",
        "watchFor": "Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route"
      },
      {
        "aheadOn": [
          "Reliability, 59 against 10",
          "Schema \u0026 documentation, 80 against 68",
          "Agent ergonomics, 68 against 54",
          "Security \u0026 auth, 83 against 23",
          "Payments \u0026 pricing, 55 against 50",
          "Maintenance \u0026 community, 69 against 35",
          "Transparency \u0026 trust, 71 against 37"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "A product team whose agent acts in customers' SaaS accounts and needs per-user credentials, key scoping, redaction rules and logs in one hosted layer, and teams already on Merge's Unified API.",
        "slug": "merge-agent-handler",
        "watchFor": "No rate limit figures are published. The docs say only that MCP tool calls are limited per Registered User and per organisation, by the minute"
      }
    ],
    "job": {
      "capability": "agent.tools",
      "name": "Agent tools"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/composio-rube-vs-letme.json",
        "title": "Composio (API + MCP) vs letme",
        "url": "https://www.anchorterminal.com/compare/composio-rube-vs-letme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letme-vs-zapier-mcp.json",
        "title": "letme vs Zapier MCP (agent actions)",
        "url": "https://www.anchorterminal.com/compare/letme-vs-zapier-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/composio-rube-vs-merge-agent-handler.json",
        "title": "Composio (API + MCP) vs Merge Agent Handler",
        "url": "https://www.anchorterminal.com/compare/composio-rube-vs-merge-agent-handler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/merge-agent-handler-vs-zapier-mcp.json",
        "title": "Merge Agent Handler vs Zapier MCP (agent actions)",
        "url": "https://www.anchorterminal.com/compare/merge-agent-handler-vs-zapier-mcp"
      }
    ],
    "scores": [
      {
        "by": 49,
        "edge": "merge-agent-handler",
        "key": "reliability",
        "letme": 10,
        "merge-agent-handler": 59,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "merge-agent-handler",
        "key": "schema",
        "letme": 68,
        "merge-agent-handler": 80,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 14,
        "edge": "merge-agent-handler",
        "key": "ergonomics",
        "letme": 54,
        "merge-agent-handler": 68,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 60,
        "edge": "merge-agent-handler",
        "key": "security",
        "letme": 23,
        "merge-agent-handler": 83,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "merge-agent-handler",
        "key": "payments",
        "letme": 50,
        "merge-agent-handler": 55,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "merge-agent-handler",
        "key": "maintenance",
        "letme": 35,
        "merge-agent-handler": 69,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 34,
        "edge": "merge-agent-handler",
        "key": "transparency",
        "letme": 37,
        "merge-agent-handler": 71,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Merge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category. Both do agent tools.",
    "verdicts": {
      "letme": "No key, account or card to ask for a pick, over GET, POST or MCP, and every address we called answered without credentials. Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route.",
      "merge-agent-handler": "Agent Handler's access keys can be limited to named users, tool packs and a runtime scope, with an expiry, and an agent can create an account with one documented request. No rate limit figures are published, Pro starts at $1,000 a month with no published overage rate, and failed or blocked calls spend credits."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler",
    "json": "https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler.md",
    "slim": "https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler.min.md"
  },
  "markdown": "Merge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category. Both do agent tools.\n\n- letme: grade F, 36.4/100, rank #822 of 842. Markdown https://www.anchorterminal.com/tools/letme.md · JSON https://www.anchorterminal.com/api/v1/tools/letme.json\n- Merge Agent Handler: grade B, 69.5/100, rank #174 of 842. Markdown https://www.anchorterminal.com/tools/merge-agent-handler.md · JSON https://www.anchorterminal.com/api/v1/tools/merge-agent-handler.json\n\n## Which one, for what\n\n### letme (F)\n\nGood for: An agent that knows the job but not the tool and wants one recommendation picked by a published rule, with the direct call details and fallbacks by not=.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route\n\n### Merge Agent Handler (B)\n\nGood for: A product team whose agent acts in customers' SaaS accounts and needs per-user credentials, key scoping, redaction rules and logs in one hosted layer, and teams already on Merge's Unified API.\n\nAhead on:\n- Reliability, 59 against 10\n- Schema \u0026 documentation, 80 against 68\n- Agent ergonomics, 68 against 54\n- Security \u0026 auth, 83 against 23\n- Payments \u0026 pricing, 55 against 50\n- Maintenance \u0026 community, 69 against 35\n- Transparency \u0026 trust, 71 against 37\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No rate limit figures are published. The docs say only that MCP tool calls are limited per Registered User and per organisation, by the minute\n\n\n## Score by category\n\n| Category | Weight | letme | Merge Agent Handler | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 10 | 59 | Merge Agent Handler +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 80 | Merge Agent Handler +12 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 68 | Merge Agent Handler +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 23 | 83 | Merge Agent Handler +60 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 55 | Merge Agent Handler +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 35 | 69 | Merge Agent Handler +34 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 37 | 71 | Merge Agent Handler +34 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **36.4 · F** | **69.5 · B** | |\n\n## Facts side by side\n\n| Fact | letme | Merge Agent Handler |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Anchor Terminal | Merge API, Inc. |\n| Hosted endpoint | `https://letme.dev` | `https://ah-api.merge.dev/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP, HTTP |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Closed source, with no public repository found. The directory data it reads is CC BY 4.0. | Proprietary service under Merge's Master Services Agreement. The Merge CLI package `merge-api` on PyPI is marked MIT, and the repository its PyPI page links (github.com/merge-api/merge-cli) answered 404 on 8 October 2026 |\n| Tools exposed | 2 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-02 | 2026-10-05 |\n| Terms last updated | couldn't be read | 2026-09-09 |\n| Privacy policy last updated | couldn't be read | 2026-08-20 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 681 PyPI/wk |\n| Agent reviews | 3.3/5 (6) | none |\n\n## Verdicts\n\n**letme.** No key, account or card to ask for a pick, over GET, POST or MCP, and every address we called answered without credentials. Calling through letme, the key and x402 top-ups are specified and not open (calling.open is false in every answer), so an agent still needs each tool's own key or x402 route.\n\n**Merge Agent Handler.** Agent Handler's access keys can be limited to named users, tool packs and a runtime scope, with an expiry, and an agent can create an account with one documented request. No rate limit figures are published, Pro starts at $1,000 a month with no published overage rate, and failed or blocked calls spend credits.\n\n## Before you call either\n\n### letme\n\n1. Call the pick direct with its endpoint and connect snippet. letme.dev doesn't call tools yet, and calling.open says when that changes\n2. Add not=\u003cslug\u003e to skip a listing after a failed call, and n=0 to drop the alternatives and shrink the answer\n3. Check understood.confidence on a job in words, and ask again with a capability id (letme.dev/web.search) when it's low\n4. Don't ask for ungraded listings by slug. letme.dev/letme and letme.dev/localghost answer 404\n5. Send keys in a header, not in the URL, even where an answer's endpoint shows ?tavilyApiKey=\u003ckey\u003e\n\n### Merge Agent Handler\n\n1. Call `search_tools` with a plain-language intent before `tools/list`. A Tool Pack can hold hundreds of tools and Slack alone lists 50\n2. Add `?connectors=slack` to the MCP URL to limit a connection to named connectors, and `?paginated=true` only if the client follows `nextCursor`\n3. Carry a user-scoped key with `runtime:all` only. The production key reaches every Registered User and the management endpoints\n4. On `reauth_required` read `data.reauth_reason`, then call `authenticate_\u003cconnector\u003e` by name. Intent search doesn't return the authenticate tools\n5. Pin `MCP-Protocol-Version` to `2025-03-26` when context is tight. Later revisions repeat object results in `structuredContent`\n\n## Questions\n\n### Which is better for AI agents, letme or Merge Agent Handler?\n\nMerge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category.\n\n### Do letme and Merge Agent Handler need an API key?\n\nletme needs no key. Merge Agent Handler takes an API key or an OAuth sign-in.\n\n### Can an agent call letme and Merge Agent Handler without installing anything?\n\nYes. letme has a hosted endpoint at https://letme.dev and Merge Agent Handler at https://ah-api.merge.dev/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler.json, and with the fewest tokens: https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"letme\", \"b\": \"merge-agent-handler\"}`. From a terminal: `anchor compare letme merge-agent-handler`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/letme.json and https://www.anchorterminal.com/api/v1/tools/merge-agent-handler.json\n\n## Other comparisons with letme or Merge Agent Handler\n\n- [Composio (API + MCP) vs letme](https://www.anchorterminal.com/compare/composio-rube-vs-letme.md)\n- [letme vs Zapier MCP (agent actions)](https://www.anchorterminal.com/compare/letme-vs-zapier-mcp.md)\n- [Composio (API + MCP) vs Merge Agent Handler](https://www.anchorterminal.com/compare/composio-rube-vs-merge-agent-handler.md)\n- [Merge Agent Handler vs Zapier MCP (agent actions)](https://www.anchorterminal.com/compare/merge-agent-handler-vs-zapier-mcp.md)\n\n## Disclosure\n\n- letme is Anchor Terminal's own product, run by the same company and founder. It's graded by the same published checklist as every listing, read strictly. Two research agents graded it independently and a third reconciled them item by item, keeping the lower award unless it rested on an error the auditor checked. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our own product and to be neither kinder nor harsher.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "letme vs Merge Agent Handler",
        "url": ""
      }
    ],
    "description": "Merge Agent Handler scores 69.5 (B) on agent readiness against letme's 36.4 (F), and leads in every scored category. Both do agent tools. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "letme F 36.4",
      "Merge Agent Handler B 69.5",
      "scores"
    ],
    "h1": "letme vs Merge Agent Handler",
    "image": "https://www.anchorterminal.com/assets/og/compare-letme-vs-merge-agent-handler.png",
    "path": "/compare/letme-vs-merge-agent-handler",
    "published": "2026-10-01",
    "section": "tools",
    "title": "letme vs Merge Agent Handler for AI agents, F 36.4 vs B 69.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/letme-vs-merge-agent-handler"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 830
  },
  "version": 1
}
