NewMCP server, CLI and API, all free→Lettervisit · Analytics for your other audience

Track how often Claude, ChatGPT and Perplexity read your site—for free. And the best part? The data is accessible via API, MCP, or a CLI.

Free forever · One script tag · MCP, CLI and API included

The blind spot

Your analytics were built to ignore them.

More and more of the reading on your site is done by an agent, for a person who will only ever see the answer. That traffic is real, and almost nothing reports it.

01

They're filtered out as bots

Web analytics were built to count people, so known crawlers are dropped on purpose. The agents researching you on a buyer's behalf get thrown out with the spam.

02

Most never run your JavaScript

A fetcher asking for a page on someone's behalf reads the HTML and leaves. A pixel that waits for the browser to load it never fires, so there is nothing to filter.

03

Server logs don't say who sent them

The raw request is in your logs, mixed with every other hit. Which vendor it was, whether it's real, and whether it came to train, index or answer a question is left to you.

Who's at the door

Every visit, named, verified, and sorted by why.

Lettervisit checks each visit against the vendor's published IP ranges, so a scraper calling itself ClaudeBot is labelled a fake. Then it files the real ones by the reason they came.

Answering a user

Someone asked Claude or ChatGPT a question and it opened your page to answer. The closest thing to a human visit, and the one to watch.

ChatGPT-UserClaude-UserPerplexity-UserMistralAI-User

Search index

Building the index an assistant searches before it answers. If these stop coming, you stop being cited.

OAI-SearchBotClaude-SearchBotPerplexityBot

Training crawl

Collecting pages for the next model. Slow, broad, and the one most robots.txt rules are written for.

GPTBotClaudeBotmeta-externalagentAmazonbotCCBot

Browser agent

An agent driving a real browser: clicking, filling forms, comparing plans. It runs your JavaScript, so the script sees it directly.

ChatGPT agentClaude for ChromeComet
How it works

Two minutes to install. Then ask.

The script catches agents that drive a browser. One line at the edge catches the ones that never run JavaScript. Both report to the same place.

  1. 1

    Paste the script

    One tag in your <head>. It sees browser agents like ChatGPT agent and Comet.

  2. 2

    Add one line at the edge

    Crawlers and fetchers read your HTML and leave. The middleware logs them on the way in, without slowing the response.

    // middleware.ts
    export { middleware } from "lettervisit/next";
  3. 3

    Ask your agent

    Open the dashboard, or skip it: query every visit from Claude, Cursor or a terminal.

    $ npx lettervisit visits --agent claude --since 7d
MCP · CLI · API

Your agents can read it too.

A dashboard is for looking. Everything in it is also a tool call, a command and an endpoint, so the agent you already work with can answer questions about the agents visiting you.

  • MCPA remote MCP server for Claude, ChatGPT, Cursor and anything else that speaks it.
  • CLInpx lettervisit for scripts, cron jobs and CI. Every command takes --json.
  • APIA REST API with keys per site, cursors, and the same filters as the dashboard.
// claude_desktop_config.json, .cursor/mcp.json, …
{ "mcpServers": { "lettervisit": {
    "url": "https://lettervisit.com/mcp"
} } }

you ›Which of our docs did ChatGPT read this week that Claude didn't?
claude ›lettervisit.compare_agents(since: "7d", path: "/docs/*")
Three pages, all under /docs/sdks. ChatGPT-User opened them while answering users; Claude-User hasn't visited that section at all.
Pricing

Free. Not a trial.

No card, no seat limits, no feature held back for a paid tier.

Lettervisit$0forever, for every site you runGet the free script
  • Every AI agent, verified against vendor IP ranges
  • Script tag plus edge middleware
  • Live feed and dashboard
  • Remote MCP server
  • CLI with --json on every command
  • REST API and per-site keys
  • Unlimited sites and teammates
  • Your data exports any time
FAQ

Questions, answered.

Can a script tag really see AI agents?

Some of them. Agents that drive a real browser, like ChatGPT agent or Comet, run your JavaScript, so the script sees them. Crawlers and fetchers like ClaudeBot or ChatGPT-User only read the HTML, which is why Lettervisit also ships a one-line middleware for the edge. Install both and you see both.

How do you know a visit is really from Claude or ChatGPT?

A user-agent string is easy to fake. Lettervisit checks each crawler and fetcher against the IP ranges its vendor publishes, and labels a visit verified only when they match. Browser agents run on ordinary machines and can't be checked that way, so they are marked detected instead.

Does it slow my site down?

No. The script loads deferred, after your page, and the middleware records the request without waiting on a response, so nothing sits between a visitor and your HTML.

Does it track my human visitors?

Lettervisit is for agents. It doesn't build profiles of people or set advertising cookies, and it keeps working next to the analytics you already run.

What can I do with the MCP server?

Ask questions in plain language from Claude, ChatGPT, Cursor or any MCP client: which pages an agent read, what changed this week, which vendor stopped visiting. The same answers are in the CLI and the API if you'd rather script it.

Why is it free?

Lettervisit is made by The Letter Company, which builds tools for being found and chosen by AI agents. Knowing which agents visit is the first step for everyone, so we don't charge for it.

Meet your other audience.

They're already reading your pricing page. Install Lettervisit in two minutes and find out who they are, what they read, and who sent them. Free.

Get the free script →