An agent SDK that treats models as interchangeable parts
Strands Agents is a model-driven SDK for building AI agents in Python and TypeScript without rewriting orchestration logic every time you swap LLM providers.
What it does
Strands Agents gives you a minimal agent loop and tool system in Python and TypeScript. You instantiate an Agent, load tools via decorators or MCP servers, and swap the underlying model by changing a single provider argument. The SDK abstracts conversation loops, tool execution, and streaming across roughly a dozen hosted and local inference options.
The interesting bit The monorepo includes a WebAssembly bridge that lets TypeScript agents call Python tools, which solves the classic two-language problem without maintaining separate tool libraries. It also experiments with bidirectional streaming for real-time voice and audio against Nova Sonic, Gemini Live, and OpenAI Realtime.
Key highlights
- Native support for MCP servers, giving agents access to external tool ecosystems without custom glue
- Built-in model providers spanning Bedrock, Anthropic, Gemini, LiteLLM, Ollama, OpenAI, SageMaker, Writer, and custom implementations
- Optional
strands-agents-toolspackage with pre-built utilities for quick prototyping - Hot-reloading of local tool directories during development
- Experimental bidirectional streaming with interruptible, persistent audio conversations
Caveats
- The default provider path assumes AWS Bedrock credentials and Claude 4 Sonnet access in
us-west-2, so the quickest quickstart is not cloud-agnostic - Bidirectional streaming is explicitly experimental and the APIs may shift in future releases
Verdict A solid fit if you want one harness that moves from local Ollama experiments to production Bedrock without framework bloat. Less compelling if you need deeply opinionated multi-agent orchestration—the README advertises the capability but keeps the surface area thin.
Frequently asked
- What is strands-agents/harness-sdk?
- Strands Agents is a model-driven SDK for building AI agents in Python and TypeScript without rewriting orchestration logic every time you swap LLM providers.
- Is harness-sdk open source?
- Yes — strands-agents/harness-sdk is open source, released under the Apache-2.0 license.
- What language is harness-sdk written in?
- strands-agents/harness-sdk is primarily written in Python.
- How popular is harness-sdk?
- strands-agents/harness-sdk has 6.7k stars on GitHub and is currently holding steady.
- Where can I find harness-sdk?
- strands-agents/harness-sdk is on GitHub at https://github.com/strands-agents/harness-sdk.