Skip to content

Money capture wave: /pricing, grade-page capture, free-execute on-ramp, behavioral moat ON#66

Merged
New1Direction merged 10 commits into
mainfrom
feat/money-capture-2026-06-06
Jun 10, 2026
Merged

Money capture wave: /pricing, grade-page capture, free-execute on-ramp, behavioral moat ON#66
New1Direction merged 10 commits into
mainfrom
feat/money-capture-2026-06-06

Conversation

@New1Direction

Copy link
Copy Markdown
Owner

Brings origin/main in line with what is (mostly) already deployed to wmcp.sh, plus turns the behavioral moat on.

  • /pricing page (was 404), grade-page answer blocks + FAQPage schema, D/F commercial lead capture
  • thin /u 0-tool pages noindexed + junk grade hosts 404 via isPublicGradableHost
  • behavioral-trust seeder + NOW ON: BEHAVIOR_SEED=1 with 10 live-verified default flagship hosts + rotation
  • /quickcatch buy page + checkout attribution (source -> client_reference_id)
  • free-execute on-ramp: PROXY_FREE_CALLS_PER_DAY=25
  • EthicalAds slot pre-staged dark on blog corpus
  • outbound wave: 6 researched Deep-Audit leads (launch/outbound-wave-2026-06.md)

254/254 tests green, typecheck clean.

🤖 Generated with Claude Code

New1Direction and others added 10 commits June 6, 2026 16:14
… free-execute knob

Four conversion/SEO fixes from the 2026-06-06 money+monopoly audit. All
default-safe (no prod behavior change until env is set) and green.

SEO risk (thin content):
- u.ts: render `noindex,follow` on /u pages with 0 agent-callable tools, and
  exclude them from the sitemap (engine.ts now records tool count `n` in seen:
  metadata; legacy entries with no `n` are kept).
- mcp_grade.ts: isPublicGradableHost() rejects localhost / RFC1918+loopback+
  link-local IPs / example.com / reserved TLDs / {template} vars. Applied at the
  grade-page route (404 + noindex), recordGrade (no persist), the sitemap, and
  the leaderboard — keeps ~40 junk "Trust grade F" pages off public surfaces.

GEO (be the cited source for "is X MCP server safe"):
- grade pages now render a visible Q&A answer block + FAQPage JSON-LD.

Capture identity at the grade (turn the 6.7k-server graph into a funnel):
- low-graded (score<60) commercial grade pages get a score-conditioned Deep
  Audit / Monitoring pitch + email capture (records host+grade+finding via
  /api/v1/leads); all network grade pages get a free "Claim it" hook.
  The A–F grade itself stays free (hard rule).

/pricing (was 404):
- new pricing.ts page with BOTH locked ladders kept separate (self-serve
  Free/$39/$99/$299 + managed $499/$999/$4,999+), reuses the inline cs_live
  checkout, Product/Offer JSON-LD, self-canonical, added to sitemap.

Free-execute on-ramp:
- wrangler.toml exposes PROXY_FREE_CALLS_PER_DAY (kept "0" = current behavior;
  bump to let users taste vaulted execute before the paywall — metering already
  wired in auth.ts). Sharpened the 402 copy to point at /pricing.

Tests: +host_validation.test.ts (predicate + /pricing + grade-page capture/GEO);
moved RFC-reserved example.com fixtures to acmelabs.io. 244/244 pass, tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…without waiting for traffic

The uncopyable half of the trust graph (observed p50/p95/error from REAL tool
calls) only activates after ≥5 proxied calls/host — so with ~0 user traffic it's
dark, and the grade is static-probe-only (copyable in a weekend). This seeds it.

- mcp_grade.ts: seedBehaviorForHost() exercises a host's READ-ONLY tools itself
  and feeds behavior.ts (same recordToolCall path as the proxy, matching ok=
  2xx-3xx semantics). SAFE BY CONSTRUCTION: isReadOnlyCallable() only allows
  tools that are explicitly readOnlyHint (or safe-named AND non-destructive) AND
  require zero args — mutating/destructive/required-arg tools are NEVER invoked;
  auth-required, package, non-public, and non-streamable hosts are skipped.
- seedBehaviorBatch() runs a bounded, parallel pass over an admin-curated
  flagship list (behaviorseed:list) + a rotating watch-set slice — not a blanket
  sweep of 6,771 hosts (impolite + too sparse for behavior.ts's 30-day window).
- recordGrade marks verified_behavioral once the overlay folds in; gradeMeta
  carries it so the leaderboard shows a "✓ verified" badge and the grade page a
  "Behaviorally verified — measured from N real calls" pill. This is the visible,
  uncopyable differentiator vs static scanners / CF AI Gateway / Anthropic.
- Cron-gated behind BEHAVIOR_SEED="1" (default off, wrangler.toml). Admin curates
  + triggers via POST /api/v1/admin/seed-behavior {hosts:[...]} (?run=1).

Tests: +behavior_seed.test.ts proves only safe tools are ever called and that
auth/package hosts make zero network calls. 248/248 pass, tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e in-extension 404 dead-end)

