New

Our free plan is live Get it free

Model Context Protocol

Connect your agent to Tonaily.

Claude Code, Claude Desktop, Cursor. Any MCP client works straight on your product.

A free server for any public site. An account server for your keywords, your sequences and your AI visibility.

Works with

  • Claude Code Terminal
  • Claude Desktop Desktop app
  • Cursor Editor
  • HTTP transport
  • No package to install
  • One address, that's it
claude · tonaily

> where am I losing to competitors in AI answers?

• tonaily:llm-visibility-report

✓ Share of voice 18% · 30 questions replayed

• tonaily:llm-answers promptId 14

✓ 3 answers read · ChatGPT, Gemini, Grok

• tonaily:what-to-write

✓ 12 themes · top opportunity 90/100

They win on comparison pages you never wrote.

Want me to plan the sequence? Nothing gets published.

>

Two servers

Two doors, two audiences.

One is open to everyone and looks at public websites. The other is yours, and looks at your account.

  • Free audit server

    https://app.tonaily.com/mcp/tools
    Authentication
    None
    Account
    Not required
    What it sees
    Any public website
    Tools
    5 tools
    Rate limit
    10 calls/min per IP
    How to install it
  • Account server

    Token
    https://app.tonaily.com/mcp
    Authentication
    API token (Bearer)
    Account
    Required
    What it sees
    The token's organisation, nothing else
    Tools
    16 tools + 1 prompt
    Rate limit
    120 calls/min per token
    How to connect it

Both run over HTTP, not stdio: nothing to install on the machine, no package, no binary. One address is enough. Browse the 22 tools →

What comes back

Three calls, three answers.

The server returns text, not screens. Here is that text, laid out the way the product lays it out.

  1. check-ai-crawlers

    Who gets through, bot by bot

    One call, four HTTP requests, no queue. The agent gets access per bot, the llms.txt and the homepage markup.

  2. llm-visibility-report

    Your share of voice, per engine

    The panel replayed on each assistant, and the split between them. Reading it triggers no measurement and costs no quota.

  3. Agent · Usage

    What your agent actually called

    Calls per day over thirty days and the most-served tools, counted per request. Refused calls are not counted.

Free server

The free audit server.

Open to everyone: no account, no email, no card. Any agent can analyse any public website. A prospect asks their assistant “take a look at my site”, and gets a real diagnosis.

Claude Code

claude mcp add --transport http tonaily-tools \
  https://app.tonaily.com/mcp/tools

Claude Desktop / Cursor

{
  "mcpServers": {
    "tonaily-tools": {
      "type": "http",
      "url": "https://app.tonaily.com/mcp/tools"
    }
  }
}

Guardrails

  • 10 calls per minute per IP, on every tool.
  • 300 analyses per day, all visitors combined.
  • 24 h reuse: a domain already analysed today returns the existing report.
  • check-ai-crawlers never eats that cap: it launches no analysis.
  • Non-public addresses refused, so it never becomes an internal network scanner.

Two regimes, and that’s the first thing to understand

check-ai-crawlers answers in the same call. Four HTTP requests, no queue, no token. An agent can run twenty domains in a row without anyone waiting.

The other three go through an analysis of thirty seconds to two minutes. get-audit-report is called back with the token from audit-website; compare-sites and generate-llms-txt are called back with the same parameters, and there is nothing to keep between two turns.

check-ai-crawlers

Two families you must never confuse.

Blocking one makes your site invisible inside assistants. Blocking the other is a defensible choice, and the server explicitly forbids the agent from calling it a problem.

Citation crawlers

They fetch a page to quote it inside an answer. Blocking them makes the site invisible in assistants.

OAI-SearchBotChatGPT-UserClaude-SearchBotClaude-UserPerplexityBotPerplexity-User

Training crawlers

They collect content to train a model. Blocking them is a defensible choice, not a mistake.

GPTBotClaudeBotGoogle-ExtendedApplebot-ExtendedMeta-ExternalAgentCCBot

With includeFile: true, the tool returns the corrected robots.txt: it unblocks citation crawlers without touching existing rules, and without undoing a deliberate training block.

Googlebot and Bingbot are deliberately absent from the list: AI Overviews go through the first, Copilot through the second. Blocking them is a classic search problem, not an AI one.

Account server

The account server.

A token carries one organisation. The agent sees exactly what its user would see in the interface. No more, and never for someone else.

