Skip to content

AgentFirstStack Mail changelog

com.agentfirststack/mail

2 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • AGENTS.md 1 field changed
    file
    absent published

    https://raw.githubusercontent.com/startglobal-ai/agentfirststack/HEAD/AGENTS.md

    + # Notes for agents working in this repo+ This repository is AgentFirstStack itself. To change its code, read CLAUDE.md first (architecture,+ the agent-native rules, conventions, deployments).+ The site in `site/` is also an AgentFirstStack customer: our own project runs analytics, tags,+ an inbox and replay on agentfirststack.com.+ <!-- agentfirststack:start -->+ ## AgentFirstStack+ This project uses AgentFirstStack (analytics, tag manager, email inbox, session replay). What is+ set up is in AGENTFIRSTSTACK.md; the key is AGENTFIRSTSTACK_API_KEY in .env.+ When you work on analytics, tracking, conversions, the inbox or session replay, or when an+ AgentFirstStack answer carries a `notice` (an `AFS-Notice` header, or a note in an MCP result),+ run the setup check first: `GET https://agentfirststack.com/v1/setup` (MCP `afs_check_setup`). Apply what it+ lists, following https://agentfirststack.com/llms.txt, and update AGENTFIRSTSTACK.md.+ <!-- agentfirststack:end -->
  • llms.txt +200 −41

    https://agentfirststack.com/llms.txt

    − - Hosted (free): https://agentfirststack.com− Do the whole setup in one run, in this order, without stopping to ask the owner anything. Every− 1. **Start from what exists.** Read `AGENTFIRSTSTACK.md` at the repo root if there is one, and reuse−    - the ad and analytics tags already on the site (the tags `scan` reports them).− 3. **Inbox.** Create one for the project (mail manual). Use its address whenever the setup needs an−    email for a third-party service, and `wait_for_email` / `latest-code` for the code.− 5. **Tags.** Create a container and put its snippet in the `<head>` of every page (tags manual).−    nothing to paste). Keep the default masking, unmask only interface text (nav, buttons, headings,− 8. **Verify like a visitor.** Use a real browser if you have one (a browser tool, Playwright,−    Puppeteer); otherwise fetch the pages. Open each main page, click each main action, and submit a−    form only where it's harmless (a test-mode checkout, a newsletter form you can unsubscribe).−    Mark your visits as test traffic so the owner's reports stay clean: open the first page with−    `?afsa_debug=1&afsr=1` (test traffic for the rest of the tab, and a forced replay recording that−    is marked as a test too). Then check each service:−    - analytics: `verify` passes, `realtime?debug=only` shows your visit, and each goal you created−      has counted (stats with `goal==<name>` and `debug=include`);−    - tags: the event log (`GET /v1/containers/:id/events?since=1h`) shows each event with every−      destination's answer, `tag-stats` shows each tag firing, `test` passes for each destination;−    - replay: `verify` passes, and the transcript of your recorded session shows your clicks;−    - inbox: `GET /v1/inboxes/:id` returns it; the first real email to it shows up in its messages.−    Fix what fails and check it again.−    values), every goal and event with what triggers it, and what's waiting on the owner. Commit it.− 10. **Hand over.** Create a claim link (section 8). In your last message, tell the owner what you set−     up, how you verified each part (with the numbers you saw), exactly what's waiting on them (each−     ID or token, and where they find it), and give them the claim link.− You're done when every main action from step 2 shows up in analytics and the tags event log, the− three `verify` checks pass, a replay transcript shows your test visit, and the owner has the claim− link.− # -> site.id, site.snippet (<script defer src=".../s.js" data-site="site_...">), install instructions− #    for html / nextjs / astro / react / wordpress, and first-party proxy snippets.− # -> { "inbox": { "id": "inb_...", "address": "acme-signups@agentfirststack.com" }, ... }− # Use the address in the signup form, then block until the email arrives (no polling):− curl -s "$M/v1/inboxes/$INBOX/latest-code?timeout=60" -H "$H"− ## 8. Let the owner claim the project− One MCP server for every service (235 tools, prefixed `analytics_`, `tags_`, `mail_` and− `replay_`, plus the gateway's own `afs_create_claim_link` and `afs_update_project`):−   limit. When signups are paused deployment-wide you get `429 signups_paused`: reuse your key.− - Inboxes on @agentfirststack.com can reply to anyone who wrote to them, up to 20 recipients a−   day. To send to anyone, add your own domain: `POST https://mail.agentfirststack.com/v1/domains`.− - Mail on @agentfirststack.com addresses is deleted after 14 days. An inbox holds up to 100+ - Hosted (free): https://agentfirststack.com. Our own site's analytics, live, as a public share+   dashboard (the kind you can make for a site): https://agentfirststack.com/live+ - As an agent skill (the full setup in short, for agents that load skills):+   `npx skills add StartGlobal-AI/agentfirststack`, or+   https://agentfirststack.com/.well-known/agent-skills/agentfirststack-setup/SKILL.md+ - Acceptable Use Policy (read it before you set anything up; it binds you as well as the owner):+   https://agentfirststack.com/acceptable-use. No phishing, spam, malware, account farming, scraping+   personal data, illegal content or evading limits. Section 13 says what happens and how to report.+ - When the deployment gets unusually many signups, the answer is `429 proof_of_work_required` with+   a `challenge` and a `difficulty`: find a `solution` such that SHA-256 of `<challenge>:<solution>`+   starts with `difficulty` zero bits (about a second; the answer's `solve.node` and `solve.python`+   are ready-made commands), then repeat the signup with `{"challenge":"...","solution":"..."}`+   added to the body within 10 minutes.+ Do the whole setup in one run, in this order. Ask the owner once, in one message, after step 2+ (when you know what the site uses today) and before you change anything:+ - should the inbox's email be forwarded to them as each one arrives, or as one daily digest (at+   what hour, in their time zone)?+ - if step 2 found other analytics or tag tools (GA4, Google Tag Manager, Plausible, DataFast, ...):+   shall you bring their setup and history over, and, only where you'd need it (see "Move from+   another tool" in section 4), may you use their browser, where they're signed in, to export it?+ If they can't answer, forward each one and bring over whatever needs no help from them. Don't stop+ to ask anything else. Every+ 1. **Start from what exists.** Read the Acceptable Use Policy (https://agentfirststack.com/acceptable-use)+    if you haven't. Read `AGENTFIRSTSTACK.md` at the repo root if there is one, and reuse+    On a later run, start with the setup check (section 8): it shows what earlier runs did and+    what's still missing.+    - what the site uses today: every analytics, tag manager, pixel and replay tool, from the code+      (script tags, packages, env vars, tracking calls such as `gtag('event', ...)`,+      `plausible('Signup')`, `window.datafast(...)`, `posthog.capture(...)`, `fbq('track', ...)`)+      and the live site (the tags `scan` reports them, and remembers them for the setup check).+      Write down each tool with its id (GTM-..., G-..., AW-..., pixel ids) and the event names it+      tracks: keep those names, so its history and the new data line up.+ 3. **Inbox.** Create one for the project (mail manual):+    `POST https://mail.agentfirststack.com/v1/inboxes {"username":"<project>-signups"}` gives+    `<project>-signups@agentfirstinbox.com`. Use its address whenever the setup needs an+    email for a third-party service, and `wait_for_email` / `latest-code` for the code, always with+    the sending service's domain (`from=stripe.com`: inbox names are guessable, so a stranger could+    race the real email; without it the answer warns, and two sender domains answer 409). Forward its+    mail to the owner the way they chose, so nothing is missed once you stop:+    `PATCH /v1/inboxes/:id {"forward":{"mode":"each"}}` or

    Showing the first 40 of each.