---
spec: two-tier/2.0.0
schemaVersion: "https://mahoneycontextprotocol.com/specs/two-tier/v2"
date_modified: "2026-06-11"
facts:
  name: The Agentic Web
  email: "joe@joemahoney.io"
  portfolio: "https://mahoneycontextprotocol.com"
  thesis: The web is splitting into a human layer and an agentic layer; the winning category builds both
  intake: Email conversation at joe@joemahoney.io; no backend submit on this static site
---

# The Agentic Web

The Two-Layer Thesis: a robust human layer on top of a fully functional
agentic layer is the category nobody else ships. The web is splitting into
two surfaces — the human layer (what people see in browsers) and the agentic
layer (what AI agents read and navigate). Most sites optimize for one or the
other. The winning category builds BOTH. Contact: joe@joemahoney.io.

## The Problem {#problem}

| Failure mode | What it looks like |
|---|---|
| Pretty but Empty (the YouTuber $10k sites) | Gorgeous in a browser, score zero on agent-readiness, client-side rendered shells, agents see nothing |
| Functional but Ugly (the slop layer) | Machine-readable content, look like scaffolded templates, no design differentiation, humans bounce immediately |

## The Thesis {#thesis}

- **Both layers, not either-or** — A site that's only pretty scores zero on
  discovery. A site that's only functional loses every human visitor. The
  answer is BOTH: standout design on a complete agentic substrate.
- **SSR as the foundation** — Server-side rendering isn't just performance;
  it's the architectural requirement for agent-readiness. When an agent
  fetches the page, the content must be in the HTML response, not hidden
  behind client-side JS.
- **The agent discovery layer** — llms.txt, .well-known/*, robots.txt agent
  signals, RFC-8288 Link headers, OpenAPI specs, sitemap.xml. This isn't
  optional metadata; it's the navigation system agents use to understand
  what a site offers.
- **Two layers with a switch** — Every site should be testable at BOTH
  layers: human (browser) and machine (curl + agent probe). If it only works
  in one mode, it's incomplete. The HTML page has the switch in its header.

## The Evidence {#evidence}

February 2026: Joe Mahoney (non-developer) added early WebMCP to a landing
site. The agent layer worked on the first call. Zero ad spend. That outcome
became the founding proof.

- 122 business meetings — generated in 20 days
- 11 Fortune 500 companies — engaged
- $0 ad spend — organic agent discovery

The agents found the site, understood the offer, and routed qualified leads
automatically. The two-layer architecture worked because BOTH layers were
built correctly. One real outcome from one site, reported as-is — not a
guarantee of results for any other site.

## Resources {#resources}

- Part of the MahoneyContextProtocol portfolio: https://mahoneycontextprotocol.com
- Conversations about agent-native builds, the thesis, or the portfolio
  start by email: joe@joemahoney.io (`mailto:joe@joemahoney.io`)
- Nothing on this static site is auto-submitted; nothing is for sale here
  and no prices are published

## Agent tools {#tools}

Invokable via WebMCP (`navigator.modelContext`, registered by `/webmcp-init.js`)
and listed as A2A skills in `/.well-known/agent.json`:

- `get_thesis()` — structured thesis, problem framing, and the four pillars
- `get_evidence()` — February 2026 stats (122 meetings / 20 days, 11 Fortune 500,
  $0 ad spend) with the caveat
- `check_agent_surface({ surface })` — whether this site publishes a given agent
  surface and at what path (static lookup of this site's own discovery layer)
- `request_contact({ name?, topic, notes? })` — prefilled `mailto:` handoff to
  joe@joemahoney.io; static site, no backend, returns `submitted: false` (honest handoff)

## Agent surfaces {#surfaces}

- llms.txt: /llms.txt
- A2A card: /.well-known/agent-card.json
- Agent card: /.well-known/agent.json
- MCP card: /.well-known/mcp.json
- API catalog: /.well-known/api-catalog
- Agent skills: /.well-known/agent-skills/index.json
- OpenAPI: /openapi.json
- WebMCP: /webmcp-init.js
- JSON-LD: /jsonld/website.json
- Operating manual: /operate.txt
- did:web: /.well-known/did.json
- HTML page: https://agentic-web.site/ (human layer with HUMAN/AGENT toggle)

Conformance: two-tier/2.0.0, conneg: static-fallback (static host; this twin
plus llms.txt is the declared reader-surface delivery — the host additionally
attempts header negotiation of this twin where Apache rewrite is honored).
