Skip to content
← Tools / Skills
ToolAmazon Web Services (AWS)/10 trustVerified
Strands Agents SDK logo

Strands Agents SDK

AWS's open-source, model-driven SDK for building production AI agents in a few lines of code

Visit official site →

About

Strands is AWS's open-source agent framework: a model-driven SDK (Python and TypeScript) where creating an agent is constructing an object in your own process — no hosted control plane, scheduler, or database to stand up first. Amazon Bedrock (Claude) is the default model provider, but Anthropic, OpenAI, Google, and Ollama are documented one-line swaps. It covers the full production surface: function tools, MCP, multi-agent patterns (swarms, graphs, workflows, agents-as-tools, A2A), session management, lifecycle hooks, OpenTelemetry tracing, and voice via bidirectional streaming. A newer 'Strands harness' layer adds tested defaults (model, tools, memory, context management) on top of the same SDK so you can start batteries-included and drop down to custom control later.

What it can do

  • **Agent loop:** model-driven agent loop with streaming responses and structured output (both SDKs)
  • **Tools:** custom function tools, MCP client support, 30+ community tools in Python (`strands-agents-tools`); 4 built-in vended tools in TS
  • **Multi-agent:** swarms, graphs, workflows, agents-as-tools, and Agent-to-Agent (A2A) patterns (both SDKs)
  • **Session management:** file, S3, and repository-backed session managers
  • **Context:** null, sliding-window, and summarizing conversation managers
  • **Observability:** OpenTelemetry integration (opt-in via standard OTEL_* env vars)
  • **Steering:** agent steering / lifecycle hooks and custom hook providers
  • **Voice:** experimental bidirectional streaming (Python: Nova Sonic, Gemini Live, OpenAI Realtime)
  • **Harness layer:** `create_harness` / `createHarness` batteries-included entry point with tested defaults

Setup

Python

  1. Requires Python 3.10+
  2. pip install strands-agents strands-agents-tools
  3. Configure your model provider (default: AWS credentials with Bedrock model access for Claude; or configure Anthropic/OpenAI/Google/Ollama instead)
  4. Build your first agent:

```python

from strands import Agent

from strands_tools import calculator

agent = Agent(tools=[calculator])

agent("What is the square root of 1764")

```

TypeScript

  1. Requires Node.js 20+
  2. npm install @strands-agents/sdk
  3. import { Agent } from '@strands-agents/sdk'; const agent = new Agent(); await agent.invoke('...')

Prerequisites

Python 3.10+ (or Node.js 20+ for the TypeScript SDK). If you keep the default model provider: AWS credentials and Bedrock model access for Claude enabled in your region. If you swap providers: an API key for Anthropic, OpenAI, or Google — or a local Ollama instance (Python SDK only). No AWS account needed at all when a non-Bedrock provider is used.

Use cases

agent-developmentmulti-agent-systemsmcpproduction-agentsvoice-agentsobservability

Works with

ClaudeHermesAntigravityOpenHandsRoo Codecustom agents

Trust score — 9/10

/10 trustVerified

Scored 9/10 (verified tier, metrics-v1). Evidence: 8,786 GitHub stars (log-scaled vs catalog peers); blended with ~37,112,498 monthly package downloads; last push 0d ago; 90 releases/12mo; 1023 open issues. Manual review: repos consolidated into strands-agents/harness-sdk monorepo; old SDK/docs repos archived; 'under 20 minutes' marketing. License: Apache-2.0.

★ 8,786 GitHub stars

How the trust score is built

Full methodology →
Adoption · stars/downloads, log-scaled vs peers
8.2/10
Maintenance · recency, releases, issue load
8.2/10
Openness · license + docs
10.0/10
Manual review · sanity read + red-flag check
9.0/10
  • · 8,786 GitHub stars (log-scaled vs catalog peers)
  • · blended with ~37,112,498 monthly package downloads
  • · last push 0d ago; 90 releases/12mo; 1023 open issues
  • · manual review: repos consolidated into strands-agents/harness-sdk monorepo; old SDK/docs repos archived; 'under 20 minutes' marketing

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.