Strands Agents (repository name harness-sdk) is an open-source SDK for building and running AI agents, supporting Python and TypeScript. It takes a model-driven approach, with the goal of setting up an agent in a few lines of code and running it within your own process, without a hosted control plane. Official recommendation: choose it when you were originally going to write your own agent loop, because it covers the kinds of work that handwritten loops gradually expand into.
Main capabilities Provided in one SDK: lifecycle control (turn limits, token budgets, cancellation, stop reasons), tools and structured output, MCP, multi-agent patterns, memory and sessions, model portability, streaming, guardrails, tracing and evaluation. The agent loop traces every decision by default; hooks can intercept any step to log, validate, or redirect. Guardrails can intercept before erroneous execution, and steering handlers let the agent self-correct instead of failing silently. MCP, streaming, multi-agent patterns, and structured output are all built in.
Models and cloud Model-agnostic, with first-class support for Amazon Bedrock, Anthropic, OpenAI, and Gemini, plus support for more providers and custom providers. You can switch backends as you scale while the code stays the same.
How to use he fastest way to get started is to use the Strands harness: a fully assembled, state-of-the-art agent. Call create_harness() (Python) or createHarness() (TypeScript) once to get an optimized agent with benchmarked defaults for models, tools, memory, sessions, and context management, from idea to production. You can start quickly with a harness, or check out the Python Strands harness and TypeScript Strands harness packages. Start with the out-of-the-box harness, and then drop down to the SDK when you need to take control of the agent loop yourself and wire up your own tools, model providers, and memory. The harness configuration reference documentation lists all the defaults you can override.
Using the SDK The Strands Harness SDK allows deeper control over every part of the agent: the loop, tools, model providers, memory, sessions, and hooks. You can go deeper into the SDK after using the Strands harness, or when assembling the defaults is not enoughBuild your own harness from scratch. Python requires Python 3.10+; Node.js requires Node.js 22+. The Python SDK README covers tools, model providers, MCP, and bidirectional streaming; the TypeScript SDK README covers Zod-typed tools, structured output, and multi-agent patterns.
Documentation and Examples See the documentation for detailed guides and examples: Strands Harness Guide (quick start, configuration reference), Quick Start Guide, Bidirectional Streaming (Python), API Reference (Python and TypeScript), Production & Deployment Guide. The documentation is located in the site/ directory of this monorepo, and documentation PRs submitted alongside code changes are welcome.
Repository Structure This monorepo contains the Strands harness, the Python and TypeScript SDKs, the documentation site, and supporting packages. Git operations (commits, branches, PRs) are performed at the repository root, and each package has its own toolchain: the Python SDK is located in strands-py/, the TypeScript SDK is located in strands-ts/, and the documentation site is located in site/.
Working with Coding Agents If using a coding agent, you can install the Strands plugin for Claude Code, Codex, or Cursor. It adds framework selection, scaffolding, tool authoring, MCP server connection, web framework guidance, and a LangGraph migration guide. See Use Strands with AI coding agents for installation and verification steps.
Use Cases Suitable for production-grade AI agent development that requires full control over the agent loop, hopes for model and cloud portability, needs built-in observability and guardrails, and wants to run in-process rather than relying on a managed control plane.
License and Community The project uses the Apache License 2.0 (see the LICENSE.APACHE file). Contributions are welcome; see the Contributing Guide for details (reporting bugs and features, setting up a development environment, contributing via PRs, code of conduct, reporting security issues). You can communicate with the team and other users via Discord.
Limitations and Information Not Yet Available Information such as pricing, billing models, SLAs, performance data, and a specific list of supported platforms is not yet available in the materials.