AgentCore runtime
agentcore/ is a Python container running on Amazon Bedrock AgentCore. It exposes
one HTTP entrypoint, receives a JSON payload naming a workflow, executes that
workflow’s steps against Claude on Bedrock, and returns a structured result.
It is the platform’s on-demand LLM surface. Unlike the Lambda functions — which are triggered by queues and schedules — the runtime is invoked by a caller who wants an answer.
| Aspect | Value |
|---|---|
Language |
Python 3.12 |
Framework |
|
Image |
|
Deployed by |
|
Entry command |
|
Log group |
|
Memory |
AgentCore Memory with three strategies |
Pages
| Page | Contents |
|---|---|
Startup sequence, module map, request lifecycle |
|
Payload shape, response shape, how to call it |
|
The registry, |
|
|
|
Local tools, vended Strands tools, MCP tools |
|
The three strategies and how sessions attach |
|
|
|
Running locally, the Dockerfile, tests |
Startup in three lines
agentcore/main.py:
load_config() # 1. fetch + validate the secret, inject into os.environ, cache
registry = build_registry() # 2. instantiate and register every workflow
app = BedrockAgentCoreApp() # 3. start the HTTP server
Everything else is a consequence of those three steps. load_config() runs first
because agent singletons read credentials at import time.
Registered workflows
| Name | Payload | Description |
|---|---|---|
|
|
Direct prompt passthrough to the dialler agent |
|
|
Two steps: analyse HubSpot history, then prepare a structured call brief |
Both are registered in agentcore/workflows/init.py. See
Workflows.
Relationship to the rest of the platform
The runtime shares the morpheus-llm library with the Lambda functions, so agent
construction, model ids, and MCP tools behave identically in both places. It does
not share code with lambdas/ — the units never import each other.
| Shared with Lambdas | Not shared |
|---|---|
|
The data layer — the runtime has no database access |
The Secrets Manager secret ( |
Event registries and handler patterns |
Amazon Bedrock |
Deployment mechanism (CDK, not SAM) |
The runtime is currently the least-exercised part of the platform: no Lambda invokes it today. The forward-looking design that would change that is in Roadmap and plans.