Strands Agents
An open-source, model-driven Python and TypeScript SDK for building AI agents in just a few lines of code, with support for multi-agent systems, MCP, and production deployment.
At a Glance
About Strands Agents
Strands Agents is an open-source SDK built by AWS that takes a model-driven approach to constructing and running AI agents. Available for both Python and TypeScript, it is licensed under Apache 2.0 and hosted on GitHub, where it has accumulated over 6,500 stars according to the project homepage. The SDK was created from production systems inside Amazon and is actively maintained, with releases shipping regularly.
What It Is
Strands Agents is an agent harness SDK — a lightweight runtime that manages the agent loop, tool execution, context management, and observability so developers can focus on defining tools and behavior rather than plumbing. It sits between the model provider and the application layer, handling the mechanics of how an LLM reasons, calls tools, and iterates toward a goal. The core abstraction is an Agent object that accepts tools, hooks, conversation managers, and model providers, and can be invoked with a plain string prompt.
Model Provider Support
One of the SDK's defining characteristics is broad model agnosticism. Built-in providers include:
- Amazon Bedrock (default, requires AWS credentials)
- Anthropic, Google Gemini, OpenAI (including Responses API)
- Ollama, llama.cpp, LlamaAPI, LiteLLM
- Cohere, MistralAI, SageMaker, Writer
- Custom providers via a documented extension interface
Swapping providers requires only changing the model object passed to Agent; tool definitions and hooks remain unchanged.
Hooks, Guardrails, and Steering
Strands exposes a hooks system that lets developers intercept any step in the agent loop — before or after tool calls — to log, validate, cancel, or redirect execution. The BeforeToolCallEvent hook can set event.cancel_tool to block a tool call with a reason, which the model then uses to self-correct. A higher-level SteeringHandler plugin interface provides structured guidance (Guide/Proceed responses) that the agent incorporates into its next reasoning step. The project homepage cites an internal benchmark where agents using steering handlers recovered from every mistake, compared to 82.5% accuracy for prompt-only agents and 80.8% for hard-coded workflows.
MCP and Tool Ecosystem
Strands has native support for the Model Context Protocol (MCP), allowing agents to connect to any MCP server as a tool source. The MCPClient class wraps stdio or other transports and exposes server tools directly to the agent. An optional strands-agents-tools package provides pre-built tools (calculator, HTTP request, etc.) for quick experimentation, and a separate strands-agents/tools repository on GitHub hosts the community tool collection.
Bidirectional Streaming and Voice
An experimental BidiAgent class supports real-time bidirectional audio conversations with persistent streaming connections. Supported backends include Amazon Nova Sonic (v1 and v2), Google Gemini Live, and OpenAI Realtime API. The feature handles WebSocket complexity, interruption logic, and audio I/O device configuration, and is installable via pip install strands-agents[bidi,bidi-io]. The project marks this as experimental with APIs subject to change.
Update: v1.41.0
The latest release is v1.41.0, published on May 21, 2026, reflecting an active release cadence since the repository was created in May 2025. The project has 845 forks and 496 open issues as of the last recorded update. Recent product direction includes the TypeScript SDK (@strands-agents/sdk), Strands Evals for agent testing, and Strands Labs for experimental capabilities such as AI Functions and robotics integrations. Deployment targets documented on the homepage include AWS AgentCore, Lambda, Fargate, EKS, Docker, and Terraform.
Community Discussions
Be the first to start a conversation about Strands Agents
Share your experience with Strands Agents, ask questions, or help others learn from your insights.
Pricing
Open Source
Free to use, modify, and distribute under the Apache License 2.0.
- Full SDK access (Python and TypeScript)
- All model providers
- MCP support
- Multi-agent systems
- Hooks and guardrails
Capabilities
Key Features
- Model-driven agent loop
- Python and TypeScript SDKs
- Multi-agent systems (Agent-as-Tool, Swarm)
- Native MCP (Model Context Protocol) support
- Hooks system for intercepting tool calls
- Steering handlers for guardrails and self-correction
- Bidirectional streaming and voice (experimental)
- Conversation managers (sliding window, summarizing)
- Structured output with Pydantic/Zod schemas
- Hot reloading tools from directory
- Built-in OpenTelemetry tracing
- Human-in-the-loop interrupts
- Pre-built tools package (strands-agents-tools)
- Strands Evals for agent testing
- Custom model provider interface
