{
  "data": {
    "a": {
      "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"
      }
    },
    "b": {
      "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"
      }
    },
    "summary": "LangGraph has a score of 70.6 (BB) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is payments \u0026 pricing, 20 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/crewai-vs-langgraph",
    "json": "https://www.anchorterminal.com/compare/crewai-vs-langgraph.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/crewai-vs-langgraph.md",
    "slim": "https://www.anchorterminal.com/compare/crewai-vs-langgraph.min.md"
  },
  "markdown": "LangGraph has a score of 70.6 (BB) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is payments \u0026 pricing, 20 points.\n\n- CrewAI: grade B, 67/100, rank #149 of 452. Markdown https://www.anchorterminal.com/tools/crewai.md · JSON https://www.anchorterminal.com/api/v1/tools/crewai.json\n- LangGraph: grade BB, 70.6/100, rank #95 of 452. Markdown https://www.anchorterminal.com/tools/langgraph.md · JSON https://www.anchorterminal.com/api/v1/tools/langgraph.json\n\n## Which one, for what\n\nPick CrewAI for agent ergonomics (+10), security \u0026 auth (+5).\n\nPick LangGraph for schema \u0026 documentation (+15), payments \u0026 pricing (+20), transparency \u0026 trust (+7).\n\n## Score by category\n\n| Category | Weight | CrewAI | LangGraph | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 75 | CrewAI +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 89 | LangGraph +15 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 70 | CrewAI +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 60 | CrewAI +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | LangGraph +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 90 | LangGraph +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 79 | LangGraph +7 |\n| Negative events | ≤15 | -4 | -3 | |\n| **Total** | | **67 · B** | **70.6 · BB** | |\n\n## Facts side by side\n\n| Fact | CrewAI | LangGraph |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | CrewAI | LangChain |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | none | none |\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 | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-28 | 2026-09-21 |\n| Popularity | 59k stars, 552k PyPI/wk | 42k stars, 2.3M npm/wk, 10.4M PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**CrewAI.** 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**LangGraph.** 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## Before you call either\n\n### CrewAI\n\n1. Set CREWAI_DISABLE_TELEMETRY=true before the first run\n2. Put MCP keys in headers, not in the URL as the docs' Exa example does\n3. Pin a stable version. Development builds share the crewai name on PyPI\n4. Add a PRE_TOOL_CALL hook for any tool that writes or sends\n5. Check the logs for MCP connection warnings. A failed server doesn't stop the agent\n\n### LangGraph\n\n1. Use a persistent checkpointer in production, not the in-memory one\n2. Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning\n3. Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines\n4. Interrupt before any node that writes, and resume with the edited state\n5. Keep the checkpoint and SQLite packages current. Each had a high-severity advisory in late 2025\n\n## Other comparisons with CrewAI or LangGraph\n\n- [Claude Agent SDK vs CrewAI](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-crewai.md)\n- [Claude Agent SDK vs LangGraph](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph.md)\n- [CrewAI vs Agent Development Kit (ADK)](https://www.anchorterminal.com/compare/crewai-vs-google-adk.md)\n- [CrewAI vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/crewai-vs-openai-agents-sdk.md)\n- [CrewAI vs Pydantic AI](https://www.anchorterminal.com/compare/crewai-vs-pydantic-ai.md)\n- [Agent Development Kit (ADK) vs LangGraph](https://www.anchorterminal.com/compare/google-adk-vs-langgraph.md)\n- [LangGraph vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.md)\n- [LangGraph vs Pydantic AI](https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai.md)\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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "CrewAI vs LangGraph",
        "url": ""
      }
    ],
    "description": "LangGraph has a score of 70.6 (BB) against CrewAI's 67 (B). Both do agent frameworks. The largest gap is payments \u0026 pricing, 20 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "CrewAI B 67",
      "LangGraph BB 70.6",
      "scores"
    ],
    "h1": "CrewAI vs LangGraph",
    "image": "https://www.anchorterminal.com/assets/og/compare-crewai-vs-langgraph.png",
    "path": "/compare/crewai-vs-langgraph",
    "published": "2026-10-01",
    "section": "tools",
    "title": "CrewAI vs LangGraph for AI agents, B 67 vs BB 70.6 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/crewai-vs-langgraph"
  },
  "tokens": {
    "markdown": 1250,
    "slim": 330
  },
  "version": 1
}
