{
  "data": {
    "category": {
      "area": "frameworks",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "description": "Libraries that run the agent loop. Tool calling, MCP, multi-agent hand-offs, durable state, human approval and tracing. Compared on what they do by default, including the telemetry they send.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flurryport-webhooks-and-rooms.json",
          "kind": "mcp",
          "name": "FlurryPORT",
          "slug": "flurryport-webhooks-and-rooms",
          "url": "https://www.anchorterminal.com/tools/flurryport-webhooks-and-rooms"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemot.json",
          "kind": "mcp",
          "name": "Gemot Deliberation Server",
          "slug": "gemot",
          "url": "https://www.anchorterminal.com/tools/gemot"
        }
      ],
      "indexedCount": 2,
      "json": "https://www.anchorterminal.com/categories/frameworks.json",
      "name": "Agent frameworks \u0026 SDKs",
      "slug": "frameworks",
      "test": "",
      "title": "Agent frameworks and SDKs",
      "toolCount": 6,
      "tools": [
        "openai-agents-sdk",
        "pydantic-ai",
        "google-adk",
        "claude-agent-sdk",
        "langgraph",
        "crewai"
      ],
      "url": "https://www.anchorterminal.com/categories/frameworks"
    },
    "tools": [
      {
        "slug": "openai-agents-sdk",
        "name": "OpenAI Agents SDK",
        "vendor": "OpenAI",
        "vendorUrl": "https://openai.com",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Multi-agent framework built on agents, hand-offs and guardrails, with sessions, tracing and human approval.",
        "url": "https://www.anchorterminal.com/tools/openai-agents-sdk",
        "markdownUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json",
        "repo": "https://github.com/openai/openai-agents-python",
        "license": "MIT",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "openai-agents"
          },
          {
            "registry": "npm",
            "name": "@openai/agents"
          }
        ],
        "auth": "api-key",
        "authNotes": "OpenAI key by default. Other providers through LiteLLM or any-llm.",
        "pricing": "free",
        "pricingNotes": "Free and open source. You pay for the model calls it makes.",
        "priceSummary": "Free · OSS",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 29709,
          "npmWeekly": 1291899,
          "pypiWeekly": 3018052,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://openai.github.io/openai-agents-python/",
        "llmsTxt": "https://openai.github.io/openai-agents-python/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.durable",
          "agent.mcp-client"
        ],
        "tags": [
          "official",
          "framework",
          "python",
          "typescript",
          "open-source",
          "telemetry-default-on"
        ],
        "lastRelease": "2026-09-17",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 86.5,
          "grade": "AA",
          "agentReady": true,
          "rank": 1,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 97,
            "maintenance": 100,
            "payments": 60,
            "reliability": 85,
            "schema": 95,
            "security": 80,
            "transparency": 92
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "high",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "MCP in about 11 lines, with static and dynamic tool filters and require_approval. Tracing on by default, with model and tool content, sent to OpenAI.",
          "strengths": [
            "MCP in about 11 lines, with static and dynamic tool filters and require_approval",
            "Input and output guardrails, built-in human approval and sandbox agents",
            "Typed exceptions plus error_handlers, and RunState to resume a paused run",
            "8 open issues and 3 open pull requests on 2026-10-01",
            "A written 0.Y.Z versioning policy with breaking changes listed per minor"
          ],
          "weaknesses": [
            "Tracing on by default, with model and tool content, sent to OpenAI",
            "Tracing isn't available to zero-data-retention organisations",
            "Breaking changes in each minor release while pre-1.0",
            "0.20.0 changed the default model"
          ],
          "agentNotes": [
            "Set OPENAI_AGENTS_DISABLE_TRACING=1, or OPENAI_AGENTS_TRACE_INCLUDE_SENSITIVE_DATA=0 to keep content out of traces",
            "Pin to a minor version. Each 0.Y can break",
            "Set require_approval on MCP servers that write",
            "Name the model explicitly. The default changed in 0.20.0",
            "Use an error handler for max_turns instead of catching MaxTurnsExceeded"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 3.9,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "high",
              "grade": "AA",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 86.5
            }
          ],
          "editorialScores": {
            "ergonomics": 97,
            "maintenance": 100,
            "payments": 60,
            "reliability": 85,
            "schema": 95,
            "security": 80,
            "transparency": 84
          },
          "provenanceScore": 100
        },
        "connect": {
          "install": "pip install openai-agents   # or: npm i @openai/agents"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/openai-agents-sdk"
        },
        "sameCompany": [
          "openai-api",
          "openai-embeddings",
          "openai-moderation",
          "openai-image-api",
          "openai-sora",
          "openai-codex"
        ],
        "area": "frameworks",
        "provenance": {
          "legalEntity": "OpenAI OpCo, LLC",
          "domain": "openai.com",
          "domainRegistered": "2007-01-19",
          "endpointOnVendorDomain": null,
          "terms": "https://openai.com/policies/services-agreement/",
          "privacy": "https://openai.com/policies/privacy-policy/",
          "statusPage": "https://status.openai.com",
          "changelog": "https://openai.github.io/openai-agents-python/release/",
          "securityTxt": "valid",
          "checked": "2026-09-26",
          "score": 100
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-agents-sdk.json",
        "live": {
          "slug": "openai-agents-sdk",
          "vendorStatus": {
            "page": "https://status.openai.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:11:25.998464873Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "openai/openai-agents-python",
              "version": "v0.23.1",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:35:19.634240353Z"
            },
            {
              "registry": "npm",
              "name": "@openai/agents",
              "version": "0.18.0",
              "seenAt": "2026-10-04T16:35:19.165210863Z"
            },
            {
              "registry": "pypi",
              "name": "openai-agents",
              "version": "0.23.1",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:35:19.052384941Z"
            }
          ],
          "githubStars": 29831,
          "npmWeekly": 2444016,
          "pypiWeekly": 3020685,
          "securityTxt": {
            "url": "https://openai.com/.well-known/security.txt",
            "state": "valid",
            "checkedAt": "2026-10-04T15:15:58.86463118Z"
          },
          "llmsTxt": {
            "url": "https://openai.github.io/openai-agents-python/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:04.128684515Z"
          },
          "domain": {
            "domain": "openai.com",
            "registered": "2007-01-19",
            "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
            "checkedAt": "2026-10-04T13:05:02.32020521Z"
          },
          "pages": [
            {
              "url": "https://openai.github.io/openai-agents-python/release/",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:46:25.613837519Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "7523bd6f3514"
            },
            {
              "url": "https://openai.com/policies/privacy-policy/",
              "kind": "privacy",
              "status": 403,
              "checkedAt": "2026-10-04T15:46:22.441801571Z",
              "changedAt": "2026-10-02T15:22:38.858492571Z",
              "fingerprint": "1313fe838818"
            },
            {
              "url": "https://openai.com/policies/services-agreement/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:46:24.458479472Z",
              "changedAt": "2026-10-04T15:46:24.458479472Z",
              "fingerprint": "46a4b30744ca"
            }
          ],
          "updatedAt": "2026-10-05T00:11:25.998464873Z"
        }
      },
      {
        "slug": "pydantic-ai",
        "name": "Pydantic AI",
        "vendor": "Pydantic",
        "vendorUrl": "https://pydantic.dev",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Typed Python agent framework for 25+ model providers, with MCP, A2A and durable execution.",
        "url": "https://www.anchorterminal.com/tools/pydantic-ai",
        "markdownUrl": "https://www.anchorterminal.com/tools/pydantic-ai.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pydantic-ai.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pydantic-ai.json",
        "repo": "https://github.com/pydantic/pydantic-ai",
        "license": "MIT",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "pydantic-ai"
          }
        ],
        "auth": "none",
        "authNotes": "A library. Credentials are for the models and tools you use.",
        "pricing": "free",
        "pricingNotes": "Free and open source. You pay for the model calls it makes. Logfire for tracing is free for personal use, $49 a month for teams.",
        "priceSummary": "Free · OSS",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 20192,
          "npmWeekly": null,
          "pypiWeekly": 1276452,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://pydantic.dev/docs/ai/overview/",
        "llmsTxt": "https://pydantic.dev/docs/ai/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.durable",
          "agent.mcp-client"
        ],
        "tags": [
          "framework",
          "python",
          "open-source",
          "typed",
          "no-telemetry"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 80,
          "grade": "A",
          "agentReady": true,
          "rank": 7,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 2,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 85,
            "maintenance": 90,
            "payments": 60,
            "reliability": 83,
            "schema": 95,
            "security": 80,
            "transparency": 77
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -2,
          "negativeNotes": [
            "2026-02-06. Two high-severity advisories, server-side request forgery in URL download handling (GHSA-2jrp-274c-jhv3, CVE-2026-25580) and stored XSS through path traversal in the web UI's CDN URL (GHSA-wjp5-868j-wqv7). Both fixed and published, and almost eight months old, so 1 point each. Five moderate advisories from May to August 2026, two of them bypasses of its cloud-metadata blocklist, weren't deducted. https://github.com/pydantic/pydantic-ai/security"
          ],
          "verdict": "Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model. Python only.",
          "strengths": [
            "Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model",
            "No telemetry until you configure OpenTelemetry or Logfire",
            "Durable execution on Temporal, DBOS, Prefect, Restate, AWS Lambda, Kitaru and Airflow",
            "A written version policy, with deprecations kept until the next major",
            "A built-in test model that needs no API key"
          ],
          "weaknesses": [
            "Python only",
            "560 open issues and 219 open pull requests",
            "Seven advisories in 2026, including SSRF and two bypasses of its cloud-metadata blocklist",
            "No sandbox for model-written code",
            "Guardrails live in the separate Harness"
          ],
          "agentNotes": [
            "Define the output type first. Validation retries fix most malformed answers without a prompt change",
            "Start with the test model to check the wiring without a key",
            "Use streamable HTTP for MCP. SSE is deprecated",
            "Set usage limits on every run that calls paid models",
            "Stay on a current release if agents download URLs. Its cloud-metadata blocklist was bypassed twice in May 2026"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "A",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 80
            }
          ],
          "editorialScores": {
            "ergonomics": 85,
            "maintenance": 90,
            "payments": 60,
            "reliability": 83,
            "schema": 95,
            "security": 80,
            "transparency": 90
          },
          "provenanceScore": 63
        },
        "connect": {
          "install": "pip install pydantic-ai"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/pydantic-ai"
        },
        "area": "frameworks",
        "unitPrices": [
          {
            "item": "Logfire Team",
            "unit": "month",
            "usd": 49,
            "note": "tracing, personal use free"
          }
        ],
        "provenance": {
          "legalEntity": "Pydantic Services Inc.",
          "domain": "pydantic.dev",
          "domainRegistered": "2022-04-24",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "https://pydantic.dev/docs/ai/project/changelog/",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 63
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/pydantic-ai.json",
        "live": {
          "slug": "pydantic-ai",
          "versions": [
            {
              "registry": "github",
              "name": "pydantic/pydantic-ai",
              "version": "v2.54.0",
              "released": "2026-10-03",
              "seenAt": "2026-10-04T16:37:46.651114626Z"
            },
            {
              "registry": "pypi",
              "name": "pydantic-ai",
              "version": "2.54.0",
              "released": "2026-10-03",
              "seenAt": "2026-10-04T16:37:46.543619785Z"
            }
          ],
          "githubStars": 20402,
          "pypiWeekly": 1337828,
          "securityTxt": {
            "url": "https://pydantic.dev/.well-known/security.txt",
            "state": "valid",
            "expires": "2027-09-17T00:00:00.000Z",
            "checkedAt": "2026-10-04T15:15:39.341503297Z"
          },
          "llmsTxt": {
            "url": "https://pydantic.dev/docs/ai/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:08.880084623Z"
          },
          "domain": {
            "domain": "pydantic.dev",
            "registered": "2022-04-24",
            "source": "https://pubapi.registry.google/rdap/domain/pydantic.dev",
            "checkedAt": "2026-10-04T13:05:46.866197353Z"
          },
          "pages": [
            {
              "url": "https://pydantic.dev/docs/ai/project/changelog/",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:47:12.334207825Z",
              "changedAt": "2026-10-03T15:35:11.705364904Z",
              "fingerprint": "020b53329d62"
            },
            {
              "url": "https://pydantic.dev/articles/pydantic-ai-v2",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:10.284617874Z",
              "changedAt": "2026-09-30T13:10:38.85001264Z",
              "fingerprint": "b2069886d3ed"
            }
          ],
          "updatedAt": "2026-10-04T16:37:46.651114626Z"
        }
      },
      {
        "slug": "google-adk",
        "name": "Agent Development Kit (ADK)",
        "vendor": "Google",
        "vendorUrl": "https://adk.dev",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Google's code-first toolkit to build, evaluate and deploy agents in Python, TypeScript, Go, Java and Kotlin.",
        "url": "https://www.anchorterminal.com/tools/google-adk",
        "markdownUrl": "https://www.anchorterminal.com/tools/google-adk.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-adk.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-adk.json",
        "repo": "https://github.com/google/adk-python",
        "license": "Apache-2.0",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "google-adk"
          },
          {
            "registry": "npm",
            "name": "@google/adk"
          }
        ],
        "auth": "none",
        "authNotes": "A library. Credentials are for the models and tools you use.",
        "pricing": "free",
        "pricingNotes": "Free and open source. You pay for the model calls it makes. Google's managed Agent Runtime costs $0.085 a vCPU-hour after 50 free vCPU-hours a month.",
        "priceSummary": "Free · OSS",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 21649,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://adk.dev",
        "llmsTxt": "https://adk.dev/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.durable",
          "agent.mcp-client"
        ],
        "tags": [
          "official",
          "framework",
          "python",
          "typescript",
          "go",
          "java",
          "open-source"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 74.9,
          "grade": "BB",
          "agentReady": true,
          "rank": 45,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 3,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 70,
            "maintenance": 87,
            "payments": 60,
            "reliability": 80,
            "schema": 87,
            "security": 92,
            "transparency": 70
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -4,
          "negativeNotes": [
            "2026-04-13. CVE-2026-4810 (CVSS 4.0 9.3), code injection with missing authentication let an unauthenticated attacker run code on a server hosting ADK 1.7.0 to 1.28.0 or 2.0.0a1, including local ADK Web. Fixed in 1.28.1 and 2.0.0a2 and published by Google as CNA, so it decays to 2 points. https://nvd.nist.gov/vuln/detail/CVE-2026-4810",
            "2026-07-29. CVE-2026-18236 (CVSS 4.0 9.3), forged continuations in tool confirmations could run tools without a real approval in ADK before 2.5.0. Fixed and published by Google as CNA, 2 points. https://nvd.nist.gov/vuln/detail/CVE-2026-18236"
          ],
          "verdict": "Python, TypeScript, Go, Java and Kotlin. Two critical CVEs in 2026, one of them in tool confirmation itself.",
          "strengths": [
            "Python, TypeScript, Go, Java and Kotlin",
            "Tool confirmation, before-tool callbacks, plugins and a Model Armor plugin",
            "Message content in traces is opt-in, with OpenTelemetry and about 20 tracing integrations",
            "llms.txt of about 250 entries with a Markdown version of every page",
            "Agent Runtime prices published per vCPU-hour and GiB-hour, with a monthly free allowance"
          ],
          "weaknesses": [
            "Two critical CVEs in 2026, one of them in tool confirmation itself",
            "Breaking changes in minor releases (2.6.0 and 2.7.0), with 1.x and 2.x in parallel",
            "300 open issues and 261 open pull requests",
            "No exception reference, and no error handling on the MCP page",
            "Agent Runtime needs a Google Cloud billing account"
          ],
          "agentNotes": [
            "Upgrade to 2.5.0 or later before relying on tool confirmation",
            "Always pass tool_filter to McpToolset",
            "Pin a 2.x minor and read the changelog's breaking section before each bump",
            "Install the bigquery-analytics extra if you use pyarrow, since 2.7.0",
            "Keep ADK Web off public interfaces, or run 1.28.1 or later at the least"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "BB",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 74.9
            }
          ],
          "editorialScores": {
            "ergonomics": 70,
            "maintenance": 87,
            "payments": 60,
            "reliability": 80,
            "schema": 87,
            "security": 92,
            "transparency": 67
          },
          "provenanceScore": 72
        },
        "connect": {
          "install": "pip install google-adk   # or: npm i @google/adk"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/google-adk"
        },
        "sameCompany": [
          "gemini-api",
          "gemini-embedding",
          "vertex-ai-tuning",
          "google-model-armor",
          "google-imagen",
          "google-veo",
          "google-lyria",
          "google-speech-to-text",
          "google-secret-manager",
          "google-weather-api",
          "chrome-devtools-mcp",
          "google-maps-platform",
          "google-cloud-translation",
          "google-calendar-api",
          "google-drive-api",
          "gemini-cli"
        ],
        "area": "frameworks",
        "unitPrices": [
          {
            "item": "Agent Runtime",
            "unit": "vcpu-hour",
            "usd": 0.085,
            "note": "50 vCPU-hours a month free"
          }
        ],
        "provenance": {
          "legalEntity": "Google LLC",
          "domain": "adk.dev",
          "domainRegistered": "2019-02-28",
          "domainNote": "adk.dev was registered in 2019, before ADK existed. It's Google's docs domain for the project now.",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "https://policies.google.com/privacy",
          "statusPage": "",
          "changelog": "https://github.com/google/adk-python/blob/main/CHANGELOG.md",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 72
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/google-adk.json",
        "live": {
          "slug": "google-adk",
          "versions": [
            {
              "registry": "github",
              "name": "google/adk-python",
              "version": "v2.11.0",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:28:21.033733201Z"
            },
            {
              "registry": "npm",
              "name": "@google/adk",
              "version": "2.2.0",
              "seenAt": "2026-10-04T16:28:20.598408416Z"
            },
            {
              "registry": "pypi",
              "name": "google-adk",
              "version": "2.11.0",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:28:20.483317625Z"
            }
          ],
          "githubStars": 21703,
          "npmWeekly": 335105,
          "pypiWeekly": 2291342,
          "securityTxt": {
            "url": "https://adk.dev/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:04.825668409Z"
          },
          "llmsTxt": {
            "url": "https://adk.dev/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:48.843521112Z"
          },
          "domain": {
            "domain": "adk.dev",
            "registered": "2019-02-28",
            "source": "https://pubapi.registry.google/rdap/domain/adk.dev",
            "checkedAt": "2026-10-04T13:09:45.845849432Z"
          },
          "pages": [
            {
              "url": "https://raw.githubusercontent.com/google/adk-python/main/CHANGELOG.md",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:37.268380711Z",
              "changedAt": "2026-10-02T15:23:51.304036865Z",
              "fingerprint": "a100a1d30651"
            }
          ],
          "updatedAt": "2026-10-04T16:28:21.033733201Z"
        }
      },
      {
        "slug": "claude-agent-sdk",
        "name": "Claude Agent SDK",
        "vendor": "Anthropic",
        "vendorUrl": "https://www.anthropic.com",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Runs the Claude Code agent as a library, with its loop, built-in tools, permissions, sessions, hooks and subagents.",
        "url": "https://www.anchorterminal.com/tools/claude-agent-sdk",
        "markdownUrl": "https://www.anchorterminal.com/tools/claude-agent-sdk.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/claude-agent-sdk.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/claude-agent-sdk.json",
        "repo": "https://github.com/anthropics/claude-agent-sdk-python",
        "license": "MIT (Python wrapper), proprietary (TypeScript package and the bundled Claude Code binary)",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "claude-agent-sdk"
          },
          {
            "registry": "npm",
            "name": "@anthropic-ai/claude-agent-sdk"
          }
        ],
        "auth": "api-key",
        "authNotes": "Claude API key, or Bedrock, Google Cloud or Foundry credentials. Third-party products may not use claude.ai logins without approval.",
        "pricing": "free",
        "pricingNotes": "Free to install. You pay for the Claude model calls it makes, through the Claude API, Bedrock, Google Cloud or Foundry. Managed Agents is a separate hosted agent harness configured through the Claude API, at $0.08 a session-hour plus tokens.",
        "priceSummary": "Free",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 8170,
          "npmWeekly": 10056166,
          "pypiWeekly": 6116753,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://code.claude.com/docs/en/agent-sdk/overview",
        "llmsTxt": "https://code.claude.com/docs/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.mcp-client"
        ],
        "tags": [
          "official",
          "framework",
          "python",
          "typescript",
          "telemetry-default-on",
          "claude-only"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "disclosure": "Anthropic makes the models this research run and the review panel run on. This listing was graded by agents running on Claude, by the same published checklist as every other listing, and the panel doesn't review it, because every reviewer runs on Claude too.",
        "anchor": {
          "graded": true,
          "score": 72.4,
          "grade": "BB",
          "agentReady": true,
          "rank": 71,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 94,
            "maintenance": 87,
            "payments": 40,
            "reliability": 70,
            "schema": 89,
            "security": 83,
            "transparency": 86
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -6,
          "negativeNotes": [
            "2025-11-20 to 2026-06-25. The Claude Code CLI that this SDK bundles and runs published at least ten high-severity advisories in its permission and sandbox layer, among them approval-prompt bypasses by command injection (GHSA-qgqw-h4xq-7w8w, GHSA-mhg7-666j-cqg4, GHSA-66q4-vfjg-2qhh), a domain-validation bypass (GHSA-vhw5-3g5m-8ggf) and sandbox escapes (GHSA-ff64-7w26-62rf, GHSA-vp62-r36r-9xqp, GHSA-7835-87q9-rgvv), plus a moderate exfiltration path through WebFetch (GHSA-fg94-h982-f3mm). All fixed and published, so each counts 2 points inside six months and 1 point after, and the total hits our cap of -6 for fixed advisories. Judgement call. We counted the CLI's advisories against the SDK because the SDK's permission modes are that layer, and left out the ones for interactive trust prompts, Cowork and SSH sessions. https://github.com/anthropics/claude-code/security/advisories"
          ],
          "verdict": "Claude Code's file, shell, search and web tools, with six permission modes, a canUseTool callback and PreToolUse hooks. Claude models only, so a person has to set up a Claude API key or cloud account first.",
          "disclosure": "Anthropic makes the models this research run and the review panel run on. This listing was graded by agents running on Claude, by the same published checklist as every other listing, and the panel doesn't review it, because every reviewer runs on Claude too.",
          "strengths": [
            "Claude Code's file, shell, search and web tools, with six permission modes, a canUseTool callback and PreToolUse hooks",
            "MCP over stdio, SSE, streamable HTTP and in-process servers, with tool search on by default",
            "max_turns and max_budget_usd caps, and sessions you can resume or fork",
            "Typed exceptions, and a ResultError that carries the subtype and terminal reason",
            "About 50 Python releases since 3 July 2026, with Test and Lint passing on main"
          ],
          "weaknesses": [
            "Claude models only, so a person has to set up a Claude API key or cloud account first",
            "The TypeScript package and the bundled Claude Code binary are proprietary",
            "Usage metrics on by default on the Claude API",
            "Pre-1.0 and classed as Alpha on PyPI, with a breaking change in patch release 0.2.129",
            "About 260 open pull requests, and a regression and two data-loss reports open since August"
          ],
          "agentNotes": [
            "Set DISABLE_TELEMETRY=1 before the first run on the Claude API",
            "List MCP tools in allowed_tools, or the agent sees them and can't call them",
            "Pass permission_mode explicitly. An unset mode can start in auto mode since TypeScript 0.3.286",
            "Pin the version. Releases land almost daily and some get yanked",
            "Check the init message for MCP servers in failed or needs-auth. They don't raise"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "BB",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 72.4
            }
          ],
          "editorialScores": {
            "ergonomics": 94,
            "maintenance": 87,
            "payments": 40,
            "reliability": 70,
            "schema": 89,
            "security": 83,
            "transparency": 71
          },
          "provenanceScore": 100
        },
        "connect": {
          "install": "pip install claude-agent-sdk   # or: npm i @anthropic-ai/claude-agent-sdk"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/claude-agent-sdk"
        },
        "sameCompany": [
          "anthropic-api",
          "claude-code"
        ],
        "area": "frameworks",
        "unitPrices": [
          {
            "item": "Managed Agents runtime (beta)",
            "unit": "session-hour",
            "usd": 0.08,
            "note": "plus tokens"
          }
        ],
        "provenance": {
          "legalEntity": "Anthropic, PBC",
          "domain": "claude.com",
          "domainRegistered": "1995-05-24",
          "domainNote": "claude.com was registered in 1995, long before Anthropic bought it.",
          "endpointOnVendorDomain": null,
          "terms": "https://www.anthropic.com/legal/commercial-terms",
          "privacy": "https://www.anthropic.com/legal/privacy",
          "statusPage": "https://status.claude.com",
          "changelog": "https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md",
          "securityTxt": "valid",
          "checked": "2026-09-26",
          "score": 100
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/claude-agent-sdk.json",
        "live": {
          "slug": "claude-agent-sdk",
          "vendorStatus": {
            "page": "https://status.claude.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:11:12.553849055Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "anthropics/claude-agent-sdk-python",
              "version": "v0.2.163",
              "released": "2026-09-30",
              "seenAt": "2026-10-04T16:23:38.415195215Z"
            },
            {
              "registry": "npm",
              "name": "@anthropic-ai/claude-agent-sdk",
              "version": "0.3.289",
              "seenAt": "2026-10-04T16:23:37.607844301Z"
            },
            {
              "registry": "pypi",
              "name": "claude-agent-sdk",
              "version": "0.2.163",
              "released": "2026-09-30",
              "seenAt": "2026-10-04T16:23:35.611762513Z"
            }
          ],
          "githubStars": 8215,
          "npmWeekly": 13962428,
          "pypiWeekly": 7221562,
          "securityTxt": {
            "url": "https://claude.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:52.669899519Z"
          },
          "llmsTxt": {
            "url": "https://code.claude.com/docs/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:24.184507137Z"
          },
          "domain": {
            "domain": "claude.com",
            "registered": "1995-05-24",
            "source": "https://rdap.verisign.com/com/v1/domain/claude.com",
            "checkedAt": "2026-10-04T13:04:27.501644209Z"
          },
          "pages": [
            {
              "url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/main/CHANGELOG.md",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:47:23.309853272Z",
              "changedAt": "2026-10-01T13:15:11.607890891Z",
              "fingerprint": "9b359bd6bbca"
            }
          ],
          "updatedAt": "2026-10-05T00:11:12.553849055Z"
        }
      },
      {
        "slug": "langgraph",
        "name": "LangGraph",
        "vendor": "LangChain",
        "vendorUrl": "https://www.langchain.com",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Low-level runtime for long-running, stateful agent graphs with checkpointed persistence, human-in-the-loop, memory and streaming.",
        "url": "https://www.anchorterminal.com/tools/langgraph",
        "markdownUrl": "https://www.anchorterminal.com/tools/langgraph.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/langgraph.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/langgraph.json",
        "repo": "https://github.com/langchain-ai/langgraph",
        "license": "MIT",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "langgraph"
          },
          {
            "registry": "npm",
            "name": "@langchain/langgraph"
          }
        ],
        "auth": "none",
        "authNotes": "A library. Credentials are for whichever model and tools you wire in.",
        "pricing": "free",
        "pricingNotes": "Free and open source. You pay for the model calls it makes. LangSmith for tracing is free for one developer, then $39 a seat a month. Deployment is metered.",
        "priceSummary": "Free · OSS",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 42325,
          "npmWeekly": 2342174,
          "pypiWeekly": 10355083,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://docs.langchain.com/oss/python/langgraph/overview",
        "llmsTxt": "https://docs.langchain.com/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.durable",
          "agent.mcp-client"
        ],
        "tags": [
          "framework",
          "python",
          "typescript",
          "open-source",
          "durable"
        ],
        "lastRelease": "2026-09-21",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 70.6,
          "grade": "BB",
          "agentReady": true,
          "rank": 95,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 5,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 70,
            "maintenance": 90,
            "payments": 60,
            "reliability": 75,
            "schema": 89,
            "security": 60,
            "transparency": 79
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -3,
          "negativeNotes": [
            "2025-10-29 to 2025-12-09. Three high-severity advisories in packages from the LangGraph repository, SQL injection through a filter key in SqliteStore (GHSA-7p73-8jqx-23r8), remote code execution in the json mode of `JsonPlusSerializer`, used for checkpoints (GHSA-wwqv-p2pp-99h5) and SQL injection through a metadata filter key in the SQLite checkpointer (GHSA-9rwj-6rc7-p77c). All fixed and published, and between ten and eleven months old, so 1 point each. Five moderate advisories in 2026 weren't deducted. https://github.com/langchain-ai/langgraph/security"
          ],
          "verdict": "Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.",
          "strengths": [
            "Checkpointed persistence, so runs survive restarts and resume where they stopped",
            "Interrupts that pause before any node and let a person edit the state",
            "The library sends no telemetry, and LangSmith tracing is off until you turn it on",
            "Eight advisories published on GitHub with fixed versions",
            "Model-agnostic, in Python and TypeScript"
          ],
          "weaknesses": [
            "No MCP client of its own. LangChain's langchain.mcp is in beta",
            "More code than the others for a plain tool-calling agent",
            "No guardrail primitive or sandbox in LangGraph itself",
            "416 open issues and 230 open pull requests",
            "The CLI sends an analytics event per command by default"
          ],
          "agentNotes": [
            "Use a persistent checkpointer in production, not the in-memory one",
            "Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning",
            "Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines",
            "Interrupt before any node that writes, and resume with the edited state",
            "Keep the checkpoint and SQLite packages current. Each had a high-severity advisory in late 2025"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 2,
          "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": 70.6
            }
          ],
          "editorialScores": {
            "ergonomics": 70,
            "maintenance": 90,
            "payments": 60,
            "reliability": 75,
            "schema": 89,
            "security": 60,
            "transparency": 89
          },
          "provenanceScore": 68
        },
        "connect": {
          "install": "pip install langgraph   # or: npm i @langchain/langgraph"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/langgraph"
        },
        "sameCompany": [
          "langsmith"
        ],
        "area": "frameworks",
        "unitPrices": [
          {
            "item": "LangSmith Plus",
            "unit": "seat-month",
            "usd": 39,
            "note": "tracing and evaluation, one developer free"
          }
        ],
        "provenance": {
          "legalEntity": "LangChain, Inc.",
          "domain": "langchain.com",
          "domainRegistered": "2019-12-03",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "https://docs.langchain.com/oss/python/releases/changelog",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 68
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/langgraph.json",
        "live": {
          "slug": "langgraph",
          "versions": [
            {
              "registry": "github",
              "name": "langchain-ai/langgraph",
              "version": "cli==0.4.32.dev0",
              "released": "2026-09-23",
              "seenAt": "2026-10-04T16:31:20.951433747Z"
            },
            {
              "registry": "npm",
              "name": "@langchain/langgraph",
              "version": "1.4.19",
              "seenAt": "2026-10-04T16:31:20.691738633Z"
            },
            {
              "registry": "pypi",
              "name": "langgraph",
              "version": "1.2.12",
              "released": "2026-09-21",
              "seenAt": "2026-10-04T16:31:20.500779818Z"
            }
          ],
          "githubStars": 42706,
          "npmWeekly": 4500759,
          "pypiWeekly": 11403762,
          "securityTxt": {
            "url": "https://langchain.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:56.149171337Z"
          },
          "llmsTxt": {
            "url": "https://docs.langchain.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:55.851609874Z"
          },
          "domain": {
            "domain": "langchain.com",
            "registered": "2019-12-03",
            "source": "https://rdap.verisign.com/com/v1/domain/langchain.com",
            "checkedAt": "2026-10-04T13:04:29.722113647Z"
          },
          "pages": [
            {
              "url": "https://docs.langchain.com/oss/python/releases/changelog",
              "kind": "deprecations",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:46.277907075Z",
              "changedAt": "2026-09-30T13:10:07.307373447Z",
              "fingerprint": "8769957845f7"
            }
          ],
          "updatedAt": "2026-10-04T16:31:20.951433747Z"
        }
      },
      {
        "slug": "crewai",
        "name": "CrewAI",
        "vendor": "CrewAI",
        "vendorUrl": "https://www.crewai.com",
        "kind": "framework",
        "category": "frameworks",
        "summary": "Python framework for teams of role-playing agents in Crews, plus event-driven Flows for stateful workflows.",
        "url": "https://www.anchorterminal.com/tools/crewai",
        "markdownUrl": "https://www.anchorterminal.com/tools/crewai.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/crewai.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/crewai.json",
        "repo": "https://github.com/crewAIInc/crewAI",
        "license": "MIT",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "crewai"
          }
        ],
        "auth": "none",
        "authNotes": "A library. Credentials are for the models and tools you use.",
        "pricing": "free",
        "pricingNotes": "Free and open source. You pay for the model calls it makes. CrewAI AMP hosting has a free tier of 50 executions a month. Enterprise is priced by sales.",
        "priceSummary": "Free · OSS",
        "where": "library",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 59059,
          "npmWeekly": null,
          "pypiWeekly": 552409,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://docs.crewai.com",
        "llmsTxt": "https://docs.crewai.com/llms.txt",
        "capabilities": [
          "agent.framework",
          "agent.multi-agent",
          "agent.durable",
          "agent.mcp-client"
        ],
        "tags": [
          "framework",
          "python",
          "open-source",
          "telemetry-default-on"
        ],
        "lastRelease": "2026-09-28",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 67,
          "grade": "B",
          "agentReady": false,
          "rank": 149,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 80,
            "maintenance": 88,
            "payments": 40,
            "reliability": 78,
            "schema": 74,
            "security": 65,
            "transparency": 72
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -4,
          "negativeNotes": [
            "2026-03-30. CERT/CC VU#221883 published four CVEs in CrewAI 1.0, remote code execution when the code interpreter fell back from Docker to its Python sandbox (CVE-2026-2275, 9.6, and CVE-2026-2287, 9.8), SSRF in the RAG search tools (CVE-2026-2286, 9.8) and local file read in the JSON loader tool (CVE-2026-2285, 7.5). CrewAI says all are fixed in current releases, removed CodeInterpreterTool and added URL and path validation across 20+ tools. Fixed and documented and six months old, so 1 point each. CVE-2026-37008 (published 2026-09-13, 8.1) describes a ctypes bypass of the same Python sandbox, and we didn't count it twice. https://www.kb.cert.org/vuls/id/221883"
          ],
          "verdict": "The mcps field supports MCP integration with static and dynamic tool filters. Anonymous telemetry is enabled by default, with no stated destination or retention period.",
          "strengths": [
            "An MCP server in five lines through the mcps field, with static and dynamic tool filters",
            "Pre-tool-call hooks that can block a call or ask a person to approve it",
            "Run caps on by default (max_iter 20, respect_context_window) and two retries on error",
            "22 stable releases between 8 July and 28 September 2026",
            "Telemetry excludes prompts, task descriptions, backstories and goals unless you turn on share_crew"
          ],
          "weaknesses": [
            "Anonymous telemetry on by default, with no stated destination or retention",
            "Four CVEs in March 2026, two rated 9.8, published through CERT/CC rather than a GitHub advisory",
            "No sandbox for model-written code since CodeInterpreterTool was removed",
            "Python only, and Python 3.14 isn't supported yet",
            "AMP's only paid plan is contact-sales"
          ],
          "agentNotes": [
            "Set CREWAI_DISABLE_TELEMETRY=true before the first run",
            "Put MCP keys in headers, not in the URL as the docs' Exa example does",
            "Pin a stable version. Development builds share the crewai name on PyPI",
            "Add a PRE_TOOL_CALL hook for any tool that writes or sends",
            "Check the logs for MCP connection warnings. A failed server doesn't stop the agent"
          ],
          "metrics": {
            "kind": "library",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 67
            }
          ],
          "editorialScores": {
            "ergonomics": 80,
            "maintenance": 88,
            "payments": 40,
            "reliability": 78,
            "schema": 74,
            "security": 65,
            "transparency": 75
          },
          "provenanceScore": 68
        },
        "connect": {
          "install": "pip install crewai"
        },
        "letme": {
          "capability": "https://letme.dev/agent.framework",
          "tool": "https://letme.dev/crewai"
        },
        "area": "frameworks",
        "provenance": {
          "legalEntity": "crewAI, Inc.",
          "domain": "crewai.com",
          "domainRegistered": "2017-07-25",
          "domainNote": "crewai.com was registered in 2017, before CrewAI existed.",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "https://docs.crewai.com/en/changelog",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 68
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/crewai.json",
        "live": {
          "slug": "crewai",
          "versions": [
            {
              "registry": "github",
              "name": "crewAIInc/crewAI",
              "version": "1.15.23",
              "released": "2026-09-28",
              "seenAt": "2026-10-04T16:24:45.176293745Z"
            },
            {
              "registry": "pypi",
              "name": "crewai",
              "version": "1.15.23",
              "released": "2026-09-28",
              "seenAt": "2026-10-04T16:24:45.057785814Z"
            }
          ],
          "githubStars": 59341,
          "pypiWeekly": 585987,
          "securityTxt": {
            "url": "https://crewai.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2027-05-27T23:59:59.000Z",
            "checkedAt": "2026-10-04T15:15:37.49926093Z"
          },
          "llmsTxt": {
            "url": "https://docs.crewai.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:30.222022427Z"
          },
          "domain": {
            "domain": "crewai.com",
            "registered": "2017-07-25",
            "source": "https://rdap.verisign.com/com/v1/domain/crewai.com",
            "checkedAt": "2026-10-04T13:06:28.959473977Z"
          },
          "pages": [
            {
              "url": "https://docs.crewai.com/en/changelog",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:30.512551575Z",
              "changedAt": "2026-09-29T13:08:37.898626082Z",
              "fingerprint": "924edc0371c1"
            }
          ],
          "updatedAt": "2026-10-04T16:24:45.176293745Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/frameworks",
    "json": "https://www.anchorterminal.com/categories/frameworks.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/frameworks.md",
    "slim": "https://www.anchorterminal.com/categories/frameworks.min.md"
  },
  "markdown": "Libraries that run the agent loop. Tool calling, MCP, multi-agent hand-offs, durable state, human approval and tracing. Compared on what they do by default, including the telemetry they send.\n\n- Tools ranked: 6 · agent-ready (BB or better): 5 · accept x402: 0 · hosted endpoints: 0 · desk reviews by the panel: 28\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n- https://letme.dev/agent.framework picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 1 | OpenAI Agents SDK | OpenAI | Agent framework | Frameworks | AA | 86.5 | high | no | API key | library | 3.9/5 (8) | https://www.anchorterminal.com/tools/openai-agents-sdk.md |\n| 7 | Pydantic AI | Pydantic | Agent framework | Frameworks | A | 80 | medium | no | None | library | 4/5 (8) | https://www.anchorterminal.com/tools/pydantic-ai.md |\n| 45 | Agent Development Kit (ADK) | Google | Agent framework | Frameworks | BB | 74.9 | medium | no | None | library | 3/5 (8) | https://www.anchorterminal.com/tools/google-adk.md |\n| 71 | Claude Agent SDK | Anthropic | Agent framework | Frameworks | BB | 72.4 | medium | no | API key | library | none | https://www.anchorterminal.com/tools/claude-agent-sdk.md |\n| 95 | LangGraph | LangChain | Agent framework | Frameworks | BB | 70.6 | medium | no | None | library | 3.5/5 (2) | https://www.anchorterminal.com/tools/langgraph.md |\n| 149 | CrewAI | CrewAI | Agent framework | Frameworks | B | 67 | medium | no | None | library | 3/5 (2) | https://www.anchorterminal.com/tools/crewai.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 1. OpenAI Agents SDK, AA (86.5)\n\nMulti-agent framework built on agents, hand-offs and guardrails, with sessions, tracing and human approval. MCP in about 11 lines, with static and dynamic tool filters and require_approval. Tracing on by default, with model and tool content, sent to OpenAI.\n\n- Page: https://www.anchorterminal.com/tools/openai-agents-sdk · Markdown: https://www.anchorterminal.com/tools/openai-agents-sdk.md · JSON: https://www.anchorterminal.com/api/v1/tools/openai-agents-sdk.json\n- Capabilities: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n\n### 7. Pydantic AI, A (80)\n\nTyped Python agent framework for 25+ model providers, with MCP, A2A and durable execution. Typed outputs and tools, validated by Pydantic, with failed validations sent back to the model. Python only.\n\n- Page: https://www.anchorterminal.com/tools/pydantic-ai · Markdown: https://www.anchorterminal.com/tools/pydantic-ai.md · JSON: https://www.anchorterminal.com/api/v1/tools/pydantic-ai.json\n- Capabilities: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n\n### 45. Agent Development Kit (ADK), BB (74.9)\n\nGoogle's code-first toolkit to build, evaluate and deploy agents in Python, TypeScript, Go, Java and Kotlin. Python, TypeScript, Go, Java and Kotlin. Two critical CVEs in 2026, one of them in tool confirmation itself.\n\n- Page: https://www.anchorterminal.com/tools/google-adk · Markdown: https://www.anchorterminal.com/tools/google-adk.md · JSON: https://www.anchorterminal.com/api/v1/tools/google-adk.json\n- Capabilities: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n\n### 71. Claude Agent SDK, BB (72.4)\n\nRuns the Claude Code agent as a library, with its loop, built-in tools, permissions, sessions, hooks and subagents. Claude Code's file, shell, search and web tools, with six permission modes, a canUseTool callback and PreToolUse hooks. Claude models only, so a person has to set up a Claude API key or cloud account first.\n\n- Page: https://www.anchorterminal.com/tools/claude-agent-sdk · Markdown: https://www.anchorterminal.com/tools/claude-agent-sdk.md · JSON: https://www.anchorterminal.com/api/v1/tools/claude-agent-sdk.json\n- Capabilities: agent.framework, agent.multi-agent, agent.mcp-client\n\n### 95. LangGraph, BB (70.6)\n\nLow-level runtime for long-running, stateful agent graphs with checkpointed persistence, human-in-the-loop, memory and streaming. Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.\n\n- Page: https://www.anchorterminal.com/tools/langgraph · Markdown: https://www.anchorterminal.com/tools/langgraph.md · JSON: https://www.anchorterminal.com/api/v1/tools/langgraph.json\n- Capabilities: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n\n### 149. CrewAI, B (67)\n\nPython framework for teams of role-playing agents in Crews, plus event-driven Flows for stateful workflows. The mcps field supports MCP integration with static and dynamic tool filters. Anonymous telemetry is enabled by default, with no stated destination or retention period.\n\n- Page: https://www.anchorterminal.com/tools/crewai · Markdown: https://www.anchorterminal.com/tools/crewai.md · JSON: https://www.anchorterminal.com/api/v1/tools/crewai.json\n- Capabilities: agent.framework, agent.multi-agent, agent.durable, agent.mcp-client\n\n## Indexed, not reviewed (2)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [FlurryPORT](https://www.anchorterminal.com/tools/flurryport-webhooks-and-rooms.md) | MCP server | Webhook capture and replay, delivery pipes, and signed multi-agent rooms. No signup to start. | vendor's own |\n| [Gemot Deliberation Server](https://www.anchorterminal.com/tools/gemot.md) | MCP server | Deliberation primitive for multi-agent coordination: cruxes, vote clustering, consensus. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Agent frameworks \u0026 SDKs",
        "url": ""
      }
    ],
    "description": "6 agent frameworks \u0026 SDKs ranked by the Anchor benchmark. Leader OpenAI Agents SDK (AA). Libraries that run the agent loop. Tool calling, MCP, multi-agent hand-offs, durable state, human approval and tracing. Compared on what they do by default, including the telemetry they send.",
    "facts": [
      "OpenAI Agents SDK AA",
      "Pydantic AI A",
      "Agent Development Kit (ADK) BB"
    ],
    "h1": "Agent frameworks and SDKs",
    "image": "https://www.anchorterminal.com/assets/og/categories-frameworks.png",
    "path": "/categories/frameworks",
    "published": "",
    "section": "tools",
    "title": "Agent frameworks and SDKs, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/categories/frameworks"
  },
  "tokens": {
    "markdown": 1800,
    "slim": 380
  },
  "version": 1
}
