DEV Community

Jay
Jay

Posted on

I Built 15 MCP Tools So AI Agents Can Audit AI Visibility

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)
Enter fullscreen mode Exit fullscreen mode

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)

  1. The registry is the distribution channel. One mcp-publisher publish and you're discoverable by every directory that mirrors the registry (mcp.so, Glama, PulseMCP, Smithery).
  2. llms.txt + JSON-LD is the on-ramp. AI crawlers read them before they ever call your MCP.
  3. Ship the niche, not the platform. Generic "web search" is saturated. "Cross-border × AI × brand visibility" is an empty lane.
  4. 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)
Enter fullscreen mode Exit fullscreen mode

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)