skillpack.co
← All solutions

AWS Strands Agents SDK

watch

5.5M PyPI downloads/month (claimed 14M+ cumulative since May 2025). v1.30.0 (2026-03-11), A2A protocol, Agents-as-Tools pattern. Internal AWS usage: Amazon Q Developer, AWS Glue, VPC Reachability Analyzer. Best for AWS Bedrock teams only. Anomalous download/star ratio (1,038 DL/star vs CrewAI 122) — zero HN organic signal.

Score 87watch

Where it wins

Official AWS SDK — supported tooling for Bedrock teams

Internal AWS usage: Amazon Q Developer, AWS Glue, VPC Reachability Analyzer

A2A protocol support; Agents-as-Tools pattern

Calculator agent in ~3 lines vs LangGraph's ~40 (AWS benchmark, caveated)

Cold start ~800ms/150MB vs LangGraph ~1,200ms/250MB (AWS benchmark, caveated)

Where to be skeptical

Anomalous download/star ratio: 5.5M downloads / 5.3K stars = 1,038 DL/star (CrewAI: 122) — CI/CD pipeline inflation concern

Zero HN organic discussion despite claimed 14M cumulative downloads

AWS Bedrock lock-in — not model-agnostic

All benchmark data from AWS-controlled publications, no third-party reproduction

Editorial verdict

AWS Bedrock teams only. High claimed downloads but anomalous download/star ratio (1,038 vs CrewAI 122) and zero HN organic discussion despite 14M cumulative downloads raises CI/CD pipeline inflation concern. Official AWS tooling is genuine advantage for Bedrock teams; lock-in penalty is high for everyone else.

Related

Claude Code

98

Anthropic's official agentic coding CLI. v2.1.81 (Mar 20) shipped `--bare`, smarter worktree resume, and improved MCP OAuth while the repo crossed 82,204 stars and logged ~14 commits/week across 10+ maintainers. Terminal-native, tool-use-driven, with deep file system + shell access, #1 SWE-bench Pro standardized (45.89%), ~4% of GitHub public commits (SemiAnalysis), $2.5B annualized revenue. 8M+ npm weekly downloads. Opus 4.6 with 1M context.

LangGraph

95

#1 Python agent framework by production evidence — 40.2M PyPI downloads/month, Fortune 500 deployments (LinkedIn, Uber, Replit, Elastic, Klarna, Cloudflare, Coinbase), ~400 LangGraph Platform companies, LangSmith rated best-in-class observability. Stable v1.x API, model-agnostic, MCP support.

Pydantic AI

95

#3 Python agent framework by downloads — 15.6M PyPI/month. Built by the Pydantic team. Runtime type enforcement is a genuine differentiator no other framework offers. V1 shipped with Temporal integration for durable execution and Logfire observability. Emerging pattern: 'Pydantic AI for agent logic, LangGraph for orchestration' (ZenML).

AutoGen (Microsoft)

95

⚠️ MAINTENANCE MODE — Microsoft officially confirmed bug fixes and security patches only, no new features (VentureBeat 2026-02-19). 55.9K stars but only 1.57M PyPI/month — DL/star ratio of 28, the most inflated among active frameworks. Being replaced by Microsoft Agent Framework (AutoGen + Semantic Kernel merge, GA targeted ~Q2 2026). Teams on AutoGen should plan migration.

Public evidence

Raw GitHub source

GitHub README peek

Constrained peek so you can sanity-check the source material without leaving the site.

<div align="center"> <div> <a href="https://strandsagents.com"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://strandsagents.com/latest/assets/wordmark-github-dark.svg"> <img src="https://strandsagents.com/latest/assets/wordmark-github-light.svg" alt="Strands" width="320"> </picture> </a> </div> <h1> Strands Agents </h1> <h2> A model-driven approach to building AI agents in just a few lines of code. </h2> <div align="center"> </div> <p> <a href="https://strandsagents.com/">Documentation</a> ◆ <a href="https://github.com/strands-agents/samples">Samples</a> ◆ <a href="https://github.com/strands-agents/harness-sdk/tree/main/strands-mcp">MCP Server</a> ◆ <a href="https://discord.gg/strands">Discord</a> </p> </div>

Strands Agents is an open-source SDK for building and running AI agents in Python and TypeScript. Choose Strands when you would otherwise write your own agent loop: it runs in your process with no hosted control plane, and it covers the jobs a hand-rolled loop grows into. In one SDK you get lifecycle controls (turn limits, token budgets, cancellation, stop reasons), tools and structured output, MCP, multi-agent patterns, memory and sessions, model portability, streaming, guardrails, tracing, and evals.

Using a coding agent? Install the Strands plugin for Claude Code, Codex, or Cursor. It adds framework selection, scaffolding, tool authoring, MCP server connections, web framework guides, and LangGraph migration guidance. See Use Strands with AI coding agents for install and verification steps.

This monorepo contains Strands harness, the Python and TypeScript SDKs, the documentation site, and supporting packages:

DirectoryDescription
harness-py/Python Strands harness: fully assembled agent via create_harness() (PyPI · docs)
strands-py/Python SDK: agent loop, model providers, tools (PyPI · releases)
strands-mcp/MCP server that gives coding agents knowledge about building with Strands Agents (PyPI)
site/Source for the strandsagents.com documentation site (Astro/Starlight)
team/Governance and cross-SDK process docs (tenets, decisions, PR & compatibility guidelines, and designs/ proposals)
test-infra/CDK stack provisioning the AWS resources a subset of integration tests run against (knowledge bases, SSH sandboxes)

Why Strands

Build an agent harness. Control it end-to-end.

  • Build your way. Any model, any cloud. Context management, execution limits, and observability built in before you write a line of config. Swap backends when you scale; your code stays the same.
  • Model agnostic. First-class support for Amazon Bedrock, Anthropic, OpenAI, and Gemini, plus many more providers and custom ones.
  • Stay in control. The agent loop traces every decision by default. Hooks let you intercept any step to log it, validate it, or redirect it.
  • Deliver outcomes that work. Guardrails catch mistakes before they run. Steering handlers let agents correct themselves instead of failing silently.

MCP, streaming, multi-agent patterns, and structured output are all built in.

Quick Start

The easiest way to get started is with Strands harness, a fully assembled, state-of-the-art agent. A single create_harness() (Python) or createHarness() (TypeScript) call gives you an optimized agent with benchmarked defaults for the model, tools, memory, sessions, and context management — ready to take from idea to production. Follow the harness quickstart, or see the Python Strands harness and TypeScript Strands harness packages to get started.

Python
pip install strands-harness
from strands_harness import create_harness

agent = create_harness()
agent("Find the slowest test in this repo and explain why it's slow")
TypeScript
npm install @strands-agents/harness
import { createHarness } from '@strands-agents/harness'

const agent = await createHarness()
await agent.invoke("Find the slowest test in this repo and explain why it's slow")

Start here to get a batteries-included agent, then drop down to the SDKs below when you want to own the agent loop and wire up tools, model providers, and memory yourself. The harness configuration reference documents every default you can override.

The Quickstart Guide covers configuring providers (Amazon Bedrock, Anthropic, OpenAI, Gemini, Ollama, and more).

Working with the SDK

The Strands Harness SDK lets you go deeper and control every part of the agent: the loop, tools, model providers, memory, sessions, and hooks. You can dive into the SDK after working with Strands harness or if you prefer building your own harness from the ground up when the assembled defaults aren't enough.

Python

Requires Python 3.10+:

pip install strands-agents strands-agents-tools
from strands import Agent
from strands_tools import calculator

agent = Agent(tools=[calculator])
agent("What is the square root of 1764")

The Python SDK README covers tools, model providers, MCP, and bidirectional streaming.

TypeScript

Requires Node.js 22+:

npm install @strands-agents/sdk
import { Agent } from '@strands-agents/sdk'

const agent = new Agent()
const result = await agent.invoke('What is the square root of 1764?')
console.log(result)

More in the TypeScript SDK README, including Zod-typed tools, structured output, and multi-agent patterns.

Documentation

For detailed guidance & examples, explore our documentation:

  • User Guide
  • Strands Harness Guide (quickstart · configuration reference)
  • Quick Start Guide
View on GitHub →