Skip to content

sdk-python

MCP Developer Tools

A model‑driven SDK for quickly building and running AI agents with flexible tooling, multi‑agent support, and built‑in MCP server integration.

Python Latest python-wasm/v0.0.1 · 1d ago Security brief →

Features

  • Lightweight & fully customizable agent loop
  • Model‑agnostic: supports Amazon Bedrock, Anthropic, Gemini, Ollama, OpenAI, and custom providers
  • Advanced capabilities including multi‑agent systems, autonomous agents, and streaming support
  • Built‑in Model Context Protocol (MCP) server integration for thousands of pre‑built tools

Recent releases

View all 55 releases →
Review required
python/v1.42.0 Mixed
Auth RBAC

Fixes, monorepo, Gemini, strands-py-wasm, A2A, MCP

No immediate action
v1.41.0 New feature

MultiAgentPlugin + Starlette 1.x + TTL support

No immediate action
v1.40.0 Bug fix

Default token count flag

v1.39.0 New feature
Notable features
  • Enable OpenAI provider to use AWS profile
  • Add context window limit lookup table
  • Implement full A2A task lifecycle state support
Full changelog

What's Changed

  • feat: enable openai provider use aws profile by @JackYPCOnline in https://github.com/strands-agents/sdk-python/pull/2230
  • fix: include root cause in MCPClientInitializationError message by @aidandaly24 in https://github.com/strands-agents/sdk-python/pull/2238
  • feat: add context window limit lookup table by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2249
  • fix: fix count tokens for bedrock models by @mehtarac in https://github.com/strands-agents/sdk-python/pull/2254
  • fix: cache unsupported models for bedrocks token counting by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2250
  • feat: add useNativeTokenCount flag to skip token counting API calls by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2255
  • fix: correct MCPClient.exit and stop() type annotations by @cogwirrel in https://github.com/strands-agents/sdk-python/pull/2248
  • feat(a2a): implement full A2A task lifecycle state support by @agent-of-mkmeral in https://github.com/strands-agents/sdk-python/pull/2245
  • fix: integration test updates by @mehtarac in https://github.com/strands-agents/sdk-python/pull/2262

New Contributors

  • @aidandaly24 made their first contribution in https://github.com/strands-agents/sdk-python/pull/2238
  • @cogwirrel made their first contribution in https://github.com/strands-agents/sdk-python/pull/2248

Full Changelog: https://github.com/strands-agents/sdk-python/compare/v1.38.0...v1.39.0

v1.38.0 New feature
Notable features
  • Add TTL support to CachePoint for prompt caching
  • Large tool result offload implementation
  • Override count_tokens with native token counting for supported providers
Full changelog

What's Changed

  • feat(mcp): preserve CallToolResult.isError flag in MCPToolResult by @Zelys-DFKH in https://github.com/strands-agents/sdk-python/pull/2118
  • feat: add count_token method to model with naive estimation using tiktoken by @lizradway in https://github.com/strands-agents/sdk-python/pull/2031
  • chore(log): added warning for default model awareness and is subject to change by @poshinchen in https://github.com/strands-agents/sdk-python/pull/2164
  • fix(litellm): forward ttl field from CachePoint in _format_system_messages by @ElliottJW in https://github.com/strands-agents/sdk-python/pull/2153
  • fix(skills): preserve cache points in system prompt during skills inj… by @mattdai01 in https://github.com/strands-agents/sdk-python/pull/2134
  • fix(ollama): generate unique toolUseId instead of reusing tool name by @Ratansairohith in https://github.com/strands-agents/sdk-python/pull/2053
  • feat(cache): add TTL support to CachePoint for prompt caching by @kpx-dev in https://github.com/strands-agents/sdk-python/pull/1660
  • fix: use non-interactive flag for Nova Sonic history and system promp… by @prettyprettyprettygood in https://github.com/strands-agents/sdk-python/pull/2188
  • ci: update litellm requirement from <=1.82.6,>=1.75.9 to >=1.75.9,<=1.83.13 by @dependabot[bot] in https://github.com/strands-agents/sdk-python/pull/2197
  • ci: update pre-commit requirement from <4.6.0,>=3.2.0 to >=3.2.0,<4.7.0 by @dependabot[bot] in https://github.com/strands-agents/sdk-python/pull/2185
  • feat: large tool result offload by @lizradway in https://github.com/strands-agents/sdk-python/pull/2162
  • feat: override count_tokens with native token counting for supported providers by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2189
  • fix(bedrock): upgrade default model to Claude Sonnet 4.5 by @afarntrog in https://github.com/strands-agents/sdk-python/pull/2193
  • chore: update style guide for tool spec navigation by @lizradway in https://github.com/strands-agents/sdk-python/pull/2203
  • feat: add ProviderTokenCountError for native token counting failures by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2211
  • fix(conversation-manager): handle window_size=0 and reject negative values by @SuperMarioYL in https://github.com/strands-agents/sdk-python/pull/2208
  • fix: change token counting fallback log from warning to debug by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2220
  • fix: do not synthesize exception for cancelled tools by @Gastly in https://github.com/strands-agents/sdk-python/pull/2106
  • feat: estimate input tokens before model calls by @opieter-aws in https://github.com/strands-agents/sdk-python/pull/2221
  • feat(offloader): return explicit paths in preview and auto-enable retrieval by @lizradway in https://github.com/strands-agents/sdk-python/pull/2222
  • fix: update tests to use non-EOL'd model by @zastrowm in https://github.com/strands-agents/sdk-python/pull/2226
  • feat(bedrock): add strict_tools config with auto-inject of additional… by @kaghatim in https://github.com/strands-agents/sdk-python/pull/2213

New Contributors

  • @Zelys-DFKH made their first contribution in https://github.com/strands-agents/sdk-python/pull/2118
  • @ElliottJW made their first contribution in https://github.com/strands-agents/sdk-python/pull/2153
  • @Ratansairohith made their first contribution in https://github.com/strands-agents/sdk-python/pull/2053
  • @kpx-dev made their first contribution in https://github.com/strands-agents/sdk-python/pull/1660
  • @prettyprettyprettygood made their first contribution in https://github.com/strands-agents/sdk-python/pull/2188
  • @SuperMarioYL made their first contribution in https://github.com/strands-agents/sdk-python/pull/2208
  • @Gastly made their first contribution in https://github.com/strands-agents/sdk-python/pull/2106
  • @kaghatim made their first contribution in https://github.com/strands-agents/sdk-python/pull/2213

Full Changelog: https://github.com/strands-agents/sdk-python/compare/v1.37.0...v1.38.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
5,980
Forks
857
Languages
Python TypeScript MDX

Install & Platforms

Install via
pip

Community & Support

Beta — feedback welcome: [email protected]