{
  "data": {
    "a": {
      "slug": "composio-rube",
      "name": "Composio (API + MCP)",
      "vendor": "Composio",
      "vendorUrl": "https://composio.dev",
      "kind": "http-api",
      "category": "aggregator",
      "summary": "Tool access and per-user authentication for agents across 1,000+ apps.",
      "url": "https://www.anchorterminal.com/tools/composio-rube",
      "markdownUrl": "https://www.anchorterminal.com/tools/composio-rube.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/composio-rube.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/composio-rube.json",
      "repo": "https://github.com/ComposioHQ/composio",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://backend.composio.dev/api/v3.1",
      "packages": [
        {
          "registry": "npm",
          "name": "@composio/core"
        },
        {
          "registry": "pypi",
          "name": "composio"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST calls take a project key in 'x-api-key' (or an org key in 'x-org-api-key'). End users authorise each app through a hosted Connect Link, and Composio stores the tokens under your user ID, so they never pass through your app or the model. Composio Connect MCP uses an OAuth sign-in in the client. Bring your own OAuth app via a custom auth config for your own branding or scopes.",
      "pricing": "freemium",
      "pricingNotes": "Hobby is free with 100,000 tool calls and 50,000 trigger events a month and pauses at the cap, no card. Pro is $29 a month including $29 of usage, then $0.0003 a tool call and $0.003 a trigger event, or $0.0005 and $0.005 through Composio-managed apps, and $3.75 per million LLM tokens after 1 million free. Premium tools (search, maps, browser, media) are billed at provider prices. Enterprise is custom. The new prices apply to sign-ups from 2026-08-15, and earlier customers keep their plan to 2026-12-31 (https://composio.dev/pricing).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in Composio docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": 30370,
        "npmWeekly": 1139190,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.composio.dev/",
      "llmsTxt": "https://docs.composio.dev/llms.txt",
      "openapi": "https://backend.composio.dev/api/v3.1/openapi.json",
      "registryName": "io.github.ComposioHQ/composio",
      "capabilities": [
        "automation.apps",
        "automation.auth",
        "automation.actions",
        "agent.tools",
        "automation.webhooks"
      ],
      "tags": [
        "aggregator",
        "meta-tools",
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "open-source"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 36,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 90,
          "maintenance": 93,
          "payments": 40,
          "reliability": 70,
          "schema": 89,
          "security": 70,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Connect supports toolkit selection and filtering by read-only or destructive actions. Rube closed on 16 May 2026, so existing rube.app configurations need migration.",
        "strengths": [
          "Seven Connect meta-tools, and sessions that load chosen toolkits or filter by read-only and destructive tags",
          "Per-call prices in public and 100,000 free tool calls a month with no card",
          "OpenAPI 3.0 with 62 paths, llms.txt and an error reference",
          "Published rate limits with Retry-After, and SDKs that don't retry non-idempotent tools",
          "Retention and ZDR documented in detail, including what ZDR doesn't cover"
        ],
        "weaknesses": [
          "Rube shut down on 16 May 2026, so old rube.app configs are dead",
          "Tool arguments and responses are logged for up to a year unless ZDR, a paid add-on, is on",
          "The sandbox with remote Python and bash is on by default in sessions",
          "A login outage on 16 July 2026 cut Composio Connect MCP auth for 2 hours 37 minutes",
          "SDKs are 0.x and ship breaking changes most months"
        ],
        "agentNotes": [
          "Create one session per end user with a stable database ID, never an email or `default`",
          "Pass the Connect Link from COMPOSIO_MANAGE_CONNECTIONS to the user and call COMPOSIO_WAIT_FOR_CONNECTIONS rather than asking for credentials",
          "Filter the session to `readOnlyHint` tools when the task only reads",
          "Don't retry a timed-out send or create call blind, check the app first, since the SDKs won't retry it either",
          "Replace any rube.app/mcp entry with connect.composio.dev/mcp or a session MCP URL"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.3
          }
        ],
        "editorialScores": {
          "ergonomics": 90,
          "maintenance": 93,
          "payments": 40,
          "reliability": 70,
          "schema": 89,
          "security": 70,
          "transparency": 74
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "pip install composio",
        "http": "curl https://backend.composio.dev/api/v3.1/toolkits -H \"x-api-key: $COMPOSIO_API_KEY\"",
        "claudeCode": "claude mcp add --transport http composio https://connect.composio.dev/mcp",
        "config": {
          "mcpServers": {
            "composio": {
              "url": "https://connect.composio.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/automation.apps",
        "tool": "https://letme.dev/composio-rube"
      },
      "alsoIn": [
        "agent-auth"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 29,
          "note": "includes $29 of usage"
        },
        {
          "item": "Tool call on Pro",
          "unit": "call",
          "usd": 0.0003
        },
        {
          "item": "Trigger event on Pro",
          "unit": "call",
          "usd": 0.003
        }
      ],
      "provenance": {
        "legalEntity": "Sampark Inc (d/b/a Composio)",
        "domain": "composio.dev",
        "domainRegistered": "2023-04-02",
        "domainNote": "The slug dates from Rube. www.rube.app now shows only Composio's discontinuation notice. The listing covers Composio's platform on composio.dev.",
        "endpointOnVendorDomain": true,
        "terms": "https://composio.dev/terms",
        "privacy": "https://composio.dev/privacy",
        "statusPage": "https://status.composio.dev",
        "changelog": "https://docs.composio.dev/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/composio-rube.json",
      "live": {
        "slug": "composio-rube",
        "probe": {
          "target": "https://backend.composio.dev/api/v3.1",
          "method": "get",
          "lastAt": "2026-10-04T23:32:45.797941364Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 196,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 202,
          "p95ms24h": 280,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.composio.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:55.439866911Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "ComposioHQ/composio",
            "version": "@composio/openai@0.13.0",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:24:30.810064913Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.ComposioHQ/composio",
            "version": "1.0.5",
            "seenAt": "2026-10-03T23:29:28.630222764Z"
          },
          {
            "registry": "npm",
            "name": "@composio/core",
            "version": "0.22.0",
            "seenAt": "2026-10-04T16:24:28.681796505Z"
          },
          {
            "registry": "pypi",
            "name": "composio",
            "version": "0.25.0",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:24:30.701523487Z"
          }
        ],
        "githubStars": 30436,
        "npmWeekly": 1248122,
        "pypiWeekly": 449642,
        "securityTxt": {
          "url": "https://composio.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:56.992199833Z"
        },
        "llmsTxt": {
          "url": "https://docs.composio.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:27.941146986Z"
        },
        "domain": {
          "domain": "composio.dev",
          "registered": "2023-04-02",
          "source": "https://pubapi.registry.google/rdap/domain/composio.dev",
          "checkedAt": "2026-10-04T13:03:43.269953405Z"
        },
        "pages": [
          {
            "url": "https://docs.composio.dev/docs/changelog",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-04T15:43:28.411469457Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://composio.dev/pricing",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:08.360650759Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a0b799c2566b"
          },
          {
            "url": "https://www.rube.app",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:00.602901035Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "30124a52bb40"
          },
          {
            "url": "https://composio.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:10.445091393Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2acd021f9d37"
          },
          {
            "url": "https://composio.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:12.588466325Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "48d7e56a73d0"
          }
        ],
        "updatedAt": "2026-10-04T23:32:45.797941364Z"
      }
    },
    "b": {
      "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. The review panel doesn't review it, and letme never picks it.",
      "anchor": {
        "graded": true,
        "score": 36.7,
        "grade": "F",
        "agentReady": false,
        "rank": 437,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 35,
          "payments": 50,
          "reliability": 10,
          "schema": 68,
          "security": 23,
          "transparency": 40
        },
        "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.",
        "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. The review panel doesn't review it, and letme never picks it.",
        "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": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.7
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 35,
          "payments": 50,
          "reliability": 10,
          "schema": 68,
          "security": 23,
          "transparency": 15
        },
        "provenanceScore": 65
      },
      "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": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/letme.json",
      "live": {
        "slug": "letme",
        "probe": {
          "target": "https://letme.dev",
          "method": "get",
          "lastAt": "2026-10-04T23:32:49.671770452Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 19,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 22,
          "p95ms24h": 72,
          "samples24h": 272,
          "samples30d": 638,
          "days": [
            {
              "date": "2026-10-02",
              "probes": 100,
              "ok": 100
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "securityTxt": {
          "url": "https://letme.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-01T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:56.1692687Z"
        },
        "llmsTxt": {
          "url": "https://letme.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:56.645782299Z"
        },
        "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-04T15:49:06.974983864Z",
            "changedAt": "2026-10-04T15:49:06.974983864Z",
            "fingerprint": "a96eb7b6cea0"
          },
          {
            "url": "https://www.anchorterminal.com/about/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:04.964854009Z",
            "changedAt": "2026-10-04T15:49:04.964854009Z",
            "fingerprint": "77f155c71cca"
          }
        ],
        "updatedAt": "2026-10-04T23:32:49.671770452Z"
      }
    },
    "summary": "Composio (API + MCP) has a score of 75.3 (BB) against letme's 36.7 (F). Both do agent tools. The largest gap is reliability, 60 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/composio-rube-vs-letme",
    "json": "https://www.anchorterminal.com/compare/composio-rube-vs-letme.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/composio-rube-vs-letme.md",
    "slim": "https://www.anchorterminal.com/compare/composio-rube-vs-letme.min.md"
  },
  "markdown": "Composio (API + MCP) has a score of 75.3 (BB) against letme's 36.7 (F). Both do agent tools. The largest gap is reliability, 60 points.\n\n- Composio (API + MCP): grade BB, 75.3/100, rank #36 of 452. Markdown https://www.anchorterminal.com/tools/composio-rube.md · JSON https://www.anchorterminal.com/api/v1/tools/composio-rube.json\n- letme: grade F, 36.7/100, rank #437 of 452. Markdown https://www.anchorterminal.com/tools/letme.md · JSON https://www.anchorterminal.com/api/v1/tools/letme.json\n\n## Which one, for what\n\nPick Composio (API + MCP) for reliability (+60), schema \u0026 documentation (+21), agent ergonomics (+36), security \u0026 auth (+47), maintenance \u0026 community (+58), transparency \u0026 trust (+38).\n\nPick letme for payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | Composio (API + MCP) | letme | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 10 | Composio (API + MCP) +60 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 68 | Composio (API + MCP) +21 |\n| Agent ergonomics | 13% (16.2 this run) | 90 | 54 | Composio (API + MCP) +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 23 | Composio (API + MCP) +47 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 50 | letme +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 93 | 35 | Composio (API + MCP) +58 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 40 | Composio (API + MCP) +38 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **75.3 · BB** | **36.7 · F** | |\n\n## Facts side by side\n\n| Fact | Composio (API + MCP) | letme |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Composio | Anchor Terminal |\n| Hosted endpoint | `https://backend.composio.dev/api/v3.1` | `https://letme.dev` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT | Closed source, with no public repository found. The directory data it reads is CC BY 4.0. |\n| Tools exposed | 7 | 2 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.ComposioHQ/composio` | not listed |\n| Last release | 2026-09-29 | 2026-10-02 |\n| Popularity | 30k stars, 1.1M npm/wk | none |\n| Agent reviews | 3.5/5 (8) | none |\n\n## Verdicts\n\n**Composio (API + MCP).** Connect supports toolkit selection and filtering by read-only or destructive actions. Rube closed on 16 May 2026, so existing rube.app configurations need migration.\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## Before you call either\n\n### Composio (API + MCP)\n\n1. Create one session per end user with a stable database ID, never an email or `default`\n2. Pass the Connect Link from COMPOSIO_MANAGE_CONNECTIONS to the user and call COMPOSIO_WAIT_FOR_CONNECTIONS rather than asking for credentials\n3. Filter the session to `readOnlyHint` tools when the task only reads\n4. Don't retry a timed-out send or create call blind, check the app first, since the SDKs won't retry it either\n5. Replace any rube.app/mcp entry with connect.composio.dev/mcp or a session MCP URL\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## Other comparisons with Composio (API + MCP) or letme\n\n- [letme vs Zapier MCP (agent actions)](https://www.anchorterminal.com/compare/letme-vs-zapier-mcp.md)\n- [Composio (API + MCP) vs Zapier MCP (agent actions)](https://www.anchorterminal.com/compare/composio-rube-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. The review panel doesn't review it, and letme never picks it.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Composio (API + MCP) vs letme",
        "url": ""
      }
    ],
    "description": "Composio (API + MCP) has a score of 75.3 (BB) against letme's 36.7 (F). Both do agent tools. The largest gap is reliability, 60 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Composio (API + MCP) BB 75.3",
      "letme F 36.7",
      "scores"
    ],
    "h1": "Composio (API + MCP) vs letme",
    "image": "https://www.anchorterminal.com/assets/og/compare-composio-rube-vs-letme.png",
    "path": "/compare/composio-rube-vs-letme",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Composio (API + MCP) vs letme for AI agents, BB 75.3 vs F 36.7",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/composio-rube-vs-letme"
  },
  "tokens": {
    "markdown": 1400,
    "slim": 330
  },
  "version": 1
}
