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

strands-agents SDK + bedrock_agentcore

Image

linux/arm64, built by CDK’s DockerImageAsset

Deployed by

AgentCoreStack

Entry command

python -m agentcore.main

Log group

/aws/bedrock-agentcore/agents/agentcore

Memory

AgentCore Memory with three strategies

Pages

Page Contents

Runtime architecture

Startup sequence, module map, request lifecycle

Invocation contract

Payload shape, response shape, how to call it

Workflows

The registry, BaseWorkflow, multi-step execution, structured output

Providers and agents

ClaudeAgentService, pre-wired agent singletons

Tools

Local tools, vended Strands tools, MCP tools

AgentCore Memory

The three strategies and how sessions attach

Configuration

load_config(), the secret schema, environment variables

Development and container

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

test

{"prompt": "…"}

Direct prompt passthrough to the dialler agent

dialler-agent

{"phoneNumber": "+61412345678"}

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

morpheus_llm agent services, tools, types, model ids

The data layer — the runtime has no database access

The Secrets Manager secret (agentcore-configs)

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.