Head to head · Agent frameworks · October 2026 research run

Cursor Agent SDK vs Strands Agents

Strands Agents scores 80 (A) on agent readiness against Cursor Agent SDK's 63.7 (B), and leads in every scored category. Both do agent frameworks.

Best agent frameworks and SDKs · All 171 frameworks comparisons

Which one, for what

Cursor Agent SDK B

Best 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.

Also in its favour

  • No incidents deducted, where Strands Agents loses 4 points for them

Watch for

Closed source under Cursor's terms, with no public repository, CI or issue tracker

Strands Agents A

Best for Python or TypeScript teams, especially on AWS, who want a model-driven loop with MCP, multi-agent patterns and approval gates.

Ahead on

  • Reliability, 87 against 45
  • Schema & documentation, 95 against 82
  • Agent ergonomics, 87 against 80
  • Security & auth, 89 against 68
  • Payments & pricing, 60 against 30
  • Maintenance & community, 87 against 74

Also in its favour

  • Agent-ready, a grade of BB or better
  • No key needed to call it
  • Open source

Watch for

Three advisories in October 2026 on A2A session sharing and world-readable default session files, fixed in 1.43.0 and 1.48.0

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability Strands Agents +42

Cursor Agent SDK 45

Local-package reading, since the owner runs the framework, with Cursor's hosting as an option. Official npm package with Node 22.13 or newer stated in engines and in the docs, which also say never Bun (20). Closed source, so no public CI or test suite (0). No public issue tracker. github.com/cursor/cursor holds a README and SECURITY.md, and forum.cursor.com has no Agent SDK tag, so there's nothing to count open crashes against. The troubleshooting page lists known failures with fixes (5). A dated changelog of two entries, 0.2.29 and 0.3.0, both 23 October 2026, and 0.3.0 calls out the removed persistent option, but the 27 earlier @cursor/bdk versions and 123 @cursor/july versions have no notes, and one build ships under three package names (5). Version 0.3.0, but the changelog post of 20 October says generally available and the docs changelog labels 0.3.0 the GA release, which we read as declared stable (15). 20+0+5+5+15 = 45.

Strands Agents 87

Local-package reading. Official PyPI and npm packages with Python 3.10 and Node 22 stated (20). A public CI workflow runs lint, type checks, unit and integration tests for each package on pull requests to main, plus security-audit workflows, and the latest Python, TypeScript, harness and MCP runs on main passed on 6 November (25). 664 open issues and 1,151 open issues and pull requests on 6 November, with 545 issues opened in the 90 days to 3 November. Of the 50 newest, 12 had a comment and 15 were closed, and 9 of the 40 newest open items carry a bug label. An issue-responder workflow runs on new issues (12). A written semantic versioning policy, experimental APIs kept apart, and deprecations removed only at a major (15). 1.0 since 15 July 2025 (15). 20+25+12+15+15 = 87.

Payments & pricing Strands Agents +30

Cursor Agent SDK 30

Framework reading of the published rubric. No payment protocol (0). Per-million-token prices for Cursor models, including the default Grok 4.5 with Fast, and plan prices are public, but no price for managed hosting and no statement of which plans cover the Agent SDK were found (15). The package is free and the Free plan needs no card, but its usage is only described as limited agent requests (15). A person signs in through a browser or creates an API key in the dashboard before a model turn runs (0). 0+15+15+0 = 30.

Strands Agents 60

Self-hosted rule. Free Apache-2.0 packages with nothing to buy from the project (20 + 20 + 20). No payment protocol (0). Model calls are paid to the provider. 0+20+20+20 = 60.

Security & auth Strands Agents +21

Cursor Agent SDK 68

Framework reading. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt injection, 15 for audit and 20 for the security programme. Every model turn goes through Cursor's backend with a Cursor credential, even on a self-hosted server, and the data-use page says Cursor may store and train on prompts and code with Privacy Mode off. Managed hosting stores the repository and agent data whatever the Privacy Mode setting. OpenTelemetry export is off until an endpoint is set, with prompt text and tool payloads behind separate flags, and the npm update check has a documented switch. Install copies skills into ~/.cursor/skills (18). needsApproval parks a tool call for a person, dry runs stub writes and the harness tools take an allowlist, but local.sandbox is off by default, so shell commands auto-approve with the host's environment and file tools reach any path the process can. Hosted deployments enforce an egress allowlist (12). The docs tell you to turn the sandbox on for webhook payloads, diffs and chat, document HMAC and shared-secret auth on webhook routes, and warn that anyone who can talk to the agent can drive Cursor account connectors. The scaffolded memory journal shares turns across sessions, with an instruction to treat it as untrusted (10). Sessions keep every message and tool call, hooks can mirror them for audit, and ctx.approvedBy records the approver (14). security.txt and SECURITY.md with a disclosure address and Cursor's GitHub advisories, no bug bounty found, and no advisory for the three package names in OSV on 2 November (14). SOC 2 and ISO 27001 aren't scored on the framework reading. 18+12+10+14+14 = 68.

Strands Agents 89

Framework reading (telemetry defaults, approvals, guardrails, sandboxing). No usage analytics found in either SDK, and OpenTelemetry is opt-in (25). Interrupts and the harness's interventions gate tool calls behind human approval or Cedar policies, but the default sandbox is the local host (16). Guardrails, PII redaction and trusted message history pages, with Bedrock Guardrails integration (13). OpenTelemetry traces for every model and tool call (15). The AWS Vulnerability Disclosure Program on HackerOne and three advisories in October 2026 published with fixed versions (20). 25+16+13+15+20 = 89.

Schema & documentation Strands Agents +13

Cursor Agent SDK 82

Framework reading. Typed TypeScript declarations ship in the package, tools take Zod or JSON Schema, agent-sdk help --json describes every command's flags and exit codes, and GET /v1/info and GET /v1/tools/:name return the discovered surface and each tool's schemas. No OpenAPI document for the HTTP routes (20). cursor.com/llms.txt lists every Agent SDK page with a Markdown twin, and the package ships the docs and an llms.txt (10). The overview has a table of when to use the Agent SDK, Automations or Grok Bot, and the hooks page has a table of what to use instead of a hook for each job (18). Typed config, effect as an enum or predicate, timeArgs checked against the input schema, and slug patterns stated (13). Examples on every page, with error tables for direct tool calls, HTTP 401, 403 and 409, the limit error's JSON and seven exit codes (15). A dated changelog, but only two entries, both from 23 October 2026 (6). 20+10+18+13+15+6 = 82.

Strands Agents 95

Framework reading. Typed Python and TypeScript APIs with a reference for each (25). llms.txt with a Markdown twin of every page (10). The llms.txt and docs say when to use Strands over a hand-written loop and when to take the harness rather than the SDK (18). Tools are typed from decorated functions or Zod schemas (15). Python and TypeScript examples on every page, stop reasons and hook events documented, with no catalogue of exceptions (12). Versioning page and tagged releases per package (15). 25+10+18+15+12+15 = 95.

Maintenance & community Strands Agents +13

Cursor Agent SDK 74

0.3.0 on npm on 25 October 2026, per the 27 October check (npm not re-read on 2 November), and the docs changelog still ends at 0.3.0 of 23 October (30). Five @grok/agent-sdk versions from 22 to 25 October and 29 @cursor/bdk versions since 22 September, per the 27 October check (20). Closed product. A public changelog with two entries and a forum with no Agent SDK tag, so we couldn't see replies to SDK reports (8). The npm package is current and official, TypeScript only (12). Dependencies are current releases, but there's no public CI and the same build goes out under three names with a postinstall script (4). 30+20+8+12+4 = 74.

Strands Agents 87

Python 1.64.0 and TypeScript 1.24.0 tagged on 4 November 2026 (30). Python 1.55.0 on 8 September, 1.61.0 on 14 October, 1.62.0 on 21 October and 1.63.0 on 30 October among many releases in 90 days (20). 664 open issues and 1,151 open issues and pull requests on 6 November, with 545 issues opened in the 90 days to 3 November. Of the 50 newest, 12 had a comment and 15 were closed, and 9 of the 40 newest open items carry a bug label. An issue-responder workflow runs on new issues (12). Both official SDKs are current (15). Dependency floors, security-audit workflows and CI passing on main (10). 30+20+12+15+10 = 87.

Agent ergonomics Strands Agents +7

Cursor Agent SDK 80

