Docs

The AIMentionTracker MCP server

Six read-only tools that let an AI assistant answer questions about how other AI assistants talk about your brand. Hosted, or local, and it holds none of your secrets either way.

Card required, nothing charged for 7 days

Listed in the official MCP registry

We are published as ai.aimentiontracker/mcp in the official Model Context Protocol registry, offering both transports. The namespace is verified by DNS ownership of aimentiontracker.ai rather than by a GitHub account, so it stays ours through a repo move.

Worth being straight about what that is and is not worth: being listed is table stakes. Several tools in this category ship an MCP server and one shipped theirs a year before ours. What is unusual is that it is on every plan, including the $9 one, where the going rate for programmatic access elsewhere is an upgrade or an enterprise conversation.

A hosted SEO MCP server, with nothing to install

shell
claude mcp add --transport http aimentiontracker https://mcp.aimentiontracker.ai/mcp \
  --header "Authorization: Bearer amt_live_YOUR_KEY"

Mint the key at API keys in the app. Nothing is installed, nothing needs updating, and the tools are available in the next conversation. The server is open source, MIT: read it on GitHub before you point a key at it.

Or local, over stdio

shell
claude mcp add aimentiontracker \
  -e AMT_API_KEY=amt_live_... \
  -- npx -y @aimentiontracker/mcp

Needs Node 20 or newer. The same six tools, the same API underneath. Reach for this when you would rather your key never leave the machine, or when you want to pin a version.

Either transport works with any MCP client. The commands above are Claude Code's; a client with a config file wants the same two facts — a URL and a header, or a command and an environment variable.

The six tools

Each one is a single v1 endpoint. All reads.

ToolEndpointWhat it answers
get_me/meWhich account is this, and what rules govern the numbers.
list_brands/brandsWhich brands may I read.
get_visibility/visibilityHow often does each engine name us.
list_answers/answersShow me the answers themselves.
list_sources/sourcesWhat do the engines read before answering.
list_alerts/alertsWhat changed enough to be worth saying.

get_me is the one to call first. It returns the plan, the quota and the reporting thresholds in force, which is what lets an assistant state the rules it is working under rather than assume them.

What to ask it

The tools are named for the questions people actually ask, so most of the time you do not have to name a tool at all:

in a conversation
"How often did ChatGPT name us last month, per engine?"
"Which domains do the engines read on the answers where a competitor wins?"
"Show me the three answers where we were named but ranked last."
"Has anything actually changed this week, or is it noise?"

That last one is the question the third rule exists for. An assistant with these tools will tell you an empty findings list means no move large enough to separate from noise at your sample size, because list_alerts says so in the payload rather than leaving the model to fill the silence.

Security: the hosted server holds no secrets

  • No database, no vendor credentials, no service account. There is nothing in the container to steal that would get anyone into an account.
  • Your key is passed through, not stored. It arrives in the Authorization header and goes straight to the v1 API.
  • The API does all the security. Authentication, tenancy, entitlement and rate limiting all happen where they already happened — the MCP server adds no second permission model to keep in step.
  • Stateless per request. Each request gets a fresh server instance, closed when the response ends. Nothing persists between conversations.
  • Read-only, structurally. Not a policy that could be relaxed later by a flag: v1 has no write endpoints for a tool to call.

If you are handing this to someone else's assistant, pin the key to one brand when you mint it. A pinned key cannot read a sibling brand and cannot even enumerate one.

The rules the tools carry

Three rules the tools state rather than assume

These are not style preferences. Breaking them produces a confidently wrong report in your customer's name.

  1. 1

    A null rate means "not enough answers yet". It is NOT zero.

    Rates come back as {present, responses, rate, min_sample}. When rate is null, the sample is below the floor. Say “3 of 4 answers, too few to quote a percentage”. Never render it as 0%, and never let it into an average. Reporting “0% visibility” for a brand that was named in 3 of 4 answers is the single most damaging thing you can do with this data.

  2. 2

    Never average the engines.

    There is no single visibility score and you must not compute one. ChatGPT, Perplexity and Google AI Overviews are different surfaces that disagree, so a mean describes nothing real. Report per engine. If the user insists on one number, give them the pooled counts (present and responses summed) and say plainly what you did.

  3. 3

    An empty alerts list does NOT mean nothing changed.

    A finding is raised only when both comparison windows carry enough answers AND the move is larger than its own margin of error. On a small plan that excludes most real movement. Say “no change large enough to distinguish from noise at this sample size”. GET /me shows the thresholds in force.

Questions about the MCP server

Answered from the implementation.

Does AIMentionTracker have an MCP server?
Yes. @aimentiontracker/mcp exposes six read-only tools to any MCP client. There are two transports: a hosted HTTP endpoint that needs no install, and a local stdio process launched with npx. Both talk to the same v1 API and obey the same rules.
How do I add AIMentionTracker to Claude Code?
One command: claude mcp add --transport http aimentiontracker https://mcp.aimentiontracker.ai/mcp with an Authorization: Bearer header carrying your API key. For a local process instead, claude mcp add aimentiontracker -e AMT_API_KEY=... -- npx -y @aimentiontracker/mcp.
Does the hosted MCP server store my API key?
No. It holds no secrets of its own — no database, no vendor credentials, no service account. Your key arrives in the Authorization header and is passed straight through to the API, which does all authentication, tenancy, entitlement and rate limiting. Each request gets a fresh, stateless instance that is closed when the response ends.
Can an assistant change anything through the MCP server?
No. All six tools are reads. v1 has no write endpoints at all, deliberately: adding a prompt expands a metered bill and triggering a collection run spends real vendor money, so neither should be reachable by an assistant acting on a misread instruction.
Will the assistant understand that a null rate is not zero?
It is told, in the payload rather than only in the tool description. list_alerts says in its own response that an empty list means no change large enough to distinguish from noise, and rates always arrive with their denominator attached so the model can state the sample rather than infer a percentage.
Which MCP clients work with it?
Any that speaks MCP. Claude Code and the Claude desktop app are what we test against, and the hosted HTTP transport is the one to reach for first because it needs nothing installed and updates without you doing anything.

7-day trial

Let your assistant read your AI visibility

Add your brand and the prompts your buyers type. The first answers are readable within minutes, in the app or from any MCP client.

Card required, nothing charged for 7 days.

On every plan

  • Every answer stored in full, with its citations.
  • Every rate shown with the number of checks behind it.
  • Cited-but-not-named reported as its own state.