strands-agents/harness-sdk
Strands packages lifecycle limits, memory, MCP, tracing, guardrails, and evals into an in-process agent harness, with lower-level Python and TypeScript SDKs when defaults stop fitting.
Strands Agents is an **Apache 2.0** in-process SDK for Python and TypeScript with no hosted control plane. Its assembled harness includes turn and token limits, cancellation, memory, sessions, MCP, streaming, guardrails, tracing, evals, and multiple model providers.
Start with **create_harness()** or **createHarness()** when you need production controls without writing the loop. Drop to the SDK when custom tools, hooks, providers, memory, or execution behavior justify owning more of the harness.
Strands Agents is an **Apache 2.0** in-process SDK for Python and TypeScript with no hosted control plane. Its assembled harness includes turn and token limits, cancellation, memory, sessions, MCP, streaming, guardrails, tracing, evals, and multiple model providers. Start with **create_harness()** or **createHarness()** when you need production controls without writing the loop. Drop to the SDK when custom tools, hooks, providers, memory, or execution behavior justify owning more of the harness. The repository describes broad portability and benchmarked defaults but supplies no comparative results in the fetched material. Provider behavior can still differ, so portability claims need testing against your tools, budgets, and failure modes.
This packages many previously separate production-harness recommendations into an open, in-process SDK with a high-level starting point and lower-level escape hatches. It supports standardizing loop controls, memory, tracing, guardrails, and provider access without adopting a hosted control plane, while leaving application-specific authority, recovery semantics, and portability testing to the builder.