Claude Code

claude mcp add --transport http tonaily \
  https://app.tonaily.com/mcp \
  --header "Authorization: Bearer tny_your_token"

Claude Desktop / Cursor

{
  "mcpServers": {
    "tonaily": {
      "type": "http",
      "url": "https://app.tonaily.com/mcp",
      "headers": {
        "Authorization": "Bearer tny_your_token"
      }
    }
  }
}
  • 01

    Read

    The agent reads the account: keywords, themes, sequences, AI visibility. It changes nothing.

  • 02

    Read and write

    It can also create a draft sequence and add a question to the AI visibility panel. Nothing else.

  • 03

    Where to create it

    Settings → API, admins only. The token starts with tny_ and is shown once. Ten active tokens max, revocable at any time.

With a read-only token, the write tools are not merely refused: they do not appear in the list. The model can neither propose them, nor call them from memory.

Three that deserve a word

  • llm-answers

    The report says "you appear in three answers out of ten and this competitor wins". This one gives you the answer itself, the only way to understand why they win. Without promptId, the list of questions with an excerpt; with promptId, the full text per engine.

  • competitor-gap

    Returns both gaps in a single call: the keywords they own and you don't, and the domains linking to them but not to you. Both were already measured and paid for at analysis time, so reading them re-runs nothing.

  • internal-link-suggestions

    The only free, immediate lever on the list: the text is written, the pages exist, only a link is missing. One internal link per 300 words, floor of three. An article already at quota gets no suggestion, because too many links dilutes each one.

Catalogue

Every tool, in one place.

Twenty-two entries across the two servers. Filter by server, by right or by category, or just type what you are after.

22 of 22 tools

  • check-ai-crawlers read

    Tells you whether a site lets AI assistant crawlers through. Returns bot-by-bot access, llms.txt presence and homepage schema.org markup.

    Audit Free server domain, includeFile Instant
  • audit-website read

    Runs a full analysis of a domain and returns a tracking token. Scores the site out of 100 across 8 checks and recommends 5 article topics.

    Audit Free server domain 30 s to 2 min
  • get-audit-report read

    Returns the finished report, including a shareable web permalink. Called with the token handed back by audit-website.

    Audit Free server token Instant
  • compare-sites read

    Compares two sites on the same 100-point grid: score gap, check-by-check winner, editorial volume and blocked AI crawlers on both sides.

    Competitors Free server domain, competitor 30 s to 2 min
  • generate-llms-txt read

    Writes the site's llms.txt, ready to drop at the root, plus a corrected robots.txt. Nothing is re-crawled: the pages come from the analysis.

    Audit Free server domain 30 s to 2 min
  • list-sites read

    The organisation's sites: domain, language, analysis status. Call it first: every other tool takes a site.

    Account Account server
  • brand-profile read

    Positioning, industry, business model, promises, favourite topics, tone, vocabulary, personas. Read it before proposing a single topic.

    Strategy Account server
  • what-to-write read

    Themes ranked by opportunity, with volume, difficulty, business relevance, still-free keywords and the pillar keyword.

    Strategy Account server
  • search-keywords read

    The keyword corpus, filterable by theme, text and state, sortable by opportunity, volume, difficulty or AI search volume.

    Keywords Account server
  • competitor-gap read

    The gap with tracked competitors, both ways: keywords they own and you don't, and domains linking to them but not to you.

    Competitors Account server
  • llm-visibility-report read

    Brand visibility inside AI answers: share of voice, appearance rate per question, winning competitor, per-engine split, sentiment, history.

    AI visibility Account server
  • llm-answers read

    The text of the assistants' answers, question by question: who got cited instead of you, and what the assistant used to justify it.

    AI visibility Account server
  • ai-readiness read

    Whether the site lets AI crawlers through. Also returns, on demand, the corrected robots.txt and a generated llms.txt.

    Audit Account server
  • list-sequences read

    Editorial sequences: theme, status, progress, and the step-by-step detail on demand.

    Content Account server
  • list-contents read

    Produced content (articles, whitepapers, social posts): metadata and primary keyword, never the body text.

    Content Account server
  • internal-link-suggestions read

    Internal links to add: articles ranked from worst to best linked, then the target page, exact anchor and its context.

    Links Account server
  • quota-status read

    What the plan still allows this month, the delay before the next AI visibility measurement, and the token's permissions.

    Account Account server
  • plan-sequence write

    Asks for an editorial plan on a theme: which articles, which one is the pillar, with keyword, title, metadata and angle. Asynchronous, and it creates nothing.

    Content Account server
  • get-suggestion write

    The state of a planning job (pending, running, done, failed) and its result once finished.

    Content Account server
  • create-sequence write

    Creates the sequence from the validated plan: briefs, scheduled content, internal linking, keyword reservation, calendar. As a draft.

    Content Account server
  • add-llm-prompt write

    Adds a question to the AI visibility panel. A question naming your brand or a competitor is refused: it would force the citation.

    AI visibility Account server
  • tonaily-briefing prompt

    The prompt that kicks off a working session: reads the brand profile, the corpus health, the themes to write and the AI visibility, then proposes the next actions. Optional argument: site.

    Strategy Account server site

