{
  "data": {
    "a": {
      "slug": "strands-agents",
      "name": "Strands Agents",
      "vendor": "Amazon Web Services",
      "vendorUrl": "https://strandsagents.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Strands Agents is AWS's open-source agent SDK for Python and TypeScript. A model-driven loop runs tools, MCP servers, multi-agent patterns, sessions, interrupts for human approval and OpenTelemetry tracing, with Amazon Bedrock as the default model provider.",
      "url": "https://www.anchorterminal.com/tools/strands-agents",
      "markdownUrl": "https://www.anchorterminal.com/tools/strands-agents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/strands-agents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/strands-agents.json",
      "dns": "strands-agents.grade.anchorterminal.com",
      "repo": "https://github.com/strands-agents/harness-sdk",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "strands-agents"
        },
        {
          "registry": "npm",
          "name": "@strands-agents/sdk"
        },
        {
          "registry": "pypi",
          "name": "strands-agents-tools"
        }
      ],
      "auth": "none",
      "authNotes": "A library with no credentials of its own. The default Bedrock provider uses the caller's AWS credentials; other providers take their own API keys.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0. You pay for model calls, on Bedrock by default or with any supported provider.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the repository (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 9066,
        "npmWeekly": 697548,
        "pypiWeekly": 8902370,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://strandsagents.com/docs",
      "llmsTxt": "https://strandsagents.com/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.mcp-client",
        "agent.multi-agent",
        "agent.durable"
      ],
      "tags": [
        "framework",
        "python",
        "typescript",
        "open-source",
        "llms-txt",
        "mcp",
        "otel",
        "a2a",
        "aws"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 80,
        "grade": "A",
        "agentReady": true,
        "rank": 15,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 87,
          "payments": 60,
          "reliability": 87,
          "schema": 95,
          "security": 89,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-23 and 2026-10-27. Three GitHub advisories for strands-agents. GHSA-4v6f-7vjh-6x4m (high) says the A2A server shared conversation history across callers with different context IDs, fixed in Python 1.43.0 and TypeScript 1.5.0. GHSA-3w55-933p-8pv5 (high) and GHSA-763v-5pjm-fx36 (moderate) say the default FileSessionManager stored sessions in a world-readable /tmp path that followed symlinks, fixed in 1.48.0. All published with fixes and credited, so 4 points. https://github.com/strands-agents/harness-sdk/security/advisories/GHSA-3w55-933p-8pv5"
        ],
        "verdict": "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.",
        "bestFor": "Python or TypeScript teams, especially on AWS, who want a model-driven loop with MCP, multi-agent patterns and approval gates.",
        "strengths": [
          "No usage analytics found, with OpenTelemetry tracing opt-in",
          "Interrupts and interventions pause tool calls for human approval or a Cedar policy",
          "MCP servers passed straight to the agent, with lifecycle handled",
          "Python and TypeScript SDKs released weekly, 1.0 since July 2025, under a written versioning policy",
          "llms.txt with a Markdown twin of every docs page"
        ],
        "weaknesses": [
          "Three advisories in October 2026 on A2A session sharing and world-readable default session files, fixed in 1.43.0 and 1.48.0",
          "The default sandbox for shell and file tools is the local host",
          "Bedrock is the default provider, so a bare agent needs AWS credentials and model access",
          "Experimental modules and fast-moving standards (MCP, A2A, OTel conventions) sit outside the semantic versioning guarantee"
        ],
        "agentNotes": [
          "Upgrade to strands-agents 1.48.0 or later, and set a private session directory rather than the /tmp default",
          "Pass a model explicitly when AWS credentials aren't configured, since Bedrock is the default",
          "Use interrupts or the harness's `interventions` for tools that write, send or pay",
          "Run shell and file tools in the Docker or SSH sandbox when the agent runs untrusted code",
          "Pin a minor version when using A2A, MCP or experimental modules"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 80
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 87,
          "payments": 60,
          "reliability": 87,
          "schema": 95,
          "security": 89,
          "transparency": 86
        },
        "provenanceScore": 58,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install strands-agents strands-agents-tools   # TypeScript: npm i @strands-agents/sdk"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/strands-agents"
      },
      "sameCompany": [
        "strands-decider"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Amazon Web Services, Inc.",
        "domain": "strandsagents.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/strands-agents/harness-sdk/releases",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The licence file and NOTICE attribute the project to Amazon.com, Inc. or its affiliates; SECURITY.md sends reports to the AWS Vulnerability Disclosure Program on HackerOne.",
          "strandsagents.com/robots.txt allows all crawlers with Content-Signal ai-train=no, search=yes, ai-input=yes.",
          "strandsagents.com/.well-known/security.txt returns 404."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/strands-agents.json",
      "live": {
        "slug": "strands-agents",
        "versions": [
          {
            "registry": "github",
            "name": "strands-agents/harness-sdk",
            "version": "typescript/v1.24.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-07T00:08:42.12303393Z"
          },
          {
            "registry": "npm",
            "name": "@strands-agents/sdk",
            "version": "1.24.0",
            "seenAt": "2026-11-07T00:08:40.21989722Z"
          },
          {
            "registry": "pypi",
            "name": "strands-agents",
            "version": "1.64.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-07T00:08:40.035164104Z"
          },
          {
            "registry": "pypi",
            "name": "strands-agents-tools",
            "version": "0.9.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-07T00:08:41.063215915Z"
          }
        ],
        "githubStars": 9066,
        "npmWeekly": 697548,
        "pypiWeekly": 8902370,
        "securityTxt": {
          "url": "https://strandsagents.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:32.408705195Z"
        },
        "llmsTxt": {
          "url": "https://strandsagents.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:02.911668247Z"
        },
        "updatedAt": "2026-11-07T16:00:32.408705195Z"
      }
    },
    "answer": "Strands Agents scores 80 (A) on agent readiness against TradingAgents's 61.4 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "tradingagents",
      "name": "TradingAgents",
      "vendor": "Tauric Research",
      "vendorUrl": "https://tauric.ai",
      "kind": "framework",
      "category": "frameworks",
      "summary": "TradingAgents, from Tauric Research, is an open-source Python framework on LangGraph in which LLM agents for analysis, research debate, trading and risk review produce a five-tier rating and a report for one ticker and date.",
      "url": "https://www.anchorterminal.com/tools/tradingagents",
      "markdownUrl": "https://www.anchorterminal.com/tools/tradingagents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tradingagents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tradingagents.json",
      "dns": "tradingagents.grade.anchorterminal.com",
      "repo": "https://github.com/TauricResearch/TradingAgents",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "The framework has no account of its own. Each model provider's key is read from the environment or a .env file, which the package loads on import by walking up from the working directory. A ChatGPT Plus or Pro plan can be used instead through OpenAI's sign-in for open-source apps (PKCE, dynamic client registration, loopback redirect), with tokens kept in ~/.tradingagents/chatgpt-auth.json readable only by its owner and revoked by `tradingagents logout chatgpt`. Bedrock uses AWS credentials. Alpha Vantage, FRED and TypeSafe's Jev take optional keys; Yahoo Finance, SEC EDGAR, Reddit, StockTwits and Polymarket need none.",
      "pricing": "free",
      "pricingNotes": "Free under Apache 2.0, with nothing to buy from Tauric Research to run it. Each run calls the chosen model provider many times (four analysts, a debate, a trader, three risk debaters and two managers by default), billed by that provider, or counted against a ChatGPT plan's usage limits. Alpha Vantage and Jev bill on their own terms when their keys are set. Tauric Research's hosted services at tauric.ai are invitation or enterprise access with no public price, and are not this listing (checked 2026-10-25).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, README or changelog of v0.7.0 (checked 2026-10-25).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-02"
      },
      "docsUrl": "https://github.com/TauricResearch/TradingAgents#readme",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable"
      ],
      "tags": [
        "framework",
        "python",
        "langgraph",
        "open-source",
        "apache-2.0",
        "self-hosted",
        "local",
        "cli",
        "docker",
        "free",
        "pre-1.0"
      ],
      "lastRelease": "2026-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.4,
        "grade": "C",
        "agentReady": false,
        "rank": 614,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 78,
          "payments": 60,
          "reliability": 52,
          "schema": 61,
          "security": 62,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "An Apache 2.0 LangGraph framework at 0.7.1 with seven releases in 90 days, a dated changelog with upgrade notes, a public test matrix and point-in-time rules for historical runs. It has no MCP client or server, no PyPI package and no documentation beyond the README, and its output is a model-written rating that places no orders.",
        "bestFor": "Researchers who want a fixed multi-agent analysis of one listed instrument or crypto pair on a date, with point-in-time data for backtests, and who will run Python.",
        "strengths": [
          "Apache 2.0, with seven releases between 31 August and 27 October 2026 and \"Upgrading from\" notes in a dated changelog",
          "CI runs about 1,009 test functions on Python 3.11 to 3.14, a clean-install import check and Ruff on every push and pull request",
          "Past-dated runs read SEC EDGAR statements as filed on that date and withhold Yahoo statements and insider trades that can't be dated",
          "Runs headless from flags and TRADINGAGENTS_* variables, and checkpoint resume and backtest run IDs skip work already done",
          "Places no orders and holds no broker credentials; tools only read market, filing, news and social data"
        ],
        "weaknesses": [
          "No MCP client or MCP server, so an agent drives it only through Python or the CLI",
          "Not on PyPI; installs from a clone, Docker or the wheel attached to each GitHub release since 0.7.0",
          "Documentation is the README and changelog only, with no API reference or llms.txt",
          "0.5.1, a patch release, moved import paths and removed classes without a deprecation period",
          "News, Reddit and StockTwits text goes into prompts with no documented guidance on prompt injection"
        ],
        "agentNotes": [
          "Run headless with `tradingagents --ticker \u003cT\u003e --date \u003cYYYY-MM-DD\u003e --analysts market,news,fundamentals --save --no-show`; a missing answer stops the run and names the flag",
          "Guard on the REVIEW signal before mapping `propagate()`'s decision to a rating; it means no rating could be parsed",
          "Set SEC_EDGAR_USER_AGENT to the operator's own name and address before fetching US fundamentals",
          "Keep provider keys out of the working directory tree unless intended, since the package loads the nearest .env on import",
          "Treat the rating as model output for research; the framework places no orders and its results vary between runs"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.4
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 78,
          "payments": 60,
          "reliability": 52,
          "schema": 61,
          "security": 62,
          "transparency": 73
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/TauricResearch/TradingAgents.git \u0026\u0026 cd TradingAgents \u0026\u0026 pip install ."
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/tradingagents"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Tauric Research",
        "domain": "tauric.ai",
        "domainRegistered": "2025-03-26",
        "endpointOnVendorDomain": null,
        "terms": "https://tauric.ai/terms",
        "privacy": "https://tauric.ai/privacy",
        "statusPage": "",
        "changelog": "https://github.com/TauricResearch/TradingAgents/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "The terms and privacy policy, both effective 31 October 2026, name Tauric Research and California law and cover tauric.ai's hosted services. No legal form or address was found. The framework itself is under Apache 2.0, whose LICENSE file carries no copyright line.",
          "tauric.ai/.well-known/security.txt answered 404 on 2 November 2026 (on 25 October it returned the site's HTML page). The repository's issue template sends security reports to GitHub private vulnerability reporting; there is no SECURITY.md.",
          "RDAP gives tauric.ai a registration date of 2025-03-26.",
          "No status page; the software runs on the user's machine.",
          "tauric.ai's robots.txt carries Content-Signal: ai-train=yes, search=yes, ai-input=yes."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tradingagents.json",
      "live": {
        "slug": "tradingagents",
        "versions": [
          {
            "registry": "github",
            "name": "TauricResearch/TradingAgents",
            "version": "v0.7.1",
            "released": "2026-10-27",
            "seenAt": "2026-11-07T00:12:38.886880905Z"
          }
        ],
        "githubStars": 121015,
        "securityTxt": {
          "url": "https://tauric.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:04.508537721Z"
        },
        "domain": {
          "domain": "tauric.ai",
          "registered": "2025-03-26",
          "source": "https://rdap.identitydigital.services/rdap/domain/tauric.ai",
          "checkedAt": "2026-11-01T14:17:50.711505753Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/TauricResearch/TradingAgents/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:19:27.182748345Z",
            "changedAt": "2026-10-28T04:42:43.2803853Z",
            "fingerprint": "17477e48440b"
          },
          {
            "url": "https://tauric.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:21:51.458749311Z",
            "changedAt": "2026-11-06T13:43:19.647848599Z",
            "fingerprint": "d55215742695"
          },
          {
            "url": "https://tauric.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:21:53.696550753Z",
            "changedAt": "2026-11-06T13:43:21.904160871Z",
            "fingerprint": "9a81673b9bce"
          }
        ],
        "github": {
          "repo": "tauricresearch/tradingagents",
          "checkedAt": "2026-11-02T08:27:02.133359759Z",
          "stars": 119716,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-27T08:43:04Z",
          "openIssues": 38,
          "openPRs": 68,
          "issuesOpened90d": 100,
          "issuesClosed90d": 228,
          "prsMerged90d": 15,
          "ci": {
            "branch": "main",
            "runs": 43,
            "success": 43,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-27T08:39:50Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 3,
            "medianDays": 4.6
          }
        },
        "updatedAt": "2026-11-07T16:01:04.508537721Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "reliability",
        "leads": "strands-agents",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Read with the local-software lines, because the owner runs it. Python 3.11 or later is stated and CI tests 3.11 to 3.14, but the project publishes no PyPI package. No workflow uploads one, and the README installs from a clone or Docker Compose. From 0.7.0 a release workflow builds a wheel and source archive from each tag and attaches them to the GitHub release (12 of 20). Public CI on every push and pull request runs the test suite (about 1,009 test functions at v0.7.1) on four Python versions and once in America/New_York, a clean-install import check and Ruff. The 25 October check read the pass state from shields.io, a third-party copy of GitHub data this run doesn't use, so that reading is struck, and the pass state on main is unread (15, as berth and agentvfs). Issue counts came from the same source and are struck too. On the clone, 0.7.1 (27 October) fixes 22 numbered issues, 17 of them above #1518, the newest fixed in 0.7.0 on 16 October, and credits 15 outside contributors; open crash or regression issues and reply times are unread (15, as berth on the same pattern). The changelog follows Keep a Changelog and Semantic Versioning and lists breaking changes under \"Upgrading from\", but 0.5.1, a patch release, moved import paths and removed classes (10 of 15). Version 0.7.1 with no stability statement (0). 12+15+15+10+0 = 52."
        },
        "scores": {
          "a": 87,
          "b": 52
        }
      },
      {
        "by": 34,
        "category": "schema",
        "leads": "strands-agents",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "Framework reading. No API reference or docs site. Typed interfaces exist in the source, Pydantic models for the research manager's, trader's and portfolio manager's outputs and Annotated signatures on the twelve data tools, with no py.typed marker (10 of 25). The README and changelog are Markdown in the repository; no llms.txt (4 of 10). The README states limits plainly, that runs vary, which statements past-dated runs withhold and why, and that it is a research tool, not advice (15 of 20). Configuration is a plain dict of string keys, though environment overrides are coerced to the default's type and fail loudly on a bad value (8 of 15). Runnable Python and CLI examples throughout the README; the vendor error hierarchy is documented only in source docstrings (9 of 15). Dated changelog for every release from 0.1.0 with upgrade notes (15)."
        },
        "scores": {
          "a": 95,
          "b": 61
        }
      },
      {
        "by": 27,
        "category": "security",
        "leads": "strands-agents",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Framework reading. 30 for what leaves the machine and how credentials are held, 20 for least privilege and approvals, 15 for prompt injection, 15 for audit and 20 for the security programme. Keys are read from the environment, and the package loads the nearest .env on import by walking up from the working directory. The ChatGPT sign-in uses PKCE and dynamic client registration, keeps tokens in a 0600 file and revokes them on logout. The only calls of its own are the interactive CLI's daily release and notice check, with no run data, off without a terminal or with TRADINGAGENTS_NO_UPDATE_CHECK=1. SEC EDGAR gets a placeholder contact address unless one is set (24 of 30). It places no orders and holds no broker credentials, the data tools only read, and every ticker is validated before it is used in a file path. No approval hooks, which nothing in it needs (14 of 20). News, Reddit and StockTwits text goes into prompts. The source names prompt injection as the reason for path validation, but no guidance on injection was found in the README (5 of 15). Saved reports record the run's settings and each agent's report, the memory log keeps every decision, and `debug=True` streams the graph (11 of 15). Security reports go to GitHub private vulnerability reporting per the issue template, and the changelog has Security sections for a langchain-core patch and a dependency removed over CVE-2026-22218. No SECURITY.md, no security.txt on tauric.ai (404 on 2 November), no bounty, and the repository's advisories page wasn't read (8 of 20). 24+14+5+11+8 = 62."
        },
        "scores": {
          "a": 89,
          "b": 62
        }
      },
      {
        "by": 26,
        "category": "ergonomics",
        "leads": "strands-agents",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "Framework reading, scored on what an outside agent needs to call it. No MCP client or server, so it can't be attached as tools; a run is four lines of Python (`TradingAgentsGraph(config=...).propagate(ticker, date)`) or one headless CLI command with flags (10 of 25). Analyst selection, debate and risk rounds (default 1), `max_tool_rounds` (20), `max_recur_limit` (100), article limits and `--no-html` size a run (14 of 20). A typed vendor error hierarchy separates unavailable from absent data, the headless CLI names the missing flag before a run starts, and an unparseable decision returns REVIEW rather than Hold (15 of 20). Checkpoint resume is opt-in, a backtest rerun with the same `run_id` skips finished cells, and settlement writes each decision once; nothing writes to an outside system (15 of 20). Sensible defaults, but the default provider is OpenAI's GPT-6 models with a key, and Python only (7 of 15)."
        },
        "scores": {
          "a": 87,
          "b": 61
        }
      },
      {
        "by": 9,
        "category": "maintenance",
        "leads": "strands-agents",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "0.7.1 on 27 October 2026 (30). Seven releases in the 90 days to 2 November, 0.4.0 (31 August), 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.7.0 and 0.7.1 (20). The earlier issue and pull request counts came from shields.io and are struck. On the clone, fixes cite issue numbers and each release credits the people who reported or fixed them (15 outside contributors in 0.7.1), but 251 of the 258 commits since 4 August are by one maintainer's accounts and reply times couldn't be read (13 of 25, as pipecat on clone evidence). No PyPI package; versions ship as GitHub releases with a wheel since 0.7.0 (8 of 15). CI with tests, lint and a clean-install check; dependencies set lower bounds only and no Dependabot configuration is in the repository (7 of 10). 30+20+13+8+7 = 78."
        },
        "scores": {
          "a": 87,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Amazon Web Services",
        "b": "Tauric Research",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-04",
        "b": "2026-10-27",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-10-23",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-23",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.1k stars, 698k npm/wk, 8.9M PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Strands Agents scores 80 (A) on agent readiness against TradingAgents's 61.4 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Strands Agents or TradingAgents?"
      },
      {
        "answer": "Yes. Strands Agents is open source (Apache-2.0). TradingAgents is open source (Apache-2.0).",
        "question": "Are Strands Agents and TradingAgents open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 87 against 52",
          "Schema \u0026 documentation, 95 against 61",
          "Agent ergonomics, 87 against 61",
          "Security \u0026 auth, 89 against 62",
          "Maintenance \u0026 community, 87 against 78"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No key needed to call it"
        ],
        "goodFor": "Python or TypeScript teams, especially on AWS, who want a model-driven loop with MCP, multi-agent patterns and approval gates.",
        "slug": "strands-agents",
        "watchFor": "Three advisories in October 2026 on A2A session sharing and world-readable default session files, fixed in 1.43.0 and 1.48.0"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Strands Agents loses 4 points for them"
        ],
        "goodFor": "Researchers who want a fixed multi-agent analysis of one listed instrument or crypto pair on a date, with point-in-time data for backtests, and who will run Python.",
        "slug": "tradingagents",
        "watchFor": "No MCP client or MCP server, so an agent drives it only through Python or the CLI"
      }
    ],
    "history": {
      "strands-agents": null,
      "tradingagents": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": -3.3,
          "from": 64.7,
          "fromGrade": "B",
          "to": 61.4,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.1,
          "from": 64.8,
          "fromGrade": "B",
          "to": 64.7,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 64.7,
          "fromGrade": "B",
          "to": 64.8,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-strands-agents.json",
        "title": "AgentOS vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-tradingagents.json",
        "title": "AgentOS vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-strands-agents.json",
        "title": "Agno vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/agno-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-tradingagents.json",
        "title": "Agno vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/agno-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-strands-agents.json",
        "title": "BoxLang AI vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-tradingagents.json",
        "title": "BoxLang AI vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-strands-agents.json",
        "title": "Claude Agent SDK vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-tradingagents.json",
        "title": "Claude Agent SDK vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-strands-agents.json",
        "title": "CrewAI vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-tradingagents.json",
        "title": "CrewAI vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-strands-agents.json",
        "title": "Cursor Agent SDK vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-strands-agents"
      },
      {
        "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-strands-agents.json",
        "title": "Docker Agent vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-tradingagents.json",
        "title": "Docker Agent vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-strands-agents.json",
        "title": "Agent Development Kit (ADK) vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-tradingagents.json",
        "title": "Agent Development Kit (ADK) vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-strands-agents.json",
        "title": "guilds.run vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-tradingagents.json",
        "title": "guilds.run vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-strands-agents.json",
        "title": "LangGraph vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.json",
        "title": "LangGraph vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-strands-agents.json",
        "title": "LlamaIndex Framework vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-tradingagents.json",
        "title": "LlamaIndex Framework vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-strands-agents.json",
        "title": "Mastra vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-tradingagents.json",
        "title": "Mastra vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents.json",
        "title": "Microsoft Agent Framework vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents.json",
        "title": "Microsoft Agent Framework vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents.json",
        "title": "OpenAI Agents SDK vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents.json",
        "title": "OpenAI Agents SDK vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pydantic-ai-vs-strands-agents.json",
        "title": "Pydantic AI vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/pydantic-ai-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pydantic-ai-vs-tradingagents.json",
        "title": "Pydantic AI vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/pydantic-ai-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.json",
        "title": "smolagents vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.json",
        "title": "smolagents vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk.json",
        "title": "Strands Agents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk.json",
        "title": "TradingAgents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 35,
        "edge": "strands-agents",
        "key": "reliability",
        "name": "Reliability",
        "strands-agents": 87,
        "tradingagents": 52,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "strands-agents",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "strands-agents": 95,
        "tradingagents": 61,
        "weight": 13
      },
      {
        "by": 26,
        "edge": "strands-agents",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "strands-agents": 87,
        "tradingagents": 61,
        "weight": 13
      },
      {
        "by": 27,
        "edge": "strands-agents",
        "key": "security",
        "name": "Security \u0026 auth",
        "strands-agents": 89,
        "tradingagents": 62,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "strands-agents": 60,
        "tradingagents": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "strands-agents",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "strands-agents": 87,
        "tradingagents": 78,
        "weight": 7
      },
      {
        "by": 4,
        "edge": "strands-agents",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "strands-agents": 72,
        "tradingagents": 68,
        "weight": 7
      }
    ],
    "summary": "Strands Agents scores 80 (A) on agent readiness against TradingAgents's 61.4 (C), and leads in 6 of 7 scored categories. Both do agent frameworks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "tradingagents": "An Apache 2.0 LangGraph framework at 0.7.1 with seven releases in 90 days, a dated changelog with upgrade notes, a public test matrix and point-in-time rules for historical runs. It has no MCP client or server, no PyPI package and no documentation beyond the README, and its output is a model-written rating that places no orders."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents",
    "json": "https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents.min.md"
  },
  "markdown": "Strands Agents scores 80 (A) on agent readiness against TradingAgents's 61.4 (C), and leads in 6 of 7 scored categories. Both do agent frameworks.\n\n- Strands Agents: grade A, 80/100, rank #15 of 1486. Markdown https://www.anchorterminal.com/tools/strands-agents.md · JSON https://www.anchorterminal.com/api/v1/tools/strands-agents.json\n- TradingAgents: grade C, 61.4/100, rank #614 of 1486. Markdown https://www.anchorterminal.com/tools/tradingagents.md · JSON https://www.anchorterminal.com/api/v1/tools/tradingagents.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 171 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### Strands Agents (A)\n\nGood for: Python or TypeScript teams, especially on AWS, who want a model-driven loop with MCP, multi-agent patterns and approval gates.\n\nAhead on:\n- Reliability, 87 against 52\n- Schema \u0026 documentation, 95 against 61\n- Agent ergonomics, 87 against 61\n- Security \u0026 auth, 89 against 62\n- Maintenance \u0026 community, 87 against 78\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No key needed to call it\n\nWatch 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\n\n### TradingAgents (C)\n\nGood for: Researchers who want a fixed multi-agent analysis of one listed instrument or crypto pair on a date, with point-in-time data for backtests, and who will run Python.\n\nAlso in its favour:\n- No incidents deducted, where Strands Agents loses 4 points for them\n\nWatch for: No MCP client or MCP server, so an agent drives it only through Python or the CLI\n\n\n## Why the edge\n\n### Reliability: Strands Agents +35\n\n- 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.\n- TradingAgents (52): Read with the local-software lines, because the owner runs it. Python 3.11 or later is stated and CI tests 3.11 to 3.14, but the project publishes no PyPI package. No workflow uploads one, and the README installs from a clone or Docker Compose. From 0.7.0 a release workflow builds a wheel and source archive from each tag and attaches them to the GitHub release (12 of 20). Public CI on every push and pull request runs the test suite (about 1,009 test functions at v0.7.1) on four Python versions and once in America/New_York, a clean-install import check and Ruff. The 25 October check read the pass state from shields.io, a third-party copy of GitHub data this run doesn't use, so that reading is struck, and the pass state on main is unread (15, as berth and agentvfs). Issue counts came from the same source and are struck too. On the clone, 0.7.1 (27 October) fixes 22 numbered issues, 17 of them above #1518, the newest fixed in 0.7.0 on 16 October, and credits 15 outside contributors; open crash or regression issues and reply times are unread (15, as berth on the same pattern). The changelog follows Keep a Changelog and Semantic Versioning and lists breaking changes under \"Upgrading from\", but 0.5.1, a patch release, moved import paths and removed classes (10 of 15). Version 0.7.1 with no stability statement (0). 12+15+15+10+0 = 52.\n\n### Schema \u0026 documentation: Strands Agents +34\n\n- 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.\n- TradingAgents (61): Framework reading. No API reference or docs site. Typed interfaces exist in the source, Pydantic models for the research manager's, trader's and portfolio manager's outputs and Annotated signatures on the twelve data tools, with no py.typed marker (10 of 25). The README and changelog are Markdown in the repository; no llms.txt (4 of 10). The README states limits plainly, that runs vary, which statements past-dated runs withhold and why, and that it is a research tool, not advice (15 of 20). Configuration is a plain dict of string keys, though environment overrides are coerced to the default's type and fail loudly on a bad value (8 of 15). Runnable Python and CLI examples throughout the README; the vendor error hierarchy is documented only in source docstrings (9 of 15). Dated changelog for every release from 0.1.0 with upgrade notes (15).\n\n### Security \u0026 auth: Strands Agents +27\n\n- 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.\n- TradingAgents (62): Framework reading. 30 for what leaves the machine and how credentials are held, 20 for least privilege and approvals, 15 for prompt injection, 15 for audit and 20 for the security programme. Keys are read from the environment, and the package loads the nearest .env on import by walking up from the working directory. The ChatGPT sign-in uses PKCE and dynamic client registration, keeps tokens in a 0600 file and revokes them on logout. The only calls of its own are the interactive CLI's daily release and notice check, with no run data, off without a terminal or with TRADINGAGENTS_NO_UPDATE_CHECK=1. SEC EDGAR gets a placeholder contact address unless one is set (24 of 30). It places no orders and holds no broker credentials, the data tools only read, and every ticker is validated before it is used in a file path. No approval hooks, which nothing in it needs (14 of 20). News, Reddit and StockTwits text goes into prompts. The source names prompt injection as the reason for path validation, but no guidance on injection was found in the README (5 of 15). Saved reports record the run's settings and each agent's report, the memory log keeps every decision, and `debug=True` streams the graph (11 of 15). Security reports go to GitHub private vulnerability reporting per the issue template, and the changelog has Security sections for a langchain-core patch and a dependency removed over CVE-2026-22218. No SECURITY.md, no security.txt on tauric.ai (404 on 2 November), no bounty, and the repository's advisories page wasn't read (8 of 20). 24+14+5+11+8 = 62.\n\n### Agent ergonomics: Strands Agents +26\n\n- 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.\n- TradingAgents (61): Framework reading, scored on what an outside agent needs to call it. No MCP client or server, so it can't be attached as tools; a run is four lines of Python (`TradingAgentsGraph(config=...).propagate(ticker, date)`) or one headless CLI command with flags (10 of 25). Analyst selection, debate and risk rounds (default 1), `max_tool_rounds` (20), `max_recur_limit` (100), article limits and `--no-html` size a run (14 of 20). A typed vendor error hierarchy separates unavailable from absent data, the headless CLI names the missing flag before a run starts, and an unparseable decision returns REVIEW rather than Hold (15 of 20). Checkpoint resume is opt-in, a backtest rerun with the same `run_id` skips finished cells, and settlement writes each decision once; nothing writes to an outside system (15 of 20). Sensible defaults, but the default provider is OpenAI's GPT-6 models with a key, and Python only (7 of 15).\n\n### Maintenance \u0026 community: Strands Agents +9\n\n- 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.\n- TradingAgents (78): 0.7.1 on 27 October 2026 (30). Seven releases in the 90 days to 2 November, 0.4.0 (31 August), 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.7.0 and 0.7.1 (20). The earlier issue and pull request counts came from shields.io and are struck. On the clone, fixes cite issue numbers and each release credits the people who reported or fixed them (15 outside contributors in 0.7.1), but 251 of the 258 commits since 4 August are by one maintainer's accounts and reply times couldn't be read (13 of 25, as pipecat on clone evidence). No PyPI package; versions ship as GitHub releases with a wheel since 0.7.0 (8 of 15). CI with tests, lint and a clean-install check; dependencies set lower bounds only and no Dependabot configuration is in the repository (7 of 10). 30+20+13+8+7 = 78.\n\n## Score by category\n\n| Category | Weight | Strands Agents | TradingAgents | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 87 | 52 | Strands Agents +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 61 | Strands Agents +34 |\n| Agent ergonomics | 13% (16.2 this run) | 87 | 61 | Strands Agents +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 89 | 62 | Strands Agents +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 78 | Strands Agents +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 68 | Strands Agents +4 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **80 · A** | **61.4 · C** | |\n\n## Facts side by side\n\n| Fact | Strands Agents | TradingAgents |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | Amazon Web Services | Tauric Research |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-11-04 | 2026-10-27 |\n| Terms last updated | no document linked | 2026-10-23 |\n| Privacy policy last updated | no document linked | 2026-10-23 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 9.1k stars, 698k npm/wk, 8.9M PyPI/wk | none |\n\n## How the scores have moved\n\n### Strands Agents\n\nNo score change since it was listed.\n\n### TradingAgents\n\n- -3.3 on 2 November 2026 (B to C): correction\n- -0.1 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**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.\n\n**TradingAgents.** An Apache 2.0 LangGraph framework at 0.7.1 with seven releases in 90 days, a dated changelog with upgrade notes, a public test matrix and point-in-time rules for historical runs. It has no MCP client or server, no PyPI package and no documentation beyond the README, and its output is a model-written rating that places no orders.\n\n## Before you call either\n\n### Strands Agents\n\n1. Upgrade to strands-agents 1.48.0 or later, and set a private session directory rather than the /tmp default\n2. Pass a model explicitly when AWS credentials aren't configured, since Bedrock is the default\n3. Use interrupts or the harness's `interventions` for tools that write, send or pay\n4. Run shell and file tools in the Docker or SSH sandbox when the agent runs untrusted code\n5. Pin a minor version when using A2A, MCP or experimental modules\n\n### TradingAgents\n\n1. Run headless with `tradingagents --ticker \u003cT\u003e --date \u003cYYYY-MM-DD\u003e --analysts market,news,fundamentals --save --no-show`; a missing answer stops the run and names the flag\n2. Guard on the REVIEW signal before mapping `propagate()`'s decision to a rating; it means no rating could be parsed\n3. Set SEC_EDGAR_USER_AGENT to the operator's own name and address before fetching US fundamentals\n4. Keep provider keys out of the working directory tree unless intended, since the package loads the nearest .env on import\n5. Treat the rating as model output for research; the framework places no orders and its results vary between runs\n\n## Questions\n\n### Which is better for AI agents, Strands Agents or TradingAgents?\n\nStrands Agents scores 80 (A) on agent readiness against TradingAgents's 61.4 (C), and leads in 6 of 7 scored categories.\n\n### Are Strands Agents and TradingAgents open source?\n\nYes. Strands Agents is open source (Apache-2.0). TradingAgents is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents.json, and with the fewest tokens: https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"strands-agents\", \"b\": \"tradingagents\"}`. From a terminal: `anchor compare strands-agents tradingagents`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/strands-agents.json and https://www.anchorterminal.com/api/v1/tools/tradingagents.json\n\n## Other comparisons with Strands Agents or TradingAgents\n\n- [AgentOS vs Strands Agents](https://www.anchorterminal.com/compare/agentos-vs-strands-agents.md)\n- [AgentOS vs TradingAgents](https://www.anchorterminal.com/compare/agentos-vs-tradingagents.md)\n- [Agno vs Strands Agents](https://www.anchorterminal.com/compare/agno-vs-strands-agents.md)\n- [Agno vs TradingAgents](https://www.anchorterminal.com/compare/agno-vs-tradingagents.md)\n- [BoxLang AI vs Strands Agents](https://www.anchorterminal.com/compare/boxlang-ai-vs-strands-agents.md)\n- [BoxLang AI vs TradingAgents](https://www.anchorterminal.com/compare/boxlang-ai-vs-tradingagents.md)\n- [Claude Agent SDK vs Strands Agents](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-strands-agents.md)\n- [Claude Agent SDK vs TradingAgents](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-tradingagents.md)\n- [CrewAI vs Strands Agents](https://www.anchorterminal.com/compare/crewai-vs-strands-agents.md)\n- [CrewAI vs TradingAgents](https://www.anchorterminal.com/compare/crewai-vs-tradingagents.md)\n- [Cursor Agent SDK vs Strands Agents](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-strands-agents.md)\n- [Cursor Agent SDK vs TradingAgents](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-tradingagents.md)\n- [Docker Agent vs Strands Agents](https://www.anchorterminal.com/compare/docker-agent-vs-strands-agents.md)\n- [Docker Agent vs TradingAgents](https://www.anchorterminal.com/compare/docker-agent-vs-tradingagents.md)\n- [Agent Development Kit (ADK) vs Strands Agents](https://www.anchorterminal.com/compare/google-adk-vs-strands-agents.md)\n- [Agent Development Kit (ADK) vs TradingAgents](https://www.anchorterminal.com/compare/google-adk-vs-tradingagents.md)\n- [guilds.run vs Strands Agents](https://www.anchorterminal.com/compare/guilds-run-vs-strands-agents.md)\n- [guilds.run vs TradingAgents](https://www.anchorterminal.com/compare/guilds-run-vs-tradingagents.md)\n- [LangGraph vs Strands Agents](https://www.anchorterminal.com/compare/langgraph-vs-strands-agents.md)\n- [LangGraph vs TradingAgents](https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.md)\n- [LlamaIndex Framework vs Strands Agents](https://www.anchorterminal.com/compare/llamaindex-vs-strands-agents.md)\n- [LlamaIndex Framework vs TradingAgents](https://www.anchorterminal.com/compare/llamaindex-vs-tradingagents.md)\n- [Mastra vs Strands Agents](https://www.anchorterminal.com/compare/mastra-vs-strands-agents.md)\n- [Mastra vs TradingAgents](https://www.anchorterminal.com/compare/mastra-vs-tradingagents.md)\n- [Microsoft Agent Framework vs Strands Agents](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents.md)\n- [Microsoft Agent Framework vs TradingAgents](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents.md)\n- [OpenAI Agents SDK vs Strands Agents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-strands-agents.md)\n- [OpenAI Agents SDK vs TradingAgents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-tradingagents.md)\n- [Pydantic AI vs Strands Agents](https://www.anchorterminal.com/compare/pydantic-ai-vs-strands-agents.md)\n- [Pydantic AI vs TradingAgents](https://www.anchorterminal.com/compare/pydantic-ai-vs-tradingagents.md)\n- [smolagents vs Strands Agents](https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.md)\n- [smolagents vs TradingAgents](https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.md)\n- [Strands Agents vs AI SDK](https://www.anchorterminal.com/compare/strands-agents-vs-vercel-ai-sdk.md)\n- [TradingAgents vs AI SDK](https://www.anchorterminal.com/compare/tradingagents-vs-vercel-ai-sdk.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-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "Strands Agents vs TradingAgents",
        "url": ""
      }
    ],
    "description": "Strands Agents scores 80 (A) to TradingAgents's 61.4 (C) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Strands Agents A 80",
      "TradingAgents C 61.4",
      "scores"
    ],
    "h1": "Strands Agents vs TradingAgents",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/strands-agents-vs-tradingagents",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Strands Agents vs TradingAgents for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/strands-agents-vs-tradingagents"
  },
  "tokens": {
    "markdown": 5000,
    "slim": 2930
  },
  "version": 1
}
