TriRank

Read stored AI citation evidence, search performance and SEO reports through read-only MCP tools.

Hosted MCP Server

npx add-mcp 'https://mcp.trirankai.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Ask Claude about your rankings and AI visibility

Works in Claude Code and Claude.ai connectors. Free — no API key required.

TriRank ships an MCP server for AEO: plug it into your AI assistant and check AI visibility with Claude, pull Google rankings, or size up any domain's authority — by asking, in plain English. The AI SEO MCP server answers from the same data your TriRank dashboard renders.

Add one URL to your MCP client

https://mcp.trirankai.com/mcp

OAuth in two clicks, or an x-api-key header — about a minute. Setup steps ↓

One block for Claude, Codex or another agent: the server URL, how to authorize, and the first skill to run. Paste it and your agent walks through the connection.

Show the prompt

Connect the TriRank MCP server so you can read my Google rankings and AI visibility.

Server: https://mcp.trirankai.com/mcp (streamable HTTP)

Authorization. OAuth is the recommended path and needs no key:
- Claude Code: run \`claude mcp add --transport http trirank https://mcp.trirankai.com/mcp\`. Claude Code opens the OAuth approval on first use.
- Claude.ai: add the server URL above as a connector, then approve access.
- A client that supports custom headers can send an x-api-key header instead. I create the key at https://trirankai.com/settings/apikeys. Do not put the key in a shell command, a commit, or a file you write.

Once connected, list the TriRank tools you can see, then run the "Find your citation gaps and write the fix list" skill from https://trirankai.com/mcp#skills.

Things you can just ask

Every prompt below has been run against the live server, exactly as written — they are the literal English prompts we sent. Swap in your own site name and ask away.

  • “what are my eonebill rankings this week?”
  • “what's my AI visibility for eonebill?”
  • “check the DR of stripe.com”
  • “give me the weekly report for my site”
  • “which of my page-1 keywords have zero AI citations?”
  • “compare my clicks vs last week”

Connect in three steps

  1. 1

    Add the server (OAuth — no key needed)

    Point your MCP client at https://mcp.trirankai.com/mcp. OAuth is the recommended path — on Claude.ai you add the server and approve access in two clicks. Clients that support custom headers, like Claude Code and Cursor, can send an x-api-key header instead.
  2. 2

    Prefer headers? Create an API key

    Generate a key in your TriRank settings at Settings → API keys.
  3. 3

    Just ask

    No syntax to learn. Ask about rankings, reports, AI visibility, citation gaps or Domain Rating and the assistant picks the right tool.

For Claude Code CLI

claude mcp add --transport http trirank https://mcp.trirankai.com/mcp

One line in a terminal. No key in the command — Claude Code opens the OAuth approval on first use.

For Cursor

Add TriRank as a remote MCP server: paste this into.cursor/mcp.json in your project, or ~/.cursor/mcp.json to have it everywhere.

{
  "mcpServers": {
    "trirank": {
      "url": "https://mcp.trirankai.com/mcp",
      "headers": {
        "x-api-key": "YOUR_KEY"
      }
    }
  }
}

Replace YOUR_KEY with a key from Settings → API keys.

Also listed on Smithery.

Eight tools, plain answers

The server exposes eight read-only tools. Your assistant chooses between them automatically — you never call them by name.

trirank_get_rankings

Your Google Search Console keyword rankings — average position, clicks, impressions and CTR per query over a date range.

trirank_get_report

The full weekly or monthly performance report — traffic, ranking winners, AI citations, published articles and DR trend, matching the dashboard exactly.

trirank_check_ai_visibility

How visible your site is inside AI answers — overall citation rate plus per-engine cited/swept counts for Google (Gemini grounding), ChatGPT, Perplexity, Claude, Google AI Overviews and Google AI Mode.

trirank_list_citation_gaps

The citation gaps for a site you own — queries the site already ranks on page 1 of Google for, where an AI engine does not cite it — the highest-value AEO opportunities.

trirank_check_dr

The Ahrefs Domain Rating of any public domain — no site connection required — plus where it stands on TriRank's SaaS DR leaderboard.

trirank_content_gap

The content gaps for a site you own — queries it already ranks for on Google where no published article covers the topic yet, biggest near-wins first.

trirank_cited_pages

Which of your own pages an AI engine cited, newest first. Free accounts see the count; paid accounts see the full list.

trirank_page_geo_score

A single page's GEO and SEO score, 0-100 each, computed by a live fetch of the page — for a URL on a site you own.

Every number these tools return is measured the same way the product measures it — see the methodology. Prefer to read it in the browser instead of the chat? Try the TriRank extension.

Need a raw REST API? Tell us: https://trirankai.com/contact

Skills: workflows you paste into your agent

Each skill is a set of instructions for your agent: which tool to call, which fields to read, and what not to claim from them. Two of them rely on a page in your browser, because no tool returns that data — the instructions say so.

Find your citation gaps and write the fix list

Queries you rank on page 1 of Google for where an AI engine does not cite you, with the failing checks on the page that ranks.

Uses: trirank_list_citation_gaps, trirank_page_geo_score

Goal: a fix list for the queries my site already ranks on page 1 of Google for, where an AI engine does not cite it.

1. Call trirank_list_citation_gaps with {"site": "<my domain>"}.
   - If the reply has gapsUnknown: true, stop and tell me Search Console is not connected or not pulled yet. The gap is unknown, not zero.
   - If gaps is empty, read me the note and emptyReason as written: "noTracked", "waiting" and "good" mean three different things.
2. For each gap row, list the keyword, position, impressions, and the engines whose status is "not_cited". "not_swept" and "unknown" are no reading, never "not cited".
3. Ask me which of my pages ranks for each query, then call trirank_page_geo_score with {"url": "<that page>"} and list its failing checks. It is a live fetch, capped at 12 pages per site and 20 per day across my sites, so score the top rows only.
4. Write the fix list: one line per query, with the page, the failing checks, and the engines that did not cite it.

Do not promise that fixing a check earns a citation. Quote latestDataDate with the numbers.

See who gets cited instead of you, and with what kind of page

Your per-engine citation counts and your cited pages, plus the domains cited in your place from the Actions page, with the kind of page they mostly win with.

Uses: trirank_check_ai_visibility, trirank_cited_pages

Goal: which domains AI engines cite on my tracked questions instead of me, and what kind of page they win with.

1. Call trirank_check_ai_visibility with {"site": "<my domain>"}. Report queriesSwept, each engine's cited / swept, and lastSweepAt. If queriesSwept is 0, stop: nothing has been swept yet.
2. Call trirank_cited_pages with {"site": "<my domain>"} for the pages of mine that do get cited. On a free account it returns a count and locked: true; say that, do not guess the list.
3. The other domains are not in any MCP tool. Send me to https://trirankai.com/actions. A "cited instead" task names the domain, how many of my probed queries it is cited on, by how many engines, how many of those I am cited on, and, once classified, the kind of page it mostly wins with (for example "mostly comparison pages").
4. When I paste that sentence back, compare its page kind with my cited pages from step 2 and tell me whether I have a page of that kind.

Being cited on the same question does not mean they took my place. Do not rank their page above mine.

Compare citations between two markets

Ask about the same brand from two countries in the free checker, and set probe countries on a site you own for the recurring market-gap task.

Uses: no MCP tool — a page in your browser

Goal: the same brand asked about from two countries, side by side.

1. No MCP tool splits a reading by country. For any brand, give me this link with the two ISO codes filled in, the market I am going into first and my home market second:
   https://trirankai.com/tools/ai-visibility-checker?country=DE&home=US
   The page fills both drop-downs. I press the check, then "Compare with your home market". It sits behind a bot check, so do not try to submit it yourself.
2. Read the two columns as two separate runs, each cached for 24 hours. Only ChatGPT, Claude and Perplexity are handed the country; the other engines say they were asked without a location. A side that failed says so; never fill it from the other side.
3. For a site I own, the recurring version: set Probe countries on the site at https://trirankai.com/sites. A market-gap task then appears on https://trirankai.com/actions when a question is cited with no location set, and in a listed country at least one of those three engines answered and none cited it.

Report what each side said. Do not turn one run into a claim about a market.

Choose tracked questions and read the weekly report

Where tracked questions are added, and how to read the weekly report and per-engine counts without overstating them.

Uses: trirank_get_report, trirank_check_ai_visibility

Goal: choose the questions to watch, then read the weekly numbers without over-reading them.

1. Tracking is set up by a person, not a tool: on https://trirankai.com/ai-visibility, add the questions a buyer would ask an AI assistant, optionally with the country they are asked from. No MCP tool adds or removes a tracked question.
2. Call trirank_get_report with {"site": "<my domain>", "period": "weekly"}. It compares the last 7 days with the 7 before, and is the same computation the reports page renders.
3. Call trirank_check_ai_visibility with {"site": "<my domain>"}. Give each engine as cited / swept, with noVerdict and failed next to it.
4. Swept 0 means that engine has not checked, not "not cited". Quote every rate with its denominator and lastSweepAt.

Say what moved. Do not say why: nothing here tells a change to the site apart from a change in the engine.

Ask the free checker from a country

One free reading, no account, of whether AI engines cite a brand when the question is asked from a given country.

Uses: no MCP tool — a page in your browser

Goal: one reading of whether AI engines cite a brand when the question is asked from a given country. Any brand, no account.

1. There is no MCP tool for this. Give me the link with the country code filled in (any country in the page's "Ask as a user in" list):
   https://trirankai.com/tools/ai-visibility-checker?country=GB
   I enter the brand and its domain and run it. The form is behind a bot check, so do not try to submit it yourself.
2. The question is the brand name as written, not translated. ChatGPT, Claude and Perplexity get the country as the searcher's location; the other engines are asked without one, and their rows say so.
3. Report the result as "cited on N of M engines, asked from <country>, on <date>". It is one run, cached for 24 hours.

Never present one run as a share of a market.

Frequently asked questions

Do I need to understand MCP to use this?+

No. MCP (Model Context Protocol) is just the plumbing that lets AI assistants call external tools. You paste one URL into your client, authorize it, and ask questions in plain English — the assistant picks the right tool for you.

Should I connect with OAuth or an API key?+

Either works. Claude.ai connects via OAuth — add the server and approve access in two clicks. Clients that support custom headers, like Claude Code and Cursor, can send an x-api-key header with a key from your TriRank settings instead.

Is it free?+

Yes — reading your data through the MCP server is free, with a limit of 500 calls per day per key, resetting at 00:00 UTC.

Where does the data come from?+

Rankings and clicks come from your connected Google Search Console property (typically 2–3 days behind, like GSC itself). AI visibility comes from TriRank's own scans — Google (Gemini grounding), ChatGPT, Perplexity, Claude, Google AI Overviews and Google AI Mode. Domain Rating comes live from Ahrefs.

The server updated but I don't see the new tools?+

MCP clients cache the tool list when they first connect. Remove the TriRank server from your client and add it again — the fresh connection picks up the new tools.