AWS · Azure · GCP  the local cloud for agents

The local cloud
for AI agents.

Loopback Cloud runs AWS, Azure, and GCP on your machine so agents — and the people building them — provision and stress real resources over MCP with zero spend and zero blast radius. The same SDKs, CLIs, and IaC you already use, behind one unified console with a gated multicloud interconnect. No account, no auth token, no feature gates. Just docker compose up.

$ docker run -p 4566:4566 loopbackcloud/loopback
No account No auth token Runs offline MCP built in MIT licensed
One stack · three clouds AWS 61 services Azure 30 services GCP 26 services
24 ms
Cold start (native)
13 MiB
Idle memory
117
Services across clouds
3
Clouds, one console
Why Loopback Cloud

Develop against the cloud, without the cloud

Everything you — or your AI agent — need to build, test, and demo cloud apps. Local, fast, and free.

One console, three clouds

Browse AWS, Azure, and GCP resources side by side in a single read-only UI. Flip between providers without leaving the page.

Drop-in SDK compatibility

Point the AWS, Azure, and GCP SDKs, CLIs, Terraform, CDK, and OpenTofu at localhost. Keep your code — just change the endpoint.

Starts in milliseconds

A GraalVM native image with a ~24 ms cold start and ~13 MiB idle footprint. Fast enough to spin up fresh in every test.

Multicloud interconnect

Model cross-cloud connectivity like AWS Interconnect — gated by default, opened with one attachment from the hub to a peer cloud.

Runs fully offline

No account, no telemetry, no outbound calls. Works in air-gapped CI and on a plane. Fake credentials are fine — any non-empty value.

Self-host behind TLS

Ship the live stack to your team: HTTPS via Let's Encrypt, the console behind auth, all from one Docker Compose file.

Multicloud interconnect

Build cross-cloud, on one machine

Loopback Cloud models AWS Interconnect — multicloud as a hub-and-spoke. The AWS hub owns the control plane; Azure and GCP each run an interconnect gateway.

  • 1Gated by default. Cross-cloud calls are denied with 403 until a link exists — and chaos rules can sever or slow a live link.
  • 2One attachment. Create a multicloud attachment from the hub to azure or gcp.
  • 3Authorized. Gateways check /_loopback/interconnects/authorize and the same call now returns 200.
Built for agents

Agent & testing superpowers

Built-in control planes that turn all three clouds into a lab — drive them from an AI agent over MCP, the console, or a tiny /_loopback/* API. Each is inert until you switch it on.

Agent-native (MCP)

A built-in Model Context Protocol server lets AI agents build real infra (buckets, queues, parameters), inspect every cloud, and drive every lab — zero spend, zero blast radius.

Local GenAI gateway

Bedrock Converse / ConverseStream / InvokeModel / InvokeModelWithResponseStream, Azure OpenAI, and Vertex AI — one offline gateway (deterministic, canned, or Ollama) with token-cost simulation. Grok 4.6 on Bedrock (xai.grok-4.6) and Vertex (grok-4.6 / publishers/xai). Azure has no official Grok.

Chaos engineering

Inject latency and native-shaped errors into any service, in any of the three clouds — and sever or slow cross-cloud links — to test retries, timeouts, and failover.

Time travel

A virtual clock in every cloud. Fast-forward and tokens expire, TTL'd items vanish, schedules fire, hidden queue messages reappear — or freeze time for deterministic tests.

Cost Lab

A live per-service cost meter and what-if projector — wired to the clock, so you can watch a month of spend accrue in seconds.

Snapshots & why-403

Export the entire emulator's state to one file and restore it anywhere — git for cloud state. And ask IAM exactly which policy statement denied a call.

chaos — make DynamoDB flaky
$ curl -s localhost:4566/_loopback/chaos -H 'Content-Type: application/json' \
    -d '{"service":"dynamodb","errorCode":"ThrottlingException","probability":0.5}'

$ aws dynamodb list-tables
An error occurred (ThrottlingException): Chaos fault injected
# retries, backoff, and circuit breakers — finally testable. Clear with one DELETE.
clock — skip a month in one call
$ curl -s -X POST localhost:4566/_loopback/clock/advance \
    -H 'Content-Type: application/json' -d '{"days":30}'
{"instant":"…+30 days","mode":"offset"}

# 30 days later: STS tokens expired, DynamoDB TTLs swept, schedules fired —
# and on Azure, hidden queue messages are visible again.
costs — watch spend accrue
$ curl -s localhost:4566/_loopback/costs
{"runRate":{"perHour":0.0104,"perMonth":7.59},"monthToDate":2.31,"byService":[…]}

$ curl -s 'localhost:4566/_loopback/costs/whatif?scale=10&months=6'
{"baselinePerMonth":7.59,"projectedPerMonth":75.92,"projectedTotal":455.52}
# freeze the clock at month-end and the meter shows a full month of spend
genai — three clouds, zero keys
# Bedrock — ConverseStream / InvokeModelWithResponseStream (EventStream, not 501)
$ curl -s localhost:4566/model/anthropic.claude/converse-stream -d '{"messages":[…]}'
# Grok 4.6 on Bedrock (xai.grok-4.6) — no official Grok on Azure OpenAI
$ curl -s localhost:4566/model/xai.grok-4.6/converse -d '{"messages":[…]}'
# Azure OpenAI — add "stream":true for SSE chunks
$ curl -s localhost:4577/openai/deployments/gpt-4o/chat/completions -d '{"messages":[…]}'
# Vertex — publishers/xai grok-4.6, or Gemini streamGenerateContent
$ curl -s localhost:4588/v1/projects/p/locations/us/publishers/xai/models/grok-4.6:generateContent
# one offline gateway behind all three — deterministic in CI, or a real local Ollama model
mcp — an agent builds real infra
$ curl -s localhost:4566/_loopback/mcp -H 'Content-Type: application/json' -d '{
    "jsonrpc":"2.0","id":1,"method":"tools/call",
    "params":{"name":"create_bucket","arguments":{"name":"agent-made"}}}'
{"result":{"structuredContent":{"bucket":"agent-made","created":true}}}

# 42 AWS / 24 Azure / 19 GCP tools: inspect, provision, chaos, clock, GenAI
state — git for cloud state
$ curl -s localhost:4566/_loopback/state/export > snapshot.json
# … run a destructive test, break everything …
$ curl -s localhost:4566/_loopback/state/import --data-binary @snapshot.json
{"restoredEntries":128,"skippedStores":0}
# every service, every account — back exactly as it was
How it works

From zero to three clouds — and your agent — in minutes

1

Boot the stack

Start AWS, Azure, and GCP locally with a single command.

docker compose up
2

Point your tools at it

Use the SDKs and CLIs you already have. Credentials can be anything.

export AWS_ENDPOINT_URL=
  http://localhost:4566
3

Browse it in the console

Confirm what got created and copy IDs, ARNs, and endpoints.

/_loopback/console → pick a cloud
4

Connect your agent

Point any MCP client at the built-in server. It can build, break, and bill — all locally.

claude mcp add loopback
  :4566/_loopback/mcp
Loopback Cloud Console
Storage
Buckets3
Compute
Functions5
Database
Tables4
Messaging
Queues2
NameType
my-bucketAWS::S3::Bucket
orders-tableAWS::DynamoDB::Table
image-resizerAWS::Lambda::Function
NameType
assetsAzure::Storage::Blob
orders-dbAzure::Cosmos::Account
notify-fnAzure::Functions::App
NameType
uploadsGCP::Storage::Bucket
eventsGCP::PubSub::Topic
profilesGCP::Firestore::Database
Loopback Cloud console — AWS home with live resource counts
AWS home, captured from localhost:4566/_loopback/console
Loopback Cloud console — Azure theme home
Same console, Azure theme — sandboxes, SRE Agent, blob counts
Coverage

117 services across three clouds

61 AWS · 30 Azure · 26 GCP. Real Docker-backed engines where fidelity matters, fast in-process emulation everywhere else — including DynamoDB SearchVectors and an AI suite in every cloud.

S3DynamoDB · SearchVectorsLambdaSQSSNSEventBridgeEventBridge PipesSchedulerStep FunctionsIAMKMSSecrets ManagerCognitoAPI GatewayAPI Gateway v2CloudFormationCloudWatch LogsCloudWatch MetricsSSMKinesisData FirehoseGlueAthenaOpenSearchRDSElastiCacheNeptuneMSKECSEC2EKSECRCodeBuildCodeDeployAuto ScalingELB v2ACMRoute 53CloudFrontSESTransfer FamilyAppConfigAppConfig DataBackupConfigBedrockBedrock RuntimeBedrock MantleBedrock AgentCoreBedrock AgentCore ControlComprehendTranslateRekognitionPollyTextractTranscribeCost ExplorerCost & Usage ReportsPricingBCM Data ExportsResource Groups Tagging
Blob StorageQueue StorageTable StorageCosmos DBAzure SQLService BusEvent HubsEvent GridVirtual MachinesFunctionsAKSACRContainer Apps SandboxesKey VaultApp ConfigurationResource ManagerAzure OpenAIAI LanguageAI TranslatorAzure SRE AgentAzure Cache for RedisLogic AppsAPI ManagementLoad BalancerAzure DNSMonitorEntra IDCost ManagementAzure DevOpsCommunication Email
Cloud StorageFirestoreDatastoreCloud SQLMemorystorePub/SubCloud TasksManaged KafkaEventarcCloud SchedulerSecret ManagerIAMCloud KMSGKECompute EngineCloud FunctionsCloud BuildWorkflowsVertex AINatural LanguageCloud TranslationAPI GatewayCloud Load BalancingCloud DNSCloud MonitoringCloud Billing

= real Docker-backed engine · everything else runs in-process

Leaving LocalStack?

The no-strings-attached alternative

LocalStack's community edition sunset in March 2026 — auth tokens required, security updates frozen. Loopback Cloud stays free, fast, and open.

CapabilityLoopback CloudLocalStack Community
Auth token requiredNoYes
Security updatesActiveFrozen
Cold start~24 ms~3.3 s
Idle memory~13 MiB~143 MiB
Azure + GCP emulationYesNo
Chaos · time travel · cost lab · snapshotsYesNo
MCP server + GenAI gatewayYesNo
LicenseMITRestricted

Drop-in friendly: point AWS_ENDPOINT_URL at localhost:4566 and keep your SDKs, CLIs, and IaC.

Self-host the live stack

Run Loopback Cloud for your whole team

One Compose file brings up all three emulators behind a reverse proxy with automatic HTTPS. Share a single, always-on sandbox for demos, integration tests, and onboarding — on your own infrastructure.

  • Automatic TLS via Let's Encrypt — zero cert wrangling
  • Console protected by HTTP basic auth out of the box
  • Optional per-cloud API endpoints on their own subdomains
  • Landing page served at /, console at /console

Bring the cloud home.

AWS, Azure, and GCP on your machine in seconds — no account, no auth token, no spend. A cloud your agent can break without breaking anything.

Copied to clipboard