Framework reading, scored on what it takes to run a tool-calling agent with MCP. One file per tool and one file per MCP connection, tools and disallowedTools filters with effects: "read", and an allowlist for the harness's built-in tools (22). Concurrency caps with queued turns, --fields, page tokens and limits on list commands, and a per-session cost view. We found no turn cap or spend cap for a run (12). Built-in routes return { ok: false, error } codes, direct tool calls have documented 400, 404, 409 and 500 codes, and the CLI has seven exit codes (18). Reads and idempotent calls retry up to three times, writes run once, MCP readOnlyHint and idempotentHint decide retries for connection tools, and dry-run sessions stub writes (20). agent-sdk init scaffolds a working project and every agent field is optional, but the framework is TypeScript only (8). 22+12+18+20+8 = 80.

Strands Agents 87

Framework reading. An MCPClient is passed straight to the agent in a few lines and its lifecycle is managed, with tool filtering per client (22). Conversation managers, turn limits, token budgets and cancellation bound each run (20). Stop reasons and typed events, and hooks that can retry a model or tool call (16). Retry strategies, session managers that persist and resume a conversation, and interrupts that resume where they paused (17). Two official languages, but the default provider is Bedrock, which needs AWS credentials and model access (12). 22+20+16+17+12 = 87.

Score by category

CategoryWeight this runCursor Agent SDKStrands AgentsEdge
Reliability16%204587Strands Agents +42
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28295Strands Agents +13
Agent ergonomics13%16.28087Strands Agents +7
Security & auth14%17.56889Strands Agents +21
Payments & pricing10%12.53060Strands Agents +30
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87487Strands Agents +13
Transparency & trust7%8.87172Strands Agents +1
Negative events≤150-4
TotalB 63.7/100A 80/100

Facts side by side

FactCursor Agent SDKStrands Agents
KindAgent frameworkAgent framework
VendorCursorAmazon Web Services
Hosted endpointno (local only)no (local only)
Transports
AuthOAuth or keyNone
PricingYour planFree
x402nono
LicenceProprietary. 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 publishedApache-2.0
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-252026-11-04
Terms last updated2026-09-03no document linked
Privacy policy last updated2026-09-29no document linked
Customer content may train modelsnot found in the textnot read yet
Terms restrict automated accessyesnot read yet
Terms restrict benchmarkingyesnot read yet
Terms or service can change without noticeyesnot read yet
Arbitration or class-action waiveryesnot read yet
Popularitynone9.1k stars, 698k npm/wk, 8.9M PyPI/wk

How the scores have moved

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.

Strands Agents

An Apache-2.0 agent SDK for Python and TypeScript with a managed MCP client, multi-agent patterns, interrupts and Cedar policies for approval, opt-in OpenTelemetry and no usage analytics. Bedrock is the default model, the default sandbox is the local host, and three session-isolation advisories were fixed in October 2026.

Before you call either

Cursor Agent SDK

  1. Install @grok/agent-sdk, not @cursor/agent-sdk from the launch post. That name answers 404 on npm
  2. 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
  3. Give every tool an effect. A tool without one counts as a write, runs once and is stubbed in dry runs
  4. Start agent-sdk serve with --bearer-token on any shared host. --allow-anonymous admits every caller as one principal
  5. Delete bot/hooks/memory.ts when sessions serve different people. The journal shares each turn's message and result with later turns

Strands Agents

  1. Upgrade to strands-agents 1.48.0 or later, and set a private session directory rather than the /tmp default
  2. Pass a model explicitly when AWS credentials aren't configured, since Bedrock is the default
  3. Use interrupts or the harness's interventions for tools that write, send or pay
  4. Run shell and file tools in the Docker or SSH sandbox when the agent runs untrusted code
  5. Pin a minor version when using A2A, MCP or experimental modules

Questions

Which is better for AI agents, Cursor Agent SDK or Strands Agents?

Strands Agents scores 80 (A) on agent readiness against Cursor Agent SDK's 63.7 (B), and leads in every scored category.

Are Cursor Agent SDK and Strands Agents open source?

No open-source release is listed for Cursor Agent SDK. Strands Agents is open source (Apache-2.0).

Other comparisons with Cursor Agent SDK or Strands Agents

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.