{
  "data": {
    "a": {
      "slug": "cursor-agent-sdk",
      "name": "Cursor Agent SDK",
      "vendor": "Cursor",
      "vendorUrl": "https://cursor.com/docs/agent-sdk",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Cursor's TypeScript framework for defining an agent as a folder of instructions, typed tools, skills, MCP connections and channels, testing it with evals, and running it on your own server or on Cursor's hosting.",
      "url": "https://www.anchorterminal.com/tools/cursor-agent-sdk",
      "markdownUrl": "https://www.anchorterminal.com/tools/cursor-agent-sdk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cursor-agent-sdk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cursor-agent-sdk.json",
      "license": "Proprietary. The package's LICENSE.md reads \"© Anysphere Inc. All rights reserved\", with use subject to Cursor's Terms of Service (updated 3 September 2026). No source repository is published",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@grok/agent-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Model turns need a Cursor credential. `agent-sdk login` opens a browser sign-in and stores the key it creates, or pass a user API key from the dashboard or a team service-account key as `--api-key`, `CURSOR_API_KEY`, `CURSOR_API_KEY_FILE` or `CURSOR_SERVICE_ACCOUNT_KEY`. `logout` doesn't revoke the key. Direct tool calls without a model turn need no Cursor key. A self-hosted server is protected with `--bearer-token`, and a deployment's routes with an alias token.",
      "pricing": "byo-plan",
      "pricingNotes": "The package is free to install. Model turns draw on the Cursor plan of the key's owner, Free ($0, limited agent requests) to Ultra ($200 a month), and beyond the weekly pool the default model, Grok 4.5 with Fast on, is $4 per million input tokens and $18 per million output tokens. No price for Cursor-managed hosting and no statement of which plans include the Agent SDK were found (checked 2026-10-27).",
      "priceSummary": "Your plan",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Agent SDK docs, the npm package or the pricing page (checked 2026-10-27).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-27"
      },
      "docsUrl": "https://cursor.com/docs/agent-sdk",
      "llmsTxt": "https://cursor.com/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.mcp-client",
        "agent.durable",
        "agent.multi-agent",
        "obs.evals"
      ],
      "tags": [
        "official",
        "framework",
        "typescript",
        "closed-source",
        "mcp",
        "llms-txt",
        "pre-1.0",
        "self-hosted",
        "hosted",
        "new"
      ],
      "lastRelease": "2026-10-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.6,
        "grade": "B",
        "agentReady": false,
        "rank": 443,
        "ranked": true,
        "rankOf": 1217,
        "categoryRank": 12,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 74,
          "payments": 30,
          "reliability": 45,
          "schema": 82,
          "security": 68,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-27"
        },
        "negative": 0,
        "verdict": "An agent-as-code framework with typed tools, declared read and write effects that drive retries and dry runs, an approval gate per tool and evals that assert on tool calls. It's closed source, every model turn runs through Cursor's backend on a Cursor plan, local sandboxing is off by default, and the changelog has two entries.",
        "bestFor": "Teams already on Cursor who want version-controlled agents for pull request review, triage and Slack, with evals in CI and one-command hosting.",
        "strengths": [
          "Tools declare a read, write or idempotent effect. Only reads and idempotent calls retry, and dry-run sessions stub writes",
          "`needsApproval` on a tool parks the call until a person approves, and `ctx.approvedBy` records who did",
          "Evals assert which tools ran, with what input, and the reply's shape, and `github replay` turns a real pull request into signed test deliveries",
          "Every page has a Markdown twin listed in cursor.com/llms.txt, and the package ships the same docs and an llms.txt",
          "Sessions keep a record of every message and tool call, and OpenTelemetry export stays off until an endpoint is set"
        ],
        "weaknesses": [
          "Closed source under Cursor's terms, with no public repository, CI or issue tracker",
          "Every model turn runs through Cursor's backend with a Cursor credential, including on a self-hosted server",
          "Local sandboxing is off by default, so shell commands auto-approve with the host's credentials",
          "The changelog has two entries, 0.2.29 and 0.3.0, both dated 23 October 2026. The 27 earlier @cursor/bdk versions have none",
          "The launch post's install command names a package that doesn't exist on npm"
        ],
        "agentNotes": [
          "Install `@grok/agent-sdk`, not `@cursor/agent-sdk` from the launch post. That name answers 404 on npm",
          "Set `local.sandbox` before a turn reads webhook payloads, pull request diffs or chat. Without it shell commands auto-approve with the host's credentials",
          "Give every tool an `effect`. A tool without one counts as a write, runs once and is stubbed in dry runs",
          "Start `agent-sdk serve` with `--bearer-token` on any shared host. `--allow-anonymous` admits every caller as one principal",
          "Delete bot/hooks/memory.ts when sessions serve different people. The journal shares each turn's message and result with later turns"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.6
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 74,
          "payments": 30,
          "reliability": 45,
          "schema": 82,
          "security": 68,
          "transparency": 49
        },
        "provenanceScore": 91,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-27",
            "maintenance": "2026-10-27",
            "payments": "2026-10-27",
            "reliability": "2026-10-27",
            "schema": "2026-10-27",
            "security": "2026-10-27",
            "transparency": "2026-10-27"
          },
          "last": "2026-10-27",
          "oldest": "2026-10-27",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install --global @grok/agent-sdk",
        "headless": {
          "run": "agent-sdk run --dir . --message \"Introduce yourself in one sentence.\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/cursor-agent-sdk"
      },
      "sameCompany": [
        "cursor-cli",
        "grok-bot"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Grok 4.5 Fast (the default model) input, beyond the weekly pool",
          "unit": "1m-tokens",
          "usd": 4,
          "note": "cache reads $1"
        },
        {
          "item": "Grok 4.5 Fast (the default model) output, beyond the weekly pool",
          "unit": "1m-tokens",
          "usd": 18
        },
        {
          "item": "Grok 4.5 input, Fast off, beyond the weekly pool",
          "unit": "1m-tokens",
          "usd": 2,
          "note": "cache reads $0.50"
        },
        {
          "item": "Grok 4.5 output, Fast off, beyond the weekly pool",
          "unit": "1m-tokens",
          "usd": 6
        },
        {
          "item": "Premium plan (first plan with Cloud Agents and third-party models)",
          "unit": "month",
          "usd": 30
        }
      ],
      "provenance": {
        "legalEntity": "Anysphere, Inc.",
        "domain": "cursor.com",
        "domainRegistered": "1995-12-20",
        "endpointOnVendorDomain": null,
        "terms": "https://cursor.com/terms-of-service",
        "privacy": "https://cursor.com/privacy",
        "statusPage": "https://status.cursor.com",
        "changelog": "https://cursor.com/docs/agent-sdk/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-27",
        "notes": [
          "The package's LICENSE.md and the site footer name Anysphere, Inc. The terms of service are dated 3 September 2026 and the privacy policy 11 October 2026.",
          "RDAP (Verisign) gives cursor.com a registration date of 1995-12-20.",
          "cursor.com/.well-known/security.txt has a Contact line pointing to github.com/getcursor/cursor/security and a secondary email, and no Expires line. The site's tracker reads a file with a Contact and no Expires as valid, as on the Cursor CLI listing.",
          "The footer links status.cursor.com. Its robots.txt answered with a Cloudflare challenge on 27 October 2026, so the status page wasn't read.",
          "The npm package's repository field points to github.com/cursor/cursor, which holds only a README and SECURITY.md."
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cursor-agent-sdk.json",
      "live": {
        "slug": "cursor-agent-sdk",
        "vendorStatus": {
          "page": "https://status.cursor.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-27T15:14:26.800557415Z"
        },
        "llmsTxt": {
          "url": "https://cursor.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-27T14:57:46.410898693Z"
        },
        "updatedAt": "2026-10-27T15:14:26.800557415Z"
      }
    },
    "answer": "LangGraph scores 70.6 (BB) on agent readiness against Cursor Agent SDK's 63.6 (B), and leads in 5 of 7 scored categories. Cursor Agent SDK leads on agent ergonomics and security \u0026 auth.",
    "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": 163,
        "ranked": true,
        "rankOf": 1217,
        "categoryRank": 8,
        "methodology": "0.6",
        "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.",
        "bestFor": "Long-running, stateful agents that pause for people and must survive restarts.",
        "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.6",
            "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,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install langgraph   # or: npm i @langchain/langgraph"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/langgraph"
      },
      "sameCompany": [
        "langmem",
        "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": "1.2.18",
            "released": "2026-10-26",
            "seenAt": "2026-10-27T11:10:04.763973003Z"
          },
          {
            "registry": "npm",
            "name": "@langchain/langgraph",
            "version": "1.5.3",
            "seenAt": "2026-10-27T11:10:03.602044183Z"
          },
          {
            "registry": "pypi",
            "name": "langgraph",
            "version": "1.2.18",
            "released": "2026-10-26",
            "seenAt": "2026-10-27T11:10:03.482644137Z"
          }
        ],
        "githubStars": 43981,
        "npmWeekly": 2542063,
        "pypiWeekly": 13486262,
        "securityTxt": {
          "url": "https://langchain.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-26T15:30:10.760128472Z"
        },
        "llmsTxt": {
          "url": "https://docs.langchain.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-27T14:58:21.638727758Z"
        },
        "domain": {
          "domain": "langchain.com",
          "registered": "2019-12-03",
          "source": "https://rdap.verisign.com/com/v1/domain/langchain.com",
          "checkedAt": "2026-10-25T14:02:19.021606496Z"
        },
        "pages": [
          {
            "url": "https://docs.langchain.com/oss/python/releases/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-27T03:44:32.175332106Z",
            "changedAt": "2026-10-27T03:44:32.175332106Z",
            "fingerprint": "735c05e98a71"
          }
        ],
        "github": {
          "repo": "langchain-ai/langgraph",
          "checkedAt": "2026-10-26T07:38:47.413133198Z",
          "stars": 43907,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T05:20:08Z",
          "openIssues": 358,
          "openPRs": 157,
          "issuesOpened90d": 267,
          "issuesClosed90d": 308,
          "prsMerged90d": 208,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 34,
            "failure": 3,
            "other": 13,
            "latest": "success",
            "latestAt": "2026-10-25T15:34:08Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-6hmw-9432-67qq",
              "cve": "CVE-2026-115883",
              "severity": "medium",
              "published": "2026-10-21T13:34:00Z"
            },
            {
              "ghsa": "GHSA-8prr-f582-jqq3",
              "cve": "CVE-2026-115885",
              "severity": "medium",
              "published": "2026-10-19T14:08:41Z"
            },
            {
              "ghsa": "GHSA-3fx2-cqw9-xr3c",
              "severity": "medium",
              "published": "2026-10-07T17:31:37Z"
            },
            {
              "ghsa": "GHSA-4hm6-w6qq-w73v",
              "severity": "high",
              "published": "2026-09-28T14:44:55Z"
            },
            {
              "ghsa": "GHSA-fvww-7h3r-vfhp",
              "cve": "CVE-2026-104873",
              "severity": "high",
              "published": "2026-08-28T14:30:41Z"
            },
            {
              "ghsa": "GHSA-47pj-3jcm-6whg",
              "cve": "CVE-2026-71433",
              "severity": "medium",
              "published": "2026-07-30T19:46:53Z"
            },
            {
              "ghsa": "GHSA-fjqc-hq36-qh5p",
              "cve": "CVE-2026-48775",
              "severity": "medium",
              "published": "2026-05-22T17:18:27Z"
            },
            {
              "ghsa": "GHSA-w39p-vh2g-g8g5",
              "cve": "CVE-2026-48776",
              "severity": "medium",
              "published": "2026-05-22T17:18:22Z"
            },
            {
              "ghsa": "GHSA-g48c-2wqr-h844",
              "cve": "CVE-2026-28277",
              "severity": "medium",
              "published": "2026-03-05T16:52:38Z"
            },
            {
              "ghsa": "GHSA-mhr3-j7m5-c7c9",
              "cve": "CVE-2026-27794",
              "severity": "medium",
              "published": "2026-02-23T19:15:53Z"
            },
            {
              "ghsa": "GHSA-9rwj-6rc7-p77c",
              "cve": "CVE-2025-67644",
              "severity": "high",
              "published": "2025-12-09T22:07:45Z"
            },
            {
              "ghsa": "GHSA-wwqv-p2pp-99h5",
              "cve": "CVE-2025-64439",
              "severity": "high",
              "published": "2025-11-05T15:13:54Z"
            },
            {
              "ghsa": "GHSA-7p73-8jqx-23r8",
              "cve": "CVE-2025-64104",
              "severity": "high",
              "published": "2025-10-29T18:02:57Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 25
          }
        },
        "updatedAt": "2026-10-27T14:58:21.638727758Z"
      }
    },
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Cursor",
        "b": "LangChain",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary. The package's LICENSE.md reads \"© Anysphere Inc. All rights reserved\", with use subject to Cursor's Terms of Service (updated 3 September 2026). No source repository is published",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-25",
        "b": "2026-09-21",
        "name": "Last release"
      },
      {
        "a": "2026-09-03",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-29",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "42k stars, 2.3M npm/wk, 10.4M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LangGraph scores 70.6 (BB) on agent readiness against Cursor Agent SDK's 63.6 (B), and leads in 5 of 7 scored categories. Cursor Agent SDK leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Cursor Agent SDK or LangGraph?"
      },
      {
        "answer": "No open-source release is listed for Cursor Agent SDK. LangGraph is open source (MIT).",
        "question": "Are Cursor Agent SDK and LangGraph open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 80 against 70",
          "Security \u0026 auth, 68 against 60"
        ],
        "also": [
          "No incidents deducted, where LangGraph loses 3 points for them"
        ],
        "goodFor": "Teams already on Cursor who want version-controlled agents for pull request review, triage and Slack, with evals in CI and one-command hosting.",
        "slug": "cursor-agent-sdk",
        "watchFor": "Closed source under Cursor's terms, with no public repository, CI or issue tracker"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 45",
          "Schema \u0026 documentation, 89 against 82",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 90 against 74",
          "Transparency \u0026 trust, 79 against 70"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Long-running, stateful agents that pause for people and must survive restarts.",
        "slug": "langgraph",
        "watchFor": "No MCP client of its own. LangChain's langchain.mcp is in beta"
      }
    ],
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk.json",
        "title": "AgentOS vs Cursor Agent SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-langgraph.json",
        "title": "AgentOS vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-cursor-agent-sdk.json",
        "title": "Agno vs Cursor Agent SDK",
        "url": "https://www.anchorterminal.com/compare/agno-vs-cursor-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-langgraph.json",
        "title": "Agno vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/agno-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-cursor-agent-sdk.json",
        "title": "Claude Agent SDK vs Cursor Agent SDK",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-cursor-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph.json",
        "title": "Claude Agent SDK vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-cursor-agent-sdk.json",
        "title": "CrewAI vs Cursor Agent SDK",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-cursor-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-langgraph.json",
        "title": "CrewAI vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-docker-agent.json",
        "title": "Cursor Agent SDK vs Docker Agent",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-docker-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-google-adk.json",
        "title": "Cursor Agent SDK vs Agent Development Kit (ADK)",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-google-adk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-guilds-run.json",
        "title": "Cursor Agent SDK vs guilds.run",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-guilds-run"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework.json",
        "title": "Cursor Agent SDK vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk.json",
        "title": "Cursor Agent SDK vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-pydantic-ai.json",
        "title": "Cursor Agent SDK vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-tradingagents.json",
        "title": "Cursor Agent SDK vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-langgraph.json",
        "title": "Docker Agent vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-langgraph.json",
        "title": "Agent Development Kit (ADK) vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-langgraph.json",
        "title": "guilds.run vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.json",
        "title": "LangGraph vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.json",
        "title": "LangGraph vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai.json",
        "title": "LangGraph vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.json",
        "title": "LangGraph vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents"
      }
    ],
    "scores": [
      {
        "by": 30,
        "cursor-agent-sdk": 45,
        "edge": "langgraph",
        "key": "reliability",
        "langgraph": 75,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "cursor-agent-sdk": 82,
        "edge": "langgraph",
        "key": "schema",
        "langgraph": 89,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 10,
        "cursor-agent-sdk": 80,
        "edge": "cursor-agent-sdk",
        "key": "ergonomics",
        "langgraph": 70,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 8,
        "cursor-agent-sdk": 68,
        "edge": "cursor-agent-sdk",
        "key": "security",
        "langgraph": 60,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "cursor-agent-sdk": 30,
        "edge": "langgraph",
        "key": "payments",
        "langgraph": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "cursor-agent-sdk": 74,
        "edge": "langgraph",
        "key": "maintenance",
        "langgraph": 90,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 9,
        "cursor-agent-sdk": 70,
        "edge": "langgraph",
        "key": "transparency",
        "langgraph": 79,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LangGraph scores 70.6 (BB) on agent readiness against Cursor Agent SDK's 63.6 (B), and leads in 5 of 7 scored categories. Cursor Agent SDK leads on agent ergonomics and security \u0026 auth. Both do agent frameworks.",
    "tutorials": [],
    "verdicts": {
      "cursor-agent-sdk": "An agent-as-code framework with typed tools, declared read and write effects that drive retries and dry runs, an approval gate per tool and evals that assert on tool calls. It's closed source, every model turn runs through Cursor's backend on a Cursor plan, local sandboxing is off by default, and the changelog has two entries.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph",
    "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.min.md"
  },
  "markdown": "LangGraph scores 70.6 (BB) on agent readiness against Cursor Agent SDK's 63.6 (B), and leads in 5 of 7 scored categories. Cursor Agent SDK leads on agent ergonomics and security \u0026 auth. Both do agent frameworks.\n\n- Cursor Agent SDK: grade B, 63.6/100, rank #443 of 1217. Markdown https://www.anchorterminal.com/tools/cursor-agent-sdk.md · JSON https://www.anchorterminal.com/api/v1/tools/cursor-agent-sdk.json\n- LangGraph: grade BB, 70.6/100, rank #163 of 1217. Markdown https://www.anchorterminal.com/tools/langgraph.md · JSON https://www.anchorterminal.com/api/v1/tools/langgraph.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 78 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### Cursor Agent SDK (B)\n\nGood for: Teams already on Cursor who want version-controlled agents for pull request review, triage and Slack, with evals in CI and one-command hosting.\n\nAhead on:\n- Agent ergonomics, 80 against 70\n- Security \u0026 auth, 68 against 60\n\nAlso in its favour:\n- No incidents deducted, where LangGraph loses 3 points for them\n\nWatch for: Closed source under Cursor's terms, with no public repository, CI or issue tracker\n\n### LangGraph (BB)\n\nGood for: Long-running, stateful agents that pause for people and must survive restarts.\n\nAhead on:\n- Reliability, 75 against 45\n- Schema \u0026 documentation, 89 against 82\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 90 against 74\n- Transparency \u0026 trust, 79 against 70\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No key needed to call it\n- Open source\n\nWatch for: No MCP client of its own. LangChain's langchain.mcp is in beta\n\n\n## Score by category\n\n| Category | Weight | Cursor Agent SDK | LangGraph | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 75 | LangGraph +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 89 | LangGraph +7 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 70 | Cursor Agent SDK +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 60 | Cursor Agent SDK +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | LangGraph +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 74 | 90 | LangGraph +16 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 79 | LangGraph +9 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **63.6 · B** | **70.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Cursor Agent SDK | LangGraph |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | Cursor | LangChain |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Your plan | Free |\n| x402 | no | no |\n| Licence | Proprietary. The package's LICENSE.md reads \"© Anysphere Inc. All rights reserved\", with use subject to Cursor's Terms of Service (updated 3 September 2026). No source repository is published | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-25 | 2026-09-21 |\n| Terms last updated | 2026-09-03 | no document linked |\n| Privacy policy last updated | 2026-09-29 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | yes |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | none | 42k stars, 2.3M npm/wk, 10.4M PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**Cursor Agent SDK.** An agent-as-code framework with typed tools, declared read and write effects that drive retries and dry runs, an approval gate per tool and evals that assert on tool calls. It's closed source, every model turn runs through Cursor's backend on a Cursor plan, local sandboxing is off by default, and the changelog has two entries.\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### Cursor Agent SDK\n\n1. Install `@grok/agent-sdk`, not `@cursor/agent-sdk` from the launch post. That name answers 404 on npm\n2. Set `local.sandbox` before a turn reads webhook payloads, pull request diffs or chat. Without it shell commands auto-approve with the host's credentials\n3. Give every tool an `effect`. A tool without one counts as a write, runs once and is stubbed in dry runs\n4. Start `agent-sdk serve` with `--bearer-token` on any shared host. `--allow-anonymous` admits every caller as one principal\n5. Delete bot/hooks/memory.ts when sessions serve different people. The journal shares each turn's message and result with later turns\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## Questions\n\n### Which is better for AI agents, Cursor Agent SDK or LangGraph?\n\nLangGraph scores 70.6 (BB) on agent readiness against Cursor Agent SDK's 63.6 (B), and leads in 5 of 7 scored categories. Cursor Agent SDK leads on agent ergonomics and security \u0026 auth.\n\n### Are Cursor Agent SDK and LangGraph open source?\n\nNo open-source release is listed for Cursor Agent SDK. LangGraph is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cursor-agent-sdk\", \"b\": \"langgraph\"}`. From a terminal: `anchor compare cursor-agent-sdk langgraph`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cursor-agent-sdk.json and https://www.anchorterminal.com/api/v1/tools/langgraph.json\n\n## Other comparisons with Cursor Agent SDK or LangGraph\n\n- [AgentOS vs Cursor Agent SDK](https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk.md)\n- [AgentOS vs LangGraph](https://www.anchorterminal.com/compare/agentos-vs-langgraph.md)\n- [Agno vs Cursor Agent SDK](https://www.anchorterminal.com/compare/agno-vs-cursor-agent-sdk.md)\n- [Agno vs LangGraph](https://www.anchorterminal.com/compare/agno-vs-langgraph.md)\n- [Claude Agent SDK vs Cursor Agent SDK](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-cursor-agent-sdk.md)\n- [Claude Agent SDK vs LangGraph](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph.md)\n- [CrewAI vs Cursor Agent SDK](https://www.anchorterminal.com/compare/crewai-vs-cursor-agent-sdk.md)\n- [CrewAI vs LangGraph](https://www.anchorterminal.com/compare/crewai-vs-langgraph.md)\n- [Cursor Agent SDK vs Docker Agent](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-docker-agent.md)\n- [Cursor Agent SDK vs Agent Development Kit (ADK)](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-google-adk.md)\n- [Cursor Agent SDK vs guilds.run](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-guilds-run.md)\n- [Cursor Agent SDK vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework.md)\n- [Cursor Agent SDK vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-openai-agents-sdk.md)\n- [Cursor Agent SDK vs Pydantic AI](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-pydantic-ai.md)\n- [Cursor Agent SDK vs TradingAgents](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-tradingagents.md)\n- [Docker Agent vs LangGraph](https://www.anchorterminal.com/compare/docker-agent-vs-langgraph.md)\n- [Agent Development Kit (ADK) vs LangGraph](https://www.anchorterminal.com/compare/google-adk-vs-langgraph.md)\n- [guilds.run vs LangGraph](https://www.anchorterminal.com/compare/guilds-run-vs-langgraph.md)\n- [LangGraph vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.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- [LangGraph vs TradingAgents](https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-27",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Cursor Agent SDK vs LangGraph",
        "url": ""
      }
    ],
    "description": "LangGraph scores 70.6 (BB) to Cursor Agent SDK's 63.6 (B) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cursor Agent SDK B 63.6",
      "LangGraph BB 70.6",
      "scores"
    ],
    "h1": "Cursor Agent SDK vs LangGraph",
    "image": "https://www.anchorterminal.com/assets/og/compare-cursor-agent-sdk-vs-langgraph.png",
    "path": "/compare/cursor-agent-sdk-vs-langgraph",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cursor Agent SDK vs LangGraph for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-27",
    "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
