Developers
MCP server
Connect an AI agent (Claude Code, Cursor, or any MCP client) to your brands, questions and reports. It uses the same API keys as the REST API.
1. Endpoint
Streamable HTTP transport. Send your key in the Authorization: Bearer header, or as the api_key query parameter for clients that only take a URL.
https://aitrafficanalytics.com/api/mcp
2. API key
Sign in to create a key
Free account. Keys are created and managed from your account.
3. Connect your agent
Claude Code
Cursor, VS Code, and other clients with an mcpServers file
Clients that only accept a URL (custom connectors)
The key is part of this URL, so it can end up in logs and browser history. Prefer the header when your client supports it.
Test from a terminal
Tools
29 toolslist_models |
The FreeRouter models saved in Settings. Reports ask these models unless you pass a subset. |
list_brands |
Every tracked brand with its question count, report count, and latest report time. |
get_brand |
A brand's questions and the summary of each of its reports, newest first. |
get_brand_report |
What each model answered to each brand question, with mention counts and coverage. |
run_brand_report |
Ask the chosen models every question on a brand, save the report, and return it. Costs money on the user's FreeRouter key and takes about 15-60 seconds per model. Uses FreeRouter credit |
create_brand |
Start tracking a brand with the questions to ask models about it. Not sure which questions? Create it with one, then use suggest_brand_questions. |
suggest_brand_questions |
Search the web for a brand and suggest the questions buyers are likely to ask AI models about its category, best first. Written by a model on the user's FreeRouter key (about 20-60 seconds). Nothing is added until you call add_brand_questions. Uses FreeRouter credit |
add_brand_questions |
Add questions to a brand, for example ones picked from suggest_brand_questions. Questions the brand already tracks are skipped. Every later report asks them. |
list_questions |
Every tracked question with its keywords, report count, and schedule. |
get_question |
A tracked question's keywords, schedule, and the summary of each of its reports, newest first. |
get_question_report |
What each model answered to a tracked question, with keyword mention counts. |
run_question_report |
Ask the chosen models a tracked question, save the report, and return it. Costs money on the user's FreeRouter key and takes about 15-60 seconds per model. Uses FreeRouter credit |
create_question |
Start tracking a question. Keywords (brands, products to count in answers) are optional: when omitted, AITrafficAnalytics picks them from the model answers after the first report and keeps tuning them on later runs. Scheduled reports are off unless you set schedule. |
suggest_similar_questions |
Questions in the same market as a tracked question but from a different angle (audience, use case, budget, criterion), best first. Searches the web, then the user's writing model writes them on their FreeRouter key (about 10-20 seconds). Nothing is tracked until you call add_similar_questions. Uses FreeRouter credit |
get_insights |
The plain-language reading of a brand's or question's reports (what the AI models say, what changed, where they disagree). Cached for a day; set refresh to write a new one on the user's FreeRouter key. |
export_report_pdf |
The brand's or question's report as a PDF (insights, keywords or questions, charts, tables, AITrafficAnalytics attribution). Returned as a base64 PDF resource; uses cached insights only. |
add_keywords |
Add keywords (brands, products) to count in a question's answers. Saved reports are recounted so charts include them at once. A keyword the harvester dropped or the user removed comes back. |
remove_keywords |
Stop counting keywords on a question. An auto-picked keyword removed this way is never picked again. Saved reports are recounted. |
set_schedule |
Turn scheduled reports on or off for a brand or question and choose the AI models they ask. Scheduled runs cost money on the user's FreeRouter key. |
set_email_reports |
Email each scheduled report to the user, or stop. Same as the eye (watch) button on the page. |
set_insights |
Turn the Insights reading on or off for a brand or question. |
share_report |
Create or update a public link to a brand's or question's reports (no password). Returns the URL anyone can open. Set enabled false to turn the link off. |
update_brand |
Rename a brand, change its website, or replace its question list. |
update_question |
Change the wording of a tracked question. Keywords are untouched. |
delete_brand |
Delete a brand with all of its questions, reports and share links. Cannot be undone. |
delete_question |
Delete a tracked question with all of its keywords and reports. Cannot be undone. |
delete_report |
Delete one saved report of a brand or question. Cannot be undone. |
get_run |
Where a report run is: running (with the model being asked), succeeded (with the report id), failed (with the reason) or interrupted. Runs are started by run_brand_report / run_question_report. |
add_similar_questions |
Track questions picked from suggest_similar_questions. Each copies the source question's schedule, models and email setting (so scheduled ones add reports on the user's FreeRouter key); keywords are picked after the first report. Questions already tracked are skipped. |
Reports need a FreeRouter key and chosen models in Settings. Brands and questions use XXXX-XXXX ids, the same ones in their page URLs.