The rule that holds it all

No tool triggers production.

The line isn’t technical, it’s economic: reading costs nothing, planning costs cents, writing an article costs dozens of times more and eats a monthly quota. A model that explores must not be able to spend while exploring.

Three gestures therefore stay in the interface, because they commit the account’s budget and quota.

  • 01

    Activating a sequence

    That is what starts the writing. A sequence created by an agent stays a draft and produces no text until a human activates it.

  • 02

    Re-running an AI visibility measurement

    Billed, and under cooldown. llm-answers reads answers already collected; it triggers none.

  • 03

    Finding new competitors

    And refreshing the backlink profile. competitor-gap reads measurements already taken; it launches none.

Inside the app

The agent screen.

Next to Track, the agent tab carries three screens, because they are three reading rhythms.

  • Dashboard

    What the server is, the install command, the three counters and the full tool catalogue.

    Once, to understand

  • Access

    The account tokens with their scope and last use, the three install commands, and what the server will never do.

    The day you create a token

  • Usage

    Calls per day over thirty days, and the most-served tools.

    Regularly, the only screen that changes by itself

The counter is fed per call: every request to the MCP server increments a counter per day and per tool. Refused calls (invalid token, inactive subscription) are not counted: a misconfigured loop is not activity.

Try it

Prompts that already work.

Without an account

  • > Does example.com let ChatGPT and Claude crawlers through?
  • > Analyse example.com with the Tonaily MCP server. Run audit-website, wait for the report, then summarise the score out of 100, what blocks AI assistant crawlers, and the five recommended article topics.
  • > Compare example.com to competitor.com: who wins, on which criteria, and by how much?
  • > Write the llms.txt for example.com and tell me where to drop it.

With an account

  • > Give me the state of my SEO: read the brand profile, the themes to write and my visibility in AI assistants, then tell me the three next actions.
  • > Which theme should I write on first? Dig into it, then propose a sequence plan. Create nothing before I approve.
  • > On which panel questions is a competitor cited instead of me? Read the answers and tell me what they have that I don't.
  • > Which articles are the worst internally linked, and which internal links should I add?

Vocabulary

The words the servers impose on agents.

So you may as well use them everywhere.

Cluster
A group of keywords covering the same subject. It is the unit of production: you don't write one isolated article, you attack a theme.
Sequence
An editorial plan on a cluster. One pillar article surrounded by satellites pointing to it, published at a regular cadence.
Opportunity
The score that ranks themes. Search volume weighted by difficulty and by relevance to the client's business.
Share of voice
The proportion of brand mentions inside AI answers, over the total of your brand plus tracked competitors.
Panel
The list of questions replayed periodically to the assistants. A stable question makes two measurements comparable.

Privacy

What crosses, and what never does.

  • The free server asks for no account and no email, and carries no Tonaily account data. The audit report lives outside the per-organisation partition; its permalink is long and unpredictable, and points at a report without saying who asked for it.

  • The account server is partitioned per organisation, on every read and every write. A token cannot see another organisation, not even by accident: with no context, queries return nothing rather than everything.

  • An expired or revoked token is refused immediately (401). An organisation without an active subscription is refused too (402), with the reason in plain text so the agent can repeat it to its user.

FAQ

Frequently asked questions

Everything about connecting an agent to Tonaily.

Still have a question?

We answer in a few hours, no bot involved.

Talk to us

One address.
Your agent does the rest.

Start with the free server, no account needed. Plug your own account in when you want your keywords, your sequences and your AI visibility.

Cette page est disponible en français.