Every in-extension upgrade CTA (popup, restock banner, options) and the Stripe
cancel_url pointed at /quickcatch, which 404'd — dead-ending the whole $12/mo
consumer funnel. This adds the page and makes checkouts measurable.

- stripe.ts: quickCatchPage() renders the $12/mo buy page (email→checkout, install
  link, canceled-state note, self-canonical). The URL is unchanged, so this fixes
  ALREADY-INSTALLED extensions with NO Web Store re-publish.
- createQuickCatchCheckout now threads an attribution `source` (body/query/utm_source)
  into Stripe client_reference_id + metadata, and counts checkout-starts per source
  in KV (qcsrc:<source>:<day>) — install→sub finally becomes measurable.
- extension popup/content/options links tagged ?source=ext_popup|ext_paywall|
  ext_banner|ext_options (flows on the NEXT republish; untagged installs already
  work now and attribute as "quickcatch").

Tests: +attribution + page-render coverage in quickcatch.test.ts. 251/251, tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-safe)

Pre-stages display-ad inventory on brand-safe dev CONTENT (the whole blog corpus,
one render fn) so the moment EA_PUBLISHER is set in ads.ts it earns site-wide —
no further edits. adSlot() returns "" until configured, so this ships dark.

Deliberately NOT on the /mcp/grade trust-report pages: those are the independent
trust-authority surface the citation/acquisition thesis rests on, and they already
monetize correctly via the monitoring/deep-audit CTAs + lead capture. Display ads
there would read as "ad-supported grades" and undercut the credibility moat.

251/251 tests, tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
punkpeye/awesome-mcp-servers (run by Glama's founder) requires the Glama score
badge after the server link before merge. Added the badge to the README badges
row and to both prepared PR entry lines (mcp-registry-submissions.md + registry
SUBMISSION_PLAYBOOK Asset C), with a note to submit/claim at glama.ai/mcp/servers
first. Repo is already public, so Glama can index + score it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…+ outbound wave

Flip the deployed-dark free-execute knob live (deployed wmcp.sh version 950b9e3f):
free-plan keys now get 25 live tool-calls/day before the 402, so new users feel
vaulted-credential execute (the switching cost) before the paywall. Closes the
#2 conversion leak from the 2026-06-06 audit.

Add launch/outbound-wave-2026-06.md: 6 ready-to-send Deep-Audit emails to F-graded
commercial MCP operators (re-verified F 45/100 live 2026-06-09; report pages carry
working Deep Audit + Monitor checkout). The direct first-dollar path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Payram (Krishna Raj / t.me/krishnaxl / Calendly) STRONG; Agentra (@agentrapay X)
MEDIUM; Crossfin (gh issue on bubilife1202/crossfin) LOW; Viridis no public
contact (WHOIS redacted, no footprint).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…d default flagships + rotation

- DEFAULT_BEHAVIOR_SEED_HOSTS: 10 live-verified A/A+ public streamable-HTTP
  servers (probed 2026-06-09: unauthenticated tools/list + >=2 read-only
  zero-arg tools each) used until the operator curates via the admin endpoint
- seedBehaviorBatch now rotates the flagship list across runs so lists longer
  than the per-run budget still cycle every host (before: hosts past max never
  ran)
- BEHAVIOR_SEED=1: the 2h cron now feeds behavior.ts -> '✓ verified' tier on
  the leaderboard + grade pages (the uncopyable behavioral moat goes live)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…/badges in robots

- sitemap now only lists /u pages with a KNOWN tool count > 0 (was: kept
  unknown-n legacy entries -> 3,039 noindexed URLs / 24% of the sitemap, a
  'Submitted URL marked noindex' contradiction in Search Console)
- root cause: the directory-harvest cron's seen: writer never stamped n;
  it now stamps tool count exactly like engine.ts's writer
- robots.txt: Allow /mcp/badges (nav-linked public page was crawl-blocked
  by the Disallow: /mcp/ group)
- lock the sitemap contract with test/sitemap_u_filter.test.ts

255/255 green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tch v0.5.0 build

- outreach-flow.html: owner-facing walkthrough of the outreach engine
- wmcp-briefing.html: what wmcp.sh is / funnels / what's wired (shareable brief)
- quickcatch-v0.5.0.zip: the build published on the Chrome Web Store
  (item bglmmkpaofofjnpkabfneeemgnjpjejl) — same precedent as the tracked
  quickcatch-0.4.0.zip

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@New1Direction New1Direction merged commit 7853bd6 into main Jun 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant