Airefs MCP server tools
Every tool an assistant can call on the Airefs MCP server, grouped by product area, with what each one returns and the parameters it takes.
Every tool below is read-only: a connected assistant can read what your Airefs account can read, and it cannot change anything. That covers your profile, your sites’ analytics and prompts, and the stored AI answer texts. It also covers competitor and source lists, recommendations, and the brand context behind them.
Whatever a tool returns reaches your assistant’s provider. This page is here so you can see exactly what it reaches before you connect anything.
The tables are generated from the server’s own tool registry, so they match the list your client gets when it connects. Setup instructions live on the Airefs MCP server page.
Visibility and metrics
| Tool | What it returns | Key parameters |
|---|---|---|
get_visibility_summary | Returns the site's current visibility score with its mention, citation, and ranking numbers. | site_id |
get_visibility_timeseries | Returns mention and citation metrics over a date range, per batch or per week. A longer window than the plan allows returns the most recent allowed days. | site_id, start_date, end_date; optional: tag_slug, country_code, entity_ids, answer_source, granularity |
get_current_visibility_by_entity | Compares the site's brand with every tracked competitor on one answer source. | site_id; optional: answer_source |
list_visibility_history | Lists the site's recent ChatGPT results, one row per completed batch, newest first. | site_id |
Clicks and impressions
Clicks measure recorded human visits referred by AI assistants. Impressions measure verified AI crawler fetches, not human views or citations. Ask for daily trends, source breakdowns, or top pages for a site and an inclusive UTC date range.
| Tool | What it returns | Key parameters |
|---|---|---|
get_clicks_timeseries | Returns daily human referral visits from AI assistants and a full-window total. Dates are inclusive UTC and subject to rolling history limits. | site_id, start_date, end_date; optional: assistant, path |
list_click_sources | Ranks AI referral sources by visits, with a full-window total and an explicit truncation flag. | site_id, start_date, end_date; optional: assistant, path |
list_click_pages | Ranks page paths by AI-referred visits across matching sources. Narrow by assistant or exact path to investigate bounded results. | site_id, start_date, end_date; optional: assistant, path |
get_impressions_timeseries | Returns daily verified AI crawler fetches by assistant, crawler and inferred intent. Defaults to user-search to match the Impressions overview. Impressions are crawler activity, not human views or citations. | site_id, start_date, end_date; optional: assistant, path, intent |
list_impression_sources | Ranks crawler activity by assistant, crawler and inferred intent, with a full-window total. Defaults to user-search to match the Impressions overview. | site_id, start_date, end_date; optional: assistant, path, intent |
list_impression_pages | Ranks pages by verified AI crawler fetches with last-visit time. Defaults to user-search to match the Impressions overview. Filter by assistant, path or inferred intent. | site_id, start_date, end_date; optional: assistant, path, intent |
Filter by the exact assistant name or page path returned by these tools. Impressions default to user-search, matching the Impressions overview. Set intent to indexing or unknown to count that intent alone, or to all to include every verified fetch. Each call accepts up to 366 days within the site’s available history; the response reports the effective dates if history limits shorten the window.
Time series and source reports include the full filtered event total, even when their rows are truncated. Top-page lists return total_events: null; adding their rows does not give a site total. Rankings default to 25 rows; set limit to request between 1 and 200. Time series return at most 5,000 rows. All six traffic tools use window_truncated to indicate more matching rows and provide no continuation cursor. Narrow the date range or filters to investigate a truncated result.
For comparisons, request two equal-length periods with the same filters. Empty results do not confirm that tracking is installed, and dividing clicks by crawler impressions does not produce a click-through rate.
Example: top AI referral sources
First call whoami to find an accessible site_id. This example shows the parameters of an MCP tools/call request. Replace the site identifier and choose dates within your site’s available history, ending on or before today in UTC.
{
"name": "list_click_sources",
"arguments": {
"site_id": "YOUR_SITE_ID",
"start_date": "2026-10-20",
"end_date": "2026-10-26",
"limit": 2
}
}An illustrative tool result’s structuredContent could be:
{
"columns": ["source_name", "clicks"],
"rows": [["ChatGPT", 7], ["Claude", 6]],
"page_row_count": 2,
"window_truncated": true,
"metric": "clicks",
"definition": "Recorded human referral visits attributed to AI assistants, deduplicated by event ID. These are visits, not unique people, conversions, or citations.",
"start_date": "2026-10-20",
"end_date": "2026-10-26",
"time_zone": "UTC",
"total_events": 15,
"coverage_note": "Only recorded events are counted. Empty results do not establish that tracking is installed or that no traffic occurred. Today may be incomplete. Never divide clicks by crawler impressions to infer a click-through rate."
}Pair each row’s values with columns: the two displayed sources account for 13 clicks, while total_events includes all 15 clicks in the filtered window. window_truncated: true means additional sources were omitted by limit. To inspect one source, pass its exact name, such as "assistant": "ChatGPT", in another call. If history limits shorten the requested window, the result also includes history_limited with the requested and effective start dates and the history allowance.
Prompts and tags
| Tool | What it returns | Key parameters |
|---|---|---|
list_prompts | Lists the prompts a site tracks, with an option to show only the ones the brand is never mentioned in. | site_id; optional: tag, mention_state, mention_answer_source |
get_prompt | Returns one tracked prompt with the result of its latest execution. | prompt_id |
list_prompt_mention_rates | Lists each prompt's mention rate over a date window, lowest first. A longer window than the plan allows returns the most recent allowed days. | site_id, start_date, end_date; optional: answer_source, max_mention_rate |
get_prompt_inventory_summary | Returns how many prompts the site tracks and whether any of them is running now. | site_id |
list_tags | Lists the site's prompt tags with the number of prompts on each. | site_id |
suggest_tags | Finds the site's existing tags whose slug starts with a prefix. | site_id, prefix |
list_prompt_suggestions | Lists prompt suggestions for the site, either still pending or already accepted. | site_id; optional: status |
Sources and citations
| Tool | What it returns | Key parameters |
|---|---|---|
list_source_domains | Lists cited domains with the Sources dashboard Count (retained answers), raw citation totals, distinct URLs and citation trends. | site_id; optional: start_date, end_date, scope, answer_source, citation_type, search |
list_source_urls | Lists the individual cited URLs, filtered by citation type, tag, or domain. | site_id; optional: start_date, end_date, breakdown_by, scope, answer_source, citation_type, tag_slug, search, domain, owner, smart_filter |
list_source_prompts | Lists the prompts whose answers cite one URL or domain. | site_id, target_type; normalized_url required when target_type is "url"; mutually exclusive with domain; domain required when target_type is "domain"; mutually exclusive with normalized_url; optional: scope, answer_source, prompt_search, prompt_tag, prompt_country, require_no_owner_mention |
list_citing_responses | Lists the AI responses that cited one URL or domain. A longer window than the plan allows returns the most recent allowed days. | site_id, target_type; normalized_url required when target_type is "url"; mutually exclusive with domain; domain required when target_type is "domain"; mutually exclusive with normalized_url; optional: start_date, end_date, answer_source |
list_prompt_citations | Lists the source URLs cited in one prompt's answers. | site_id, prompt_id; optional: scope, answer_source |
get_source_domain_history | Returns per-batch citation counts for one source domain. | site_id, domain; optional: answer_source |
AI responses
| Tool | What it returns | Key parameters |
|---|---|---|
list_prompt_responses | Lists recent executions for one prompt on one answer source. | prompt_id; optional: answer_source |
get_response | Returns one execution's metadata, mentions, citations, and available content formats. | response_id |
get_response_content | Returns the stored text of one AI answer as markdown or plain text. | response_id; optional: format, max_chars |
Competitors
| Tool | What it returns | Key parameters |
|---|---|---|
list_competitors | Lists the competitors a site tracks, with their current visibility beside the brand's. | site_id; optional: status |
list_competitor_suggestions | Lists brands that came up in recent answers and are not tracked as competitors yet. | site_id |
list_dismissed_competitor_suggestions | Lists the competitor suggestions someone has already dismissed. | site_id |
Articles and content
| Tool | What it returns | Key parameters |
|---|---|---|
list_article_recommendations | Lists the site's article recommendations, ordered by the citations behind each one. | site_id; optional: status |
get_recommendations_freshness | Reports when the current article recommendations were produced and whether new ones are on the way. | site_id |
get_brand_context | Returns the brand, audience, and writing context a site has declared, plus what Airefs inferred from the site. | site_id |
get_content_pipeline | Returns the next article titles the site's schedule is expected to produce, with projected dates. | site_id |
list_scheduled_content | Lists the queued article titles, where each one came from, and when it is due. | site_id |
list_delivered_content | Lists the site's Ready articles and the files available for each. | site_id |
get_delivered_artifact | Returns one Ready article's details and the article recommendation it came from. | site_id, artifact_id |
Discussions
| Tool | What it returns | Key parameters |
|---|---|---|
list_discussion_threads | Lists the Reddit threads matching the site's Reddit Alerts keywords. | site_id; optional: status, keyword_id, type |
get_discussion_mentions | Checks a set of discussion URLs for verified brand or competitor mentions. | site_id, normalized_urls |
Backlinks
| Tool | What it returns | Key parameters |
|---|---|---|
list_backlink_opportunities | Lists the third-party domains whose articles AI cites in the site's category, ranked by citation count. | site_id |
list_backlink_statuses | Lists which of those domains have been emailed or dismissed, and when. | site_id; optional: status |
Account and access
| Tool | What it returns | Key parameters |
|---|---|---|
whoami | Returns who the caller is, and which organizations and sites this connection can read. | None |
Reference and utilities
| Tool | What it returns | Key parameters |
|---|---|---|
get_current_date | Returns today's date in a chosen time zone, so an assistant anchors date ranges correctly. | optional: time_zone |
get_doc | Returns one page of Airefs product documentation as text. | slug |
get_analysis_method | Returns the method Airefs uses to answer a common question, step by step. | topic |
How results work
Most tools that list things answer one page at a time. The assistant asks again with a cursor to get the next page and keeps going until the server says there is nothing left. The rows in front of you are one page, not a population, so a count of them is not a count of everything.
Some totals come back marked as capped. Read those as “at least this many” rather than an exact figure. If the precise number matters to you, say so in your question, because an assistant that repeats a capped total as final is claiming more than the data supports.
Not every tool pages. Several answer with a recent window instead, which covers the question they exist for but will not reach further back when asked. Others return a single object rather than a list at all. Your client learns which is which from the server, so this mostly stays invisible until you ask for more history than a window holds.
Site names cause more confusion than anything else here. Ask which Airefs sites the assistant can see and it will name each one the way Airefs stores it, usually as the domain. Use that name in your next question and the ambiguity goes away.
Questions your plan does not cover come back as errors on purpose. Google AI Overview as an answer source and long stretches of analytics history both follow your plan, and when one of them is unavailable the tool says so rather than answering with less. That way you can tell a genuine zero from data your plan does not include.
Asking a lot of questions in quick succession can hit a rate limit. The error says how long to wait, and retrying after that usually works.
