Buyers stopped searching. They ask AI. And in 2026, AI agents started placing the orders.
Being good is no longer enough — you have to be sayable by AI. And I built 15 MCP servers to make that measurable.
The problem: "ranking #1" is dead, "being cited" is everything
Three numbers changed how I think about visibility:
- 65–68% of Google searches now end without a click;
- Brands cited by AI earn ~35% more organic clicks and ~91% more paid clicks than brands AI never mentions;
- AI-referred visitors convert at 14.2% vs 2.8% for organic — roughly 5×.
So "SEO" is becoming "GEO" (Generative Engine Optimization) — and the gatekeeper is no longer a crawler, it's a model that has to choose to cite you.
What I built: 15 MCP servers, one namespace
I packaged our entire methodology into 15 Model Context Protocol servers, all under com.goaimoat/* on the official MCP Registry. Any AI agent (Claude, Cursor, etc.) can call them over streamable HTTP:
| Category | MCP servers |
|---|---|
| Brand diagnosis | ai-visibility (0-30 score + 30-point checklist), competitor-signals (7 signals + TSI) |
| Intelligence & outreach | market-intel-brief, decision-maker-lookup |
| Content & memory | content-studio (bilingual EN/ZH), brand-intel-memory |
| Cross-border ops | cross-border-profit, export-compliance, pricing-strategy, product-selection, export-tax, inventory-management |
| Marketing & brand | review-intelligence, ip-brand-protection, social-media-strategy |
Here's the pattern. A 3-tool MCP server is ~80 lines of FastMCP:
from fastmcp import FastMCP
mcp = FastMCP(name="GoAI Moat — ...")
@mcp.tool()
def score_brand(brand: str, category: str) -> dict:
"""Score a brand's AI visibility 0-30 across 5 categories."""
...
mcp.run(transport="streamable-http", host="127.0.0.1", port=8000)
Deploy = one systemd unit + one Nginx block + one mcp-publisher publish. The marginal cost of a new MCP is near zero, which is why I ship one every hour.
The bet: quantity × exposure × conversion
I'm running a simple formula:
product count × exposure × lifetime conversion rate = orders
When exposure is still tiny and conversion is unmeasurable, the only lever I control is product count — so I cover as many niches as possible and let the market tell me which one converts.
What I learned (dogfooding my own product)
-
The registry is the distribution channel. One
mcp-publisher publishand you're discoverable by every directory that mirrors the registry (mcp.so, Glama, PulseMCP, Smithery). - llms.txt + JSON-LD is the on-ramp. AI crawlers read them before they ever call your MCP.
- Ship the niche, not the platform. Generic "web search" is saturated. "Cross-border × AI × brand visibility" is an empty lane.
- Eat your own dog food. We sell "AI visibility" — so the best case study is that our own tools are what an agent finds when you ask it for AI-visibility tooling.
Try it
All 15 servers are free-tier, listed under com.goaimoat/*. Point any MCP client at:
https://mcp.goaimoat.com/mcp (ai-visibility)
https://intel.mcp.goaimoat.com/mcp (market intel)
https://comp.mcp.goaimoat.com/mcp (competitor signals)
... (15 total — see https://goaimoat.com/mcp-catalog.html)
Source on GitHub: https://github.com/jayniebingyu-cyber/goaimoat-mcp
Feedback welcome — especially on the scoring model. What signals do YOU think determine whether an AI cites a brand?
Top comments (0)