Strands Harness SDK
We're excited to announce the release candidate of the Strands Agents TypeScript SDK. The SDK brings the model-driven approach to building AI agents to the TypeScript and JavaScript ecosystem. If you've been following Strands Agents, you know the Python SDK has been powering production agents across AWS and the broader community since May 2025. Now, TypeScript developers get the same simple, powerful primitives with full type safety, custom tools, and the ability to run agents in both Node.js and the browser.
Getting started takes just a few lines of code:
npm install @strands-agents/sdkimport { Agent } from '@strands-agents/sdk'
--8<-- "../blog/strands-agents-typescript-sdk.ts:hello_world"That's it. An agent with a model, a prompt, and a conversation. The model drives the reasoning and orchestration, while you shape its behavior to fit your use case.
What's in the box
The TypeScript SDK ships with the core features you need to build agents that range from quick prototypes to production systems. Here's a quick tour. For the full details, head over to the TypeScript quickstart guide.
Model providers
The SDK supports multiple model providers out of the box. Amazon Bedrock is the default, with first-class support for OpenAI, Anthropic, Google Gemini, and Vercel AI SDK providers:
import { Agent } from '@strands-agents/sdk'
import { OpenAIModel } from '@strands-agents/sdk/models/openai'
--8<-- "../blog/strands-agents-typescript-sdk.ts:model_provider"Tools
Define a tool with a Zod schema and a callback. The SDK handles the rest:
import { tool } from '@strands-agents/sdk'
import { z } from 'zod'
--8<-- "../blog/strands-agents-typescript-sdk.ts:tool_definition"Streaming
Stream responses as they're generated for responsive UIs and real-time feedback:
import { Agent } from '@strands-agents/sdk'
--8<-- "../blog/strands-agents-typescript-sdk.ts:streaming"MCP integration
Connect to any Model Context Protocol server and use its tools directly:
import { Agent, McpClient } from '@strands-agents/sdk'
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'
--8<-- "../blog/strands-agents-typescript-sdk.ts:mcp"Multi-agent orchestration
Coordinate multiple agents using Graph (deterministic DAG execution) or Swarm (dynamic, model-driven handoffs) patterns:
import { Agent } from '@strands-agents/sdk'
import { Graph } from '@strands-agents/sdk/multiagent'
--8<-- "../blog/strands-agents-typescript-sdk.ts:multi_agent"And more
The SDK also includes structured output with Zod schema validation, conversation management (sliding window, summarization), lifecycle hooks, session persistence (including S3 storage), OpenTelemetry-based observability, Agent-to-Agent (A2A) protocol support, and vended tools like notebook, file editor, HTTP request, and bash. Check the docs for the full rundown.
Agents in the browser
What makes the TypeScript SDK unique is that it runs natively in the browser. No server required. This opens up a whole category of interactive, client-side agent experiences.
To show what's possible, we built a browser agent example where an AI agent manipulates a live canvas element through natural language. You chat with the agent, and it uses a custom update_canvas tool to change HTML, CSS, or run JavaScript in an iframe, all streaming in real time.

Clone the repo and try it out:
git clone https://github.com/strands-agents/sdk-typescript.git
cd sdk-typescript/strands-ts/examples/browser-agent
npm install && npm run devGet started
The TypeScript SDK is available now on npm:
npm install @strands-agents/sdkHere's where to go next:
- Getting started to build your first agent
- GitHub for source code and examples
We're building this in the open and contributions are welcome. Whether it's a bug fix, a new feature, or a cool example, we'd love to see what you build. Join us on GitHub and let us know what you think.