Agent mode

Bootstrap once.
Then watch.

A human signs up, names a project, and mints one key. Claude — or any MCP client — runs the rest: endpoints, fan-out targets, monitoring, incident triage. Two real walkthroughs.

Most platforms make you the operator.
Ours makes the agent the operator.

Every action you would have clicked in a dashboard is a tool the agent already holds — 40 of them, over MCP and REST, identical surface either way. The four things only a human can do (sign up, name the project, mint the first key, approve the very first charge in hosted checkout) take under a minute. The rest is hands-off.

Day one — greenfield setup

Stripe fan-out, before lunch.

Stripe webhooks landing in four places — Slack alerts, internal billing DB, an analytics warehouse, and a customer-email queue — without a single line of glue.

You

~60 seconds

  1. 1

    Sign up

    Email + password. No card.

  2. 2

    Create project

    Name it stripe-relay.

  3. 3

    Mint a key

    Paste it into Claude.

Then you close the tab.

Your agent

~3 minutes, hands-off

MCP surface
  1. get_project Confirms the token's project — name, plan, edit access.
  2. list_lines Empty project. Room to build.
  3. create_line Cuts a v1 line for the Stripe surface.
  4. default_endpoint_template Pulls the canonical starter JSON — schema, validators, target shape.
  5. update_endpoint Reshapes the body for Stripe's event payload — type, data.object.id, livemode.
  6. update_endpoint Adds the Slack target — channel webhook URL, condition type == "charge.failed".
  7. update_endpoint Adds the internal billing-DB target — Bearer auth from env, retry policy stays default.
  8. update_endpoint Adds the analytics warehouse — HMAC signature header, longer retry window for batch ingest.
  9. update_endpoint Adds the customer-email queue — filter to customer.subscription.deleted only.
  10. dry_run_endpoint Validates the whole document against a synthetic Stripe payload. No DB write, no billed call. Passes.
  11. create_endpoint Endpoint live at stripe-relay.echorelay.cloud/v1/stripe.
  12. create_api_key Mints the inbound key Stripe will present. Plaintext returned once; the agent stows it in the project's encrypted Stripe-webhook-secret field.
  13. get_config Confirms the live Framework config matches the doc just written. Single source of truth.
  14. list_requests After the first real Stripe event hits — 1 inbound, 4 fan-out attempts, 4 × 200. Clean.
  15. get_metrics Hour-window p50 latency: 87 ms inbound, < 120 ms per target. Posts summary back.

Then it pings you on Slack: "stripe-relay is live. First event landed at 11:47."

Day N — live ops

3 a.m. The agent triages while you sleep.

Per-target metrics + a full request log + a failed-deliveries (DLQ) retry surface — the agent doesn't need you to investigate. You just need to be reachable.

You

A single sentence

  1. 1

    Ask

    "Anything broken?"

Then you go back to sleep.

Your agent

~90 seconds, hands-off

MCP surface
  1. get_metrics Project-wide, last hour. Error rate climbed from 0.4% to 11.2% at 02:51.
  2. list_requests Filter status=502, since=02:51. 86 rows. Same path, four targets per row.
  3. get_request Pulls one for the trace — three targets 200, one 502 with connection refused. The agent has its suspect.
  4. get_metrics Re-runs with targetId on the suspect. 100% error since 02:51. Confirmed degraded.
  5. list_requests Filter targetOutcome=dlq. 23 entries piled up. Nothing's lost — retries already exhausted but the payloads are intact.
  6. list_dlq 23 rows, all on the same target, all connection refused. The agent stages a retry plan.
  7. get_metrics Checks the suspect once more — error rate dropped back to 0.1% at 03:04. The downstream came back.
  8. retry_dlq_entry Re-enqueues 21 of the 23. Each lands a 200 within seconds.
  9. discard_dlq_entry 2 entries are duplicates of events your on-call already handled out-of-band — discarded with a note in the audit log.
  10. list_audit_events Confirms its own work is on the record — actor, action, entity ids, timestamps.
  11. post to Slack Posts the timeline + a one-paragraph postmortem to the on-call channel. Done.

In the morning you read: "analytics.warehouse.internal was down 02:51–03:04. 21 events recovered, 2 deduped. No action needed."

Four things only you can do.

Deliberate. Identity and consent stay human.

  • 1

    Create the account

    Email + password. Once. The agent has no identity to bootstrap from.

  • 2

    Name the project

    One field. Locks the slug your callers will use.

  • 3

    Mint the first key

    Paste it into your MCP client. Subsequent keys the agent can mint, rotate, or revoke itself.

  • 4

    Approve the first charge

    Hosted checkout, one time per account. Subsequent buys the agent charges your saved card directly.

Free tier. No card.
Unlimited requests — rate-limited, not metered.

Try EchoRelay against real traffic. Promote to a paid plan when you outgrow it — your agent can handle that too.

Currency: