Amazon Bedrock AgentCore enables you to deploy and operate highly effective agents securely, at scale using any framework and model. With Amazon Bedrock AgentCore, developers can accelerate AI agents into production with the scale, reliability, and security, critical to real-world deployment. AgentCore provides tools and capabilities to make agents more effective and capable, purpose-built infrastructure to securely scale agents, and controls to operate trustworthy agents. Amazon Bedrock AgentCore services are composable and work with popular open-source frameworks and any model, so you don’t have to choose between open-source flexibility and enterprise-grade security and reliability.
from bedrock_agentcore import BedrockAgentCoreApp
app = BedrockAgentCoreApp()
from strands import Agent # or bring your agent.
@app.entrypoint
async def handler(request):
prompt = request.get("prompt")
agent = Agent()
async for event in agent.stream_async(prompt):
yield (event)
app.run()What you get with Bedrock AgentCore:
- ✅ Keep your agent logic - Works with Strands, LangGraph, CrewAI, Autogen, or custom frameworks
- ✅ Zero infrastructure management - No servers, containers, or scaling concerns
- ✅ Enterprise-grade platform - Built-in auth, memory, observability, security
- ✅ Production-ready deployment - Reliable, scalable, compliant hosting
- 🚀 Runtime - Secure and session isolated compute: Get started
- 🧠 Memory - Persistent knowledge across sessions: Get started
- 🔗 Gateway - Transform APIs into MCP tools: Get started
- 💻 Code Interpreter - Secure sandboxed execution: Get started
- 🌐 Browser - Cloud-based web automation: Get started
- 📊 Observability - OpenTelemetry tracing: Get started
- 🔐 Identity - AWS & third-party auth: Get started
Deploy agents using the AG-UI protocol with zero boilerplate. A single entrypoint handler is served over both SSE (POST /invocations) and WebSocket (/ws).
from bedrock_agentcore.runtime import serve_ag_ui
# Framework agent with a .run() method — one line
serve_ag_ui(agui_agent)Or write a custom agent with the decorator form:
from bedrock_agentcore.runtime import AGUIApp
from ag_ui.core import RunAgentInput, RunStartedEvent, RunFinishedEvent
app = AGUIApp()
@app.entrypoint
async def my_agent(input_data: RunAgentInput):
yield RunStartedEvent(thread_id=input_data.thread_id, run_id=input_data.run_id)
# ... your agent logic, yield AG-UI events ...
yield RunFinishedEvent(thread_id=input_data.thread_id, run_id=input_data.run_id)
app.run()Install with: pip install "bedrock-agentcore[ag-ui]"
See the AG-UI protocol contract for full details.
The fastest way to deploy your agent to Bedrock AgentCore. Install via npm:
npm i -g @aws/agentcoreThen create and deploy your agent:
agentcore create --name MyAgent --defaults
cd MyAgent
agentcore deployThe CLI handles packaging, infrastructure provisioning, and deployment automatically. See the AgentCore CLI documentation for full details.
The AgentCore CLI generates AWS CDK under the hood. For full infrastructure-as-code control, customize the generated CDK project directly or refer to the L1 CDK documentation.
Serve your agent using the A2A (Agent-to-Agent) protocol on Bedrock AgentCore Runtime. Works with any framework that provides an a2a-sdk AgentExecutor (Strands, LangGraph, Google ADK, or custom).
pip install "bedrock-agentcore[a2a]"from strands import Agent
from strands.a2a import StrandsA2AExecutor
from bedrock_agentcore.runtime import serve_a2a
agent = Agent(model="us.anthropic.claude-sonnet-4-20250514", system_prompt="You are a helpful assistant.")
serve_a2a(StrandsA2AExecutor(agent))See A2A Protocol Examples for LangGraph, Google ADK, and advanced usage.
- License: Apache 2.0 - see LICENSE.txt
- Contributing: See CONTRIBUTING.md
- Security: Report vulnerabilities via SECURITY.md