Echolot
Tutorials

Tutorials

Step-by-step lessons against the Alpenglow demo shop, from your first request to agents and CI.

Each tutorial takes one job from start to finish. They all use Alpenglow, a pretend outdoor-gear shop: the demo API on https://demo.echolot.dev, and an example workspace that already holds a request of every kind. You need Echolot on a Mac with macOS 15 or later and Apple silicon. Nothing you send to the demo is stored.

The Alpenglow workspace

Most tutorials either build their own workspace or start from Alpenglow. To get it:

  1. Download Alpenglow.echolot.zip.
  2. Double-click the zip in the Finder to unzip it. You get Alpenglow.echolot.
  3. Double-click Alpenglow.echolot. Echolot opens it in a workspace window. You can also choose File › Open Workspace… (⌘O) and pick it.

Alpenglow works with No Environment chosen: its workspace variables point at the demo API. It holds:

FolderWhat is in it
AuthSign in, which stores the access token in the secret variable {{token}}; Who am I; Orders with OAuth 2
CatalogList products, Search, Get product, Categories, the GraphQL request Search products, Export the catalog (14 MB)
OrdersList orders, Create order, Get order, Cancel order, all sending the token through the folder's Bearer auth
RealtimeOrder updates (WebSocket), Order events (Server-Sent Events), Support chat (Socket.IO), Warehouse sensors (MQTT)
InventoryThree gRPC calls: List warehouses, Watch stock, Reserve stock
Agent toolsTwo MCP requests, search_catalog and order_status, to the server Alpenglow MCP
EchoRequests to the /echo endpoints: what you sent, a status, redirects, Basic auth, a cookie, XML and HTML

It also has three environments (Local, Staging and the protected Production; Staging and Production are pretend addresses), three flows (Place a test order, Morning stock check, Order status on webhook), the MCP server Alpenglow MCP, and the specs alpenglow.yaml, shop.graphql and inventory.proto.

The Alpenglow workspace with its folders in the sidebar and Catalog › List products open

Servers on your Mac for gRPC, Socket.IO and MQTT

The demo API can't serve gRPC, Socket.IO or MQTT. Small servers for them are in the docs repository, in examples/servers. They need Bun and listen only on your Mac:

git clone https://github.com/staticdreams/echolot-docs.git
cd echolot-docs/examples/servers
bun install
bun run realtime   # Socket.IO on http://localhost:3001 (namespace /support), MQTT on mqtt://localhost:1883
bun run grpc       # the Inventory service on localhost:50051 (in a second Terminal window)

Alpenglow's Support chat, Warehouse sensors and Inventory requests already point at these addresses. Stop a server with Control-C.

The tutorials

TutorialWhat you learnTime
Your first workspaceMake a workspace from nothing: requests, a folder, an environment, a secret, and Git15 minutes
Chain requestsSign in, store the token, send it everywhere through folder auth; dynamic values; an Idempotency-Key15 minutes
Test an API and run it in CIAdd checks, run the workspace in the Runner, then echolot run with a JUnit report in GitHub Actions20 minutes
Design spec-first and mock itBring in or design an OpenAPI spec, lint it, mock it, send requests to the mock and check them against the spec20 minutes
Automate with a flowBuild a flow on the canvas: sign in, list orders, decide, notify; run it, schedule it, start it from a webhook20 minutes
Inspect an MCP serverAdd the demo MCP server, look at its tools, call them, read the quality card, save calls as requests with checks15 minutes
Let an agent use your workspace safelyConnect Claude Code or another client, set what it may do, approve its sends, protect an environment; or use the built-in Assistant20 minutes
RealtimeWebSocket and Server-Sent Events against the demo API; Socket.IO and MQTT against the local servers20 minutes
Coming from PostmanImport a collection and its environments, see what maps to what, run it, export back15 minutes

The demo API has limits

It takes 120 requests a minute from one address, and 10 a minute for the export, WebSocket and Server-Sent Events. Over a limit it answers 429 Too Many Requests; wait a minute and send again.

On this page