Cite42: AI visibility and SEO data for AI agents
OfficialCite42 is a pay-per-call MCP server for AI visibility (GEO) and SEO data, letting your agent query AI models, measure brand mentions and citations, pull keyword/trend/social data, run multi-source research workflows, and schedule recurring prompt trackers.
Account & pricing (free): check remaining USD balance, legacy
cite42_creditsalias, full price table/estimates, and recent call usage with costs.AI search visibility: run a query across ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews and get each model's answer plus cited sources (
cite42_search).Brand rankings & comparison: measure mention rate and average position per brand/model (
cite42_rankings), compare your brand head-to-head with competitors plus co-mention graph (cite42_compare), and score positive/neutral/negative sentiment with supporting phrases (cite42_sentiment).Citations: aggregate which URLs AI models cite for a query, check whether a specific URL/domain is cited (
cite42_citations), and find queries where competitors are cited but you aren't (cite42_find_ai_citation_gaps).Page recommendations: free technical check (robots.txt, indexing, rendering) plus suggested buyer questions from a URL alone; with a query or saved evidence it measures citations and compares your page with up to two AI-cited pages, charged only when verified page-comparison advice is included.
Keyword data: monthly search volume, CPC, and competition for a seed keyword with optional related ideas (
cite42_keywords), or 2–50 keywords in one call (cite42_keywords_batch).Google Trends: interest over time, related and rising queries, and a rising/falling/stable label (
cite42_trends).Reddit & YouTube: relevant Reddit threads with cited summaries and sampled comments (
cite42_reddit_trends); rising videos, creator angles, and title patterns (cite42_youtube_trends).Research workflows (one call each): content opportunities, topic demand, AI prompt maps, competitor content analysis, AI citation gaps, and content brief data.
Trackers: create, update, activate, pause, delete, manually run, list, and read reports for weekly/monthly trackers that rerun a prompt list (one measurement: rankings, compare, citations, or sentiment) and keep history with change comparisons; management and report reads are free, runs bill per prompt.
Billing model: prepaid USD balance, per-call pricing by AI surface or flat-rate tool, failed calls not charged, $1 free credit for new accounts.
Provides Google AI Overviews and Google Trends data for AI visibility and SEO research, including AI Overview citations and interest-over-time trends.
Queries Perplexity model answers as part of AI visibility checks, reporting brand mentions, ranking positions, and cited sources for buyer questions.
Finds relevant Reddit discussions with cited summaries for research into topics and audience complaints.
Finds rising YouTube videos, creator angles, and title patterns for content and trend research.
Cite42: AI visibility and SEO data MCP server
Cite42 is an MCP server for AI visibility, also called generative engine optimization (GEO), and SEO data. It works in Claude Code, Codex, Cursor, Claude Desktop and ChatGPT. Your agent can ask the AI models behind ChatGPT, Claude, Perplexity and Gemini, plus Google AI Overviews, a buyer question and see whether the answers mention your brand and which sources they cite. It can also pull keyword search volume, Google Trends, Reddit and YouTube data.
You pay per call from a prepaid USD balance. There is no subscription, and new accounts get $1 of free credit. See pricing.
What you can do with it
Check whether AI answers mention your brand
Ask a buyer question such as "best invoicing software for freelancers" and see which brands each AI model names, in what order, and how often (cite42_rankings). Compare your brand with named competitors (cite42_compare), or see how the answers describe it (cite42_sentiment).
See which sources AI answers cite
cite42_citations lists the URLs the AI models cited for a question and can check whether your page or domain is among them. For the full text, cite42_search returns each model's answer with its sources. cite42_recommendations then compares your page with up to two of the cited pages.
Keyword search volume, CPC and competition
cite42_keywords returns monthly search volume, CPC and competition for a keyword, with optional related keyword ideas. cite42_keywords_batch checks up to 50 keywords in one call.
Google Trends
cite42_trends returns Google Trends interest over time, related and rising queries, and a trend label.
Reddit and YouTube research
cite42_reddit_trends finds relevant Reddit discussions with cited summaries. cite42_youtube_trends finds rising videos, creator angles and title patterns.
Track prompts weekly or monthly
A tracker reruns up to 30 prompts every week or month and keeps the history, so you can see when AI answers start or stop naming your brand.
Run research workflows in one call
Six workflows combine the tools above: content opportunities, topic demand, AI prompt maps, competitor content, AI citation gaps and content briefs.
Related MCP server: agentaeo-mcp-server
Requirements
A Cite42 account, free to create at cite42.dev
For the API-key setup only: Node.js 22.13 or newer and a Cite42 API key
Installation
Most clients connect to the hosted server at https://mcp.cite42.dev and sign in with your Cite42 account in the browser. There is no API key to create or paste, and nothing to install locally. For CI, servers, or machines without a browser, run this package with an API key instead; see API key setup.
Claude Code
claude mcp add --transport http --scope user cite42 https://mcp.cite42.dev && claude mcp login cite42Your browser opens to sign in. Then start Claude Code, or restart it if it was already open, and check with /mcp.
Codex CLI
codex mcp add cite42 --url https://mcp.cite42.devCodex opens your browser to sign in. If it doesn't, run codex mcp login cite42. Then start a new session.
Cursor
Add to Cursor, or add this under Settings → MCP, or in ~/.cursor/mcp.json:
{
"mcpServers": {
"cite42": { "url": "https://mcp.cite42.dev" }
}
}Sign in with your Cite42 account when Cursor asks.
Claude Desktop and Claude.ai
Add to Claude opens the connector dialog with Cite42 filled in. Or open Settings → Connectors → Add custom connector, name it Cite42, and paste https://mcp.cite42.dev. Click Connect and sign in. The connector appears in both Claude Desktop and Claude.ai.
ChatGPT and Codex Desktop
Turn on Developer mode in Settings → Security and login, then add a plugin under Settings → Plugins with the MCP server URL https://mcp.cite42.dev and OAuth.
API key setup (CI, servers, no browser)
Create a key at www.cite42.dev/app/keys (it looks like cite42_live_... and is shown once), then replace cite42_live_your_key_here below. The client starts this package on demand; you don't need to keep it running.
# Claude Code
claude mcp add --scope user cite42 -e CITE42_API_KEY=cite42_live_your_key_here -- npx -y @cite42/mcp
# Codex CLI
codex mcp add cite42 --env CITE42_API_KEY=cite42_live_your_key_here -- npx -y @cite42/mcpFor Cursor, save this to ~/.cursor/mcp.json:
{
"mcpServers": {
"cite42": {
"command": "npx",
"args": ["-y", "@cite42/mcp"],
"env": {
"CITE42_API_KEY": "cite42_live_your_key_here"
}
}
}
}Restart the client afterwards: a new terminal or claude/codex session, or fully quit and reopen Cursor.
Verify it's running
Claude Code: run
claude mcp listand check thatcite42shows as connected, or type/mcpinside a session.Codex CLI: run
codex mcp list.Cursor: look for
cite42in the MCP/tools indicator.Claude Desktop / Claude.ai: open Settings → Connectors and confirm Cite42 is connected.
If it doesn't appear, see Troubleshooting.
Try it: example prompts
After connecting or restarting, just ask in plain language. Your agent picks the right Cite42 tool automatically.
"Use Cite42 to check which brands AI models recommend for 'best project management software'."
"Which sources do AI models cite when asked about CRM tools for startups? Is mycompany.com among them?"
"Get search volume, CPC, and related keywords for 'ai seo tools'."
"Is interest in 'ai seo' rising on Google Trends? Show the related rising queries."
"What are people on Reddit complaining about regarding email marketing tools?"
"Run a content brief for the topic 'ai website builder'."
"Map the prompts worth tracking for our category, then create a weekly Cite42 rankings tracker for the best five. Show me the estimated cost in USD per run before activating it."
Example: what a session looks like
You ask:
Use Cite42 to find AI-cited competitors for "best invoicing software for freelancers".
Your agent calls cite42_citations and answers something like:
Across ChatGPT, Perplexity, and Gemini, the most-cited sources are:
freshbooks.com (cited by 3/3 models)
wave.com (cited by 2/3 models)
zoho.com/invoice (cited by 2/3 models)
bonsai.com (cited by 1/3 models)
Your domain wasn't cited by any model. FreshBooks is cited mainly via comparison/"best of" listicles. A citation-gap analysis (
cite42_find_ai_citation_gaps) can show which queries you're missing from.
That is the three default surfaces; ask for fullSweep to add Claude and Google AI Overviews. The exact brands and sources change by query and model. A good result should show the tool used, model/source evidence, and a short summary you can act on.
FAQ
Is there an MCP server for AI visibility?
Yes. AI visibility is how often AI assistants name or cite your brand when people ask about your category, and Cite42 is an MCP server that measures it. Connect it to Claude Code, Codex, Cursor, Claude Desktop, Claude.ai or ChatGPT, and your agent can ask the AI models behind ChatGPT, Claude, Perplexity and Gemini, plus Google AI Overviews, the questions your buyers ask and see which brands and sources come back.
How can I track my brand's visibility in ChatGPT and other AI search engines?
Connect Cite42 and ask something like "Use Cite42 to check which brands AI models recommend for 'best CRM for startups'." Your agent calls cite42_rankings, which reports which brands each answer names, in what order and how often. It checks ChatGPT, Perplexity and Gemini by default; ask for a full sweep to add Claude and Google AI Overviews. To follow it over time, a tracker reruns up to 30 prompts every week or month and keeps the history.
How can I see which websites ChatGPT, Claude and Perplexity cite?
cite42_citations lists the URLs the AI answers cited for a question and checks whether your page or domain is among them. cite42_find_ai_citation_gaps finds the questions where AI answers cite your competitors but not you.
How do I get my brand mentioned by ChatGPT?
Cite42 doesn't change what AI models say, but it shows you where to work. AI answers draw on the pages they cite, so start by finding those pages with cite42_citations. cite42_recommendations then compares your page with up to two of the cited pages and suggests changes, and a tracker shows whether your brand starts to appear.
Is there an MCP server for keyword research with real search volume?
Yes. Ask your agent for a keyword's search volume and it calls cite42_keywords, which returns monthly search volume, CPC and competition, with optional related keyword ideas. cite42_keywords_batch checks up to 50 keywords in one call.
Is there a Google Trends MCP server?
Yes. cite42_trends returns Google Trends interest over time, related and rising queries, and a trend label, so you can ask "Is interest in 'ai seo' rising?" and get an answer from the data. cite42_reddit_trends and cite42_youtube_trends cover Reddit discussions and rising YouTube videos.
How do I find content gaps between AI answers and keyword demand?
cite42_find_content_opportunities combines AI answers, keyword demand, Google Trends, Reddit, YouTube and citations in one call to find topics you haven't covered.
Can I check AI visibility without a monthly subscription?
Yes. Cite42 charges per call from a prepaid USD balance, and there is no subscription. A rankings or citations check costs $0.13 on the three default surfaces (ChatGPT $0.05, Gemini $0.05, Perplexity $0.03) and $0.20 with all five. Failed calls are not charged, and new accounts get $1 of free credit. See cite42.dev/pricing, or ask your agent to run cite42_pricing.
Is there an AI visibility API for developers?
Yes. The same tools are available as a REST API at the same per-call prices, so you can build AI visibility checks into your own app. See the REST API docs.
Are the answers live?
Each answer comes from a real call to that AI model. Cite42 caches answers for 24 hours, shared across customers, so an identical prompt on the same surface can return an answer from up to a day earlier. Scheduled tracker runs are a week or a month apart, so they always fall outside that window.
Do I need an API key?
Not for the hosted server at https://mcp.cite42.dev, where you sign in with your Cite42 account in the browser. You only need a key to run this npm package, for example in CI or on a server without a browser.
Is it open source?
This MCP client is MIT licensed. The data comes from the hosted Cite42 API, which is not open source.
Tools
Cite42 exposes 29 MCP tools: 4 free account tools (including the compatibility alias), 11 data/report tools, 6 research workflows, and 8 tracker tools.
Account & pricing (free)
cite42_balance: check the connected account’s remaining Cite42 balance in USD.cite42_credits: alias ofcite42_balancefor older integrations.cite42_pricing: get current per-tool prices and estimate a planned set of calls.cite42_usage: read recent call status and cost together with the remaining balance.
AI search visibility
cite42_search: run a query against ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews. Returns each model's answer plus cited sources.cite42_citations: aggregate which URLs the AI models cite for a query. Can also check whether a specific URL is cited.cite42_rankings: measure how brands rank in AI answers, including mention rate, average position, and per-model breakdown.cite42_compare: compare one brand against competitors in AI answers.cite42_sentiment: score positive, neutral, and negative sentiment for a brand, with supporting phrases.cite42_recommendations: page-level recommendations. A page URL alone gets a free technical check with suggested buyer questions; with a buyer question it measures citations and compares your page with up to two pages the AI surfaces cited, charged only when it includes verified page-comparison advice (plus the citations check it ran).
SEO & trend data
cite42_keywords: get seed search volume, CPC, and competition, with optional related keyword ideas.cite42_keywords_batch: check volume, CPC, and competition for two to 50 seed keywords in one request; billed by outcome (callcite42_pricingfor rates).cite42_trends: get Google Trends interest over time, related and rising queries, and a trend label.cite42_reddit_trends: find relevant Reddit discussions with cited summaries and read up to three pages through Gemini URL context. Returns page titles, authors, post excerpts, relative ages, available scores/comment counts and sampled human comments. Pages may be cached and model extraction is not independently verified. Exact dates, growth and quote-based insight arrays remain unavailable. ReadrelevantThreads;risingThreadsis a deprecated compatibility alias. Checkcoverageandwarningsfor missing fields and out-of-window threads.cite42_youtube_trends: find YouTube rising videos, creator angles, title patterns, and opportunities.
Research workflows (multi-source, one call)
cite42_find_content_opportunities: find content gaps across AI search, keywords, trends, Reddit, YouTube, and citations.cite42_analyze_topic_demand: combine keyword data, trends, AI answers, and audience conversations for a topic.cite42_map_ai_prompts: discover and cluster buyer prompts worth tracking in AI search. Its prompts are whatcite42_tracker_createtakes, so the two chain naturally.cite42_analyze_competitor_content: analyze AI rankings, comparisons, citations, and topic coverage for competitors.cite42_find_ai_citation_gaps: find queries where AI answers cite competitors but not your brand, domain, or URL.cite42_generate_content_brief: collect AI answers, citations, keyword demand, and social signals into brief-ready data.
Trackers
cite42_tracker_create: create a draft weekly or monthly tracker — one measurement applied to a list of prompts. No prompt list yet? Runcite42_map_ai_promptsfirst. Creating a draft is free and does not schedule calls.cite42_tracker_update: replace the whole tracker definition — name, cadence, measurement, prompts and configuration. A tracker read returns the same shape, so read it, change what you need, and send it back. Updating is free.cite42_tracker_activate: activate or resume recurring runs. You must pass the exactestimatedCostMicroPerRunfrom the latest tracker record asmaxCostMicroPerRun; activation authorizes billed scheduled runs until the tracker is paused. The response carries the balance, the cost per run andrunsDryAt— the date the balance stops covering your active trackers — and activation is refused when the balance cannot cover even the next run. When tracker emails are on, activation also sends a setup summary.cite42_tracker_pause: stop future scheduled runs while preserving configuration and history. Pausing is free.cite42_tracker_delete: permanently delete a draft or paused tracker and its run history. Active trackers must be paused first, and deletion is rejected while a run is queued or running. Financial usage records remain available.cite42_tracker_run: queue one manual run of every saved prompt. Each prompt is billed as its own tool call at the normal rate, and completion sends the same current-results email as a scheduled run—even for a baseline or an unchanged result.cite42_trackers: list trackers, schedules, statuses, cost estimates, and last/next run times. Reading the list is free.cite42_tracker_report: read bounded stored run history with results, changes, status, sampled time, and costs (latest 8 by default, up to 20). Reading stored reports is free.
Configuration
CITE42_API_KEY: required for the local package. Your API key from www.cite42.dev/app/keys.CITE42_API_BASE: optional. Defaults tohttps://www.cite42.dev/api/v1.
You can also pass these as CLI flags instead of environment variables:
npx -y @cite42/mcp --api-key=cite42_live_your_key_here --api-base=https://www.cite42.dev/api/v1Billing
Tool and workflow calls charge your Cite42 balance in USD. Tracker management and stored-history reads are free; every scheduled or manual tracker run bills one call per saved prompt at the normal rate. Activating or resuming a tracker requires explicit confirmation of the current maximum cost in USD per run and authorizes recurring billed calls until you pause it. Calls fail with a clear error if the API key is missing or your balance runs out. See www.cite42.dev/pricing.
Troubleshooting
Server not listed after setup: make sure you fully restarted the client (new terminal for CLI clients, full quit for desktop apps).
"No Cite42 account is linked to this sign-in": you signed in with a different account than the one you use at cite42.dev. In Claude Code run
claude mcp logout cite42, thenclaude mcp login cite42and pick the same sign-in method as on the dashboard.command not found: npx: install Node.js 22.13+ from nodejs.org, then restart your terminal.Tool calls fail with an auth error: check the key was passed correctly (
CITE42_API_KEY, no quotes or trailing spaces) and is active at www.cite42.dev/app/keys.Tool calls fail with an insufficient-balance error: add funds at www.cite42.dev/app.
Development
This repository is the source of the @cite42/mcp package on npm. It is a thin client: each tool calls the hosted Cite42 API, which runs the AI and data queries.
npm ci
npm run build
npm test # unit tests
npm run test:stdio # runs the built executable against a local fake API; no key, no paid callsReport bugs in GitHub issues or email support@cite42.dev.
Links
API keys: Create a Cite42 API key
Pricing: Cite42 pay-per-call pricing
npm: @cite42/mcp
USD billing
Every paid result carries a cite42Billing block with the amount charged and the remaining
Cite42 balance. Its chargedUsd and remainingUsd values are decimal strings in USD.
Credits are retired: since 0.8.0 the package no longer returns cite42Credits, and
cite42_credits answers exactly like cite42_balance.
cite42_pricing always returns the USD price table; an older currency argument is ignored.
REST clients can use GET /v1/pricing?currency=USD. Tracker activation still accepts the exact
integer maxCostMicroPerRun returned by the API; present its USD equivalent to users.
Optional AI visibility recommendations
cite42_rankings, cite42_compare, cite42_citations and cite42_sentiment include a metrics
block. Show mention/citation percentages with their counts (for example, 66.7% — 2 of 3 checked
answers). Sentiment percentages describe AI-estimated tone, not the percentage of positive answers.
Failed, empty and incomplete observations are excluded; no usable sample is unavailable, not zero.
Only comparable tracker runs provide automatic history. Each reported run includes metrics grouped
by primitive and brand/watched URL, with current, previous, previousRunId, and changes.
Each group states models and methodologyVersion. Its comparison is comparable, baseline
(no earlier run, or a new measurement baseline after an old-format run), or unavailable;
comparisonReason explains skipped comparisons. A successful run with unavailable comparison data
is not a failed run, and its email does not claim "no changes". Completed manual-run replays include
the same immediate predecessor as tracker reports.
Citation groups preserve the original watched URL; normalized identities are only used for matching.
Counts sum distinct prompts: four prompts × five surfaces can supply 20 answers. Comparisons require
the complete prompt/configuration set, methodology and complete coverage to match the preceding run.
Individual prompts remain small samples (at most five surfaces); percentage-point changes are withheld
below 10 answers per group in each run. This guardrail does not establish statistical significance.
cite42_recommendations is a separate, optional report. With no saved result, url alone runs a free
technical check (robots.txt crawler access, indexing, rendering) and suggests buyer questions, and url
with query first runs a citations check, priced like cite42_citations. Otherwise use one requestId
returned by an earlier call, a user-owned trackerRunId, or a structured evidence array. Pass url for the page
that should answer the prompt, or context.domain to look for a match in that site's sitemap, and
query to choose a prompt when the evidence covers several. Optional context also accepts brand,
audience and goal for this request only. The report fetches that page, its robots.txt and up to two
pages the AI surfaces cited, as returned HTML without JavaScript. Check cite42_pricing for the
current report price and obtain the user's agreement before running the add-on. It is charged only
when the report includes page-comparison recommendations backed by quotes from the inspected pages;
everything else is free.
For rankings evidence, provide context.brand to identify the tracked brand you want advice for.
Without it, the measurements remain available but the tool asks which brand to focus on for free;
it never guesses ownership or advises you to improve a competitor's offering. Comparison evidence
already identifies its target through input.brand.
Sources must be complete and no more than 30 days old, within 20 observations and 64KB. Supported successful workflow steps can be reused. The tool does not inspect websites, retrieve host memory, perform fresh research, recommend keywords, or activate paid tracking. Suggestions are labelled inferred and do not establish website defects or causes. Tracker follow-up requires a cadence and timezone choice plus separate activation approval. Identical completed retries are free for two minutes; an in-flight duplicate is refused without another charge and can be retried shortly.
Available Tools
29 toolscite42_analyze_competitor_contentARead-onlyInspect
Run the competitor-content workflow: AI rankings, head-to-head comparison, citations, keyword demand, and topic coverage, aggregated in one response. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional primary brand/domain to compare against. | |
| topic | No | Optional topic/category to constrain the analysis. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| competitors | Yes | Competitor brands, domains, or channels to analyze. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/destructiveHint/openWorldHint; the description adds the critical non-obvious trait that this nominally read-only tool consumes prepaid balance, that billing is per successful step at per-surface rates in USD, that the charge appears in the result field cite42Billing, and that prices come from cite42_pricing. The cost-confirmation threshold is exactly the kind of behavioral context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the workflow purpose in the first sentence, then layers billing and cost-confirmation rules. Every sentence earns its place, though the billing mechanics are dense and could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters at full schema coverage and no output schema, the description covers purpose, cost model, where to get exact prices, and the confirmation threshold, plus the cite42Billing result field. It is nearly complete; minor gaps include expected runtime or scope of the aggregated response for what is clearly a heavy multi-surface job.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter including models defaults, fullSweep interaction, and country default. The description adds only indirect hints (per-surface billing, call-count threshold) and no new syntax or format detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run the competitor-content workflow') and enumerates the five constituent analyses (AI rankings, head-to-head comparison, citations, keyword demand, topic coverage) aggregated in one response. This clearly distinguishes it from single-surface siblings like cite42_rankings, cite42_compare, and cite42_citations by signaling it is a composite workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides actionable usage context: exact prices come from cite42_pricing (free), and for plans over 20 calls or $5 the agent should estimate cost and confirm with the user first. It does not explicitly contrast when to use this composite workflow versus the individual sibling tools, so it falls short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_analyze_topic_demandARead-onlyInspect
Run the topic-demand workflow: SEO keyword data, Google Trends, AI answers, and audience conversations, aggregated in one response. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic, keyword, category, or audience demand to analyze. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| timeframe | No | Trend window. Defaults to "past_12_months". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only the safety profile (readOnly, openWorld, non-destructive), so the description carries the rest — and does it well: billing is per succeeded step at per-surface rates, in USD against a prepaid balance, with the billing figure exposed in the cite42Billing result field and a spend-confirmation threshold. This is exactly the behavior (partial billing, prepaid drawdown) an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by billing mechanics and the cost-confirmation rule; three sentences, each carrying weight. Slightly dense billing prose in the middle sentence, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter composite with no output schema, the description covers cost, billing field, and confirmation thresholds, and names cite42_pricing as the price source. What the aggregated response actually contains is left implicit, which is a minor gap given there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including per-surface billing notes, defaults, the fullSweep-vs-models precedence, and character limits, so the schema does the heavy lifting. The description adds no parameter-level meaning beyond that, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific workflow verb ("Run the topic-demand workflow") and enumerates the four surfaces it aggregates — SEO keywords, Trends, AI answers, audience conversations — which distinguishes it from the single-surface siblings (cite42_keywords, cite42_trends, cite42_search, cite42_reddit_trends). "Aggregated in one response" makes the composite nature explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides cost-scoped guidance ("plans over 20 calls or $5, estimate the cost and confirm with the user first") and routes to cite42_pricing for exact prices, which is useful operational guidance. However, it never states when to pick this aggregate over calling the individual sibling tools, which is the most likely selection dilemma for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_balanceARead-onlyInspect
Check the remaining Cite42 balance in USD for the connected account. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds two pieces of context not in the structured data: the balance is denominated in USD and the call is free. It does not describe pagination or return shape, but for a trivial read that gap is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste. The resource and scope are front-loaded, and the cost note is appended last where it belongs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool whose annotations fully cover the safety profile, the description supplies what is needed: what is returned, in what currency, and that it is free. It lacks any signal distinguishing it from the credits/usage/pricing siblings, which is the only real completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot be deficient and there is nothing for the description to compensate for. Baseline 4 applies; the 'for the connected account' phrase usefully clarifies which account's balance is returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Check) plus resource (remaining Cite42 balance), currency (USD), and scope (connected account). However, it does nothing to distinguish itself from siblings like cite42_credits, cite42_usage, or cite42_pricing, which an agent could easily confuse with a balance check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives among the closely related sibling tools (cite42_credits, cite42_usage, cite42_pricing). The only implicit signal is the word 'Free', which hints at cost but not at selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_citationsARead-onlyInspect
Find which sources a model's web search surfaces for a query. Aggregates cited URLs across models with per-model counts; optionally checks whether a specific URL is cited. Measures the retrieval corpus behind a prompt — which domains own your category in AI search, and where your content is missing — not the citation links a consumer chat UI renders for a logged-in user. Its requestId can be passed to cite42_recommendations when the user asks for improvement advice. Priced per AI surface queried. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional URL to check whether it was cited. | |
| query | Yes | The concise query to look up cited sources for. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, openWorld, non-destructive), and the description layers on genuinely non-obvious behavior: priced per AI surface queried, billed against a prepaid balance, reported in a cite42Billing result field, and a cost-confirmation threshold for larger plans. That is real operational context an agent cannot infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then layered pricing, sibling routing, and cost guardrails. It is a dense paragraph but nearly every sentence carries distinct operational value; a small amount of compression is possible but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by naming a return field (cite42Billing) and a reusable requestId, plus the billing/permission implications of calling it. It does not describe the shape of the citation results themselves, which leaves a modest gap for a tool whose whole value is its returned corpus data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so models, fullSweep, url, and query semantics are already fully documented (including per-surface character limits and the fullSweep/models interaction). The description adds only the cost consequence of querying multiple surfaces, which is already implied by the models schema text. Baseline 3 is correct when the schema carries the parameter load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: "Find which sources a model's web search surfaces for a query," and immediately scopes it to aggregating cited URLs across models with per-model counts. It also draws an explicit boundary against a plausible misreading ("not the citation links a consumer chat UI renders for a logged-in user"), letting an agent separate it from cite42_find_ai_citation_gaps or cite42_search without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage context: pass the requestId to cite42_recommendations when the user wants improvement advice, and pause for confirmation on plans over 20 calls or $5 with exact prices from cite42_pricing. It stops short of explicitly stating when to prefer this over the nearest sibling (cite42_find_ai_citation_gaps / cite42_rankings), so the alternative-selection guidance is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_compareARead-onlyInspect
Compare one primary brand head-to-head against a competitor set in AI answers: per-brand rankings plus a co-mention graph of which brands the models name together. Its requestId can be passed to cite42_recommendations when the user asks for improvement advice. Priced per AI surface queried. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Your brand, ranked alongside the competitors. | |
| query | Yes | The concise query to compare the brand and competitors on. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| competitors | Yes | Competitor brand/domain names (up to 10) to rank against your brand. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing billing mechanics (per AI surface queried, billed in USD to a prepaid Cite42 balance via the cite42Billing result field), the additional cost of fullSweep, and a mandatory user-confirmation threshold. It also reveals the chaining contract (requestId feeds cite42_recommendations), which an agent could not infer from schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose and outputs, then layers chaining and pricing. Efficient overall, though three consecutive sentences on pricing/billing add density that could be trimmed without losing the critical cost-confirmation rule.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does name the two return components (per-brand rankings and co-mention graph) plus the billing result field, and it covers cost behavior for a 5-parameter tool. It stops short of explaining the shape of the co-mention graph or ranking payload, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter meaning is already fully documented in the schema (including model defaults, fullSweep precedence, and char limits). The description adds no additional syntax or constraint detail about the parameters themselves, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — comparing one primary brand head-to-head against a competitor set in AI answers — and enumerates the two outputs (per-brand rankings plus a co-mention graph). This clearly differentiates it from neighbors like cite42_rankings or cite42_analyze_competitor_content, which do not imply a head-to-head comparison with co-mention output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete routing guidance — pass the requestId to cite42_recommendations when improvement advice is requested — and an explicit cost/confirmation workflow (estimate and confirm with the user for plans over 20 calls or $5, prices from cite42_pricing). It does not, however, state when to prefer this over the closest siblings (cite42_rankings, cite42_analyze_competitor_content), so selection between similar comparison tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_creditsARead-onlyInspect
Alias of cite42_balance for older integrations. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuine trait not in the structured data — 'Free', i.e. no credit cost — which is useful for a cost-aware agent, but there is no pagination, auth, or return-format context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the tool's identity and relationship to its canonical sibling, with no filler. Every clause carries information the agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, annotation-backed legacy alias with no output schema, the description covers identity, delegation to cite42_balance, and cost. Return-value shape is not described, but it is implied to match the sibling, so the gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. The alias reference correctly signals that the same (empty) input contract as cite42_balance is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (credits/balance) via an explicit alias relationship to cite42_balance for older integrations, which lets an agent identify it without opening the schema. It does not restate the verb 'check balance' directly but the alias reference makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'For older integrations' gives the intended audience but never explicitly instructs the agent to prefer cite42_balance for new work. The when/when-not distinction is implied by the alias framing rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_find_ai_citation_gapsARead-onlyInspect
Run the AI-citation-gaps workflow: find queries where AI answers cite others but not your brand, domain, or URL, with the supporting data. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional exact URL to check for citations. | |
| brand | Yes | Brand or domain that should earn citations. | |
| query | Yes | AI-search query to inspect for citation gaps. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| competitors | No | Competitor brands/domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does substantial work: partial billing only for successful steps, per-surface rates, USD denomination, charge against a prepaid balance, the result field cite42Billing, and a cost-confirmation threshold. It does not state the operation's safety profile (read vs mutation) or any rate/concurrency limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose first, then billing model, then the confirmation gate without filler. The billing sentence is dense with parenthetical detail but every clause is actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose and cost behavior well, and no output schema exists to relieve the description of return-value explanation. However, it never says what the returned gap data looks like, whether execution is synchronous or long-running, or expected latency for a five-surface sweep.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (~80%): query, brand, url, models, and fullSweep all carry schema descriptions. The description adds the brand/domain/URL relationship but nothing new about model selection semantics or the cost of subsets, so the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run the AI-citation-gaps workflow') and defines the output concept precisely as 'queries where AI answers cite others but not your brand, domain, or URL'. An agent can distinguish this from generic search tools, though no sibling (e.g. cite42_search, cite42_compare) is named to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete gating rule: 'For plans over 20 calls or $5, estimate the cost and confirm with the user first', and routes price discovery to cite42_pricing. It lacks an explicit when-not or a direct comparison against alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_find_content_opportunitiesARead-onlyInspect
Run the content-opportunities workflow: fans out across AI search, SEO keywords, trends, Reddit, YouTube, and citations and returns the aggregated data in one response. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional brand/domain to account for. | |
| topic | Yes | Market, niche, product category, or audience to research. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| audience | No | Optional target audience or ICP. | |
| channels | No | Optional data sources to include. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| competitors | No | Competitor brands/domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds substantial non-obvious behavior on top: partial-failure billing ('billed for the steps that succeed, at per-surface rates'), the billing currency and channel ('USD... to the user's prepaid Cite42 balance'), where the cost lands in the response (cite42Billing), and where to get exact prices (cite42_pricing). That is exactly the kind of cost/consumption disclosure an agent needs before invoking a metered fan-out tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose first, then cost mechanics, then the confirmation gate; the ordering is well front-loaded and nothing is padded with marketing language. The two consecutive billing sentences ('Billed for the steps that succeed' / 'Billed in USD...') overlap slightly and could be compressed into one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, multi-surface fan-out tool with no output schema, the description covers what an agent most needs before calling: scope, metered cost, partial-success billing, and a pointer to exact pricing. The main remaining gap is the shape of the aggregated response beyond the cite42Billing field (per-surface result structure, latency, whether surfaces can fail independently in the body), which matters given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (models, fullSweep, channels, country, competitors, topic, brand, audience) is already documented in the schema, including the 700/2000-character query limits and the fullSweep-vs-models precedence. The description only reinforces that surfaces are billed separately and defaults exist, adding little syntax or semantics the schema does not already provide — the baseline 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Run the content-opportunities workflow') and enumerates exactly what it fans out over (AI search, SEO keywords, trends, Reddit, YouTube, citations), plus the key differentiator that results come back 'aggregated in one response' rather than per-surface. It never names the single-surface siblings (cite42_search, cite42_keywords, cite42_trends) that an agent should weigh it against, so sibling differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is real conditional guidance for cost: 'For plans over 20 calls or $5, estimate the cost and confirm with the user first,' and the schema carries per-parameter routing (subset models, fullSweep). However, the description never says when to choose this aggregate workflow over the individual sibling tools it bundles, which is the central selection decision for this tool; usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_generate_content_briefARead-onlyInspect
Run the content-brief workflow: research for a content brief from AI answers, citations, SEO keyword demand, trends, Reddit, and YouTube signals. It returns evidence and a suggested prompt; write the brief from it. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | Optional content goal, e.g. rank, earn citations, convert. | |
| brand | No | Optional brand/domain the brief is for. | |
| topic | Yes | Topic, keyword, or content idea to brief. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| audience | No | Optional target audience or ICP. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover safety (readOnly, openWorld, non-destructive), but the description adds substantial hidden behavior: per-surface metered billing in USD against a prepaid balance, charging only for successful steps, a named result field (cite42Billing), and a pre-confirmation cost gate. That is exactly the kind of cost/auth context an agent needs before invoking a paid, open-world tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the verb and scope in the first sentence, then layers cost/billing mechanics. Efficient overall, though the second billing sentence repeats the cost-gating point alongside the cite42_pricing pointer, which a stricter edit could merge.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly states what comes back (evidence and a suggested prompt, not a finished brief) and names the billing result field. It leaves the structure/volume of the evidence payload unspecified, but for a 7-param, single-required-param tool this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself already documents every parameter well (models billing/subset semantics, fullSweep ignoring models, per-surface character limits, defaults). The description adds no parameter-level guidance, so the baseline 3 applies — the schema, not the description, carries this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run the content-brief workflow') and enumerates the exact surfaces it aggregates (AI answers, citations, SEO keyword demand, trends, Reddit, YouTube), which clearly distinguishes it from the single-surface siblings (cite42_search, cite42_trends, cite42_reddit_trends, cite42_citations). It also clarifies the deliverable boundary: it returns evidence plus a prompt, and the caller writes the brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context — when the user wants a cross-surface brief, and the cost-confirmation threshold for large runs (>20 calls or $5) — and routes to cite42_pricing for exact prices. It stops short of explicitly contrasting with the narrower siblings (e.g. 'use this instead of chaining cite42_keywords + cite42_trends'), so the alternative selection is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_keywordsARead-onlyInspect
Classic keyword data for a seed term. Omit ideas when the user only needs that seed's monthly search volume, CPC, or competition. Set ideas:true only when the user asks for related, alternative, or long-tail suggestions from provider candidates. Not a multi-model AI-search query. The reply echoes requestedKeyword and carries status "exact" or "no_data"; when the seed has no search volume, any related term that does appears under alternatives — never treat an alternative's metrics as the requested keyword's. Billed by outcome: cheapest when the seed has no search volume, more when it has metrics, most with ideas:true. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | Yes | Seed keyword or concise topic to fetch search volume, CPC, and competition for. | |
| ideas | No | Omit for volume, CPC, and competition on the seed only. Set true only for related, alternative, or long-tail keyword ideas. | |
| country | No | ISO-2 country code for localized metrics. Defaults to "us". | |
| language | No | Optional ISO-2 language code. Defaults to the country's primary search language, so country "de" searches in German. Only multilingual markets accept an override: us (en, es), ca (en, fr), in (en, hi). Every other country has a single search language and rejects anything else. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the read-only/open-world/no-destruction profile, and the description adds substantial non-obvious behavior: outcome-based billing tiers, that the reply echoes requestedKeyword, the possible status values ("exact" or "no_data"), and the trap of reading an alternative's metrics as the seed's. It does not state rate limits or auth requirements, but for a billed read tool this is well beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then usage, then behavioral/billing caveats in a logical order. Dense but a couple of the billing sentences could be tightened; nothing is repeated verbatim from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: it explains the echoed keyword, the status field, and where related terms appear, plus the billing basis and field name. An agent has everything needed to call and interpret this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by tying ideas:true to a specific user intent and to a higher billing tier. Country/language semantics are entirely left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Classic keyword data for a seed term") and explicitly distinguishes itself from the batch sibling and from AI-search tools ("Not a multi-model AI-search query"). An agent can route between cite42_keywords, cite42_keywords_batch, and cite42_search without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit condition for omitting vs. setting ideas:true ("Omit ideas when the user only needs that seed's monthly search volume... Set ideas:true only when the user asks for related, alternative, or long-tail suggestions"), plus a cost-confirmation rule for plans over 20 calls or $5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_keywords_batchARead-onlyInspect
Check search volume, CPC, and competition for two to 50 distinct seed keywords in one request. No related ideas. Billed by outcome. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| seeds | Yes | Two to 50 distinct seed keywords. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| language | No | Optional ISO-2 language code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), but the description adds substantive behavioral context beyond them: the call is metered ('Billed by outcome'), billed in USD against a prepaid balance, the cost appears in a named result field (cite42Billing), and large jobs require user confirmation. This is exactly the kind of cost/authorization disclosure annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core purpose and scope, then the exclusion, then the billing and cost-confirmation rules. No sentence is redundant or restates the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still names the fields returned (volume, CPC, competition) and the billing result field, and it covers scope limits and cost handling. Nothing an agent needs to invoke this correctly and set user expectations appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents seeds, country, and language, including the 2-50 bound and defaults. The description restates the count constraint but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('search volume, CPC, and competition') with an explicit scope ('two to 50 distinct seed keywords in one request'). The clause 'No related ideas' differentiates it from the sibling cite42_keywords, so an agent can tell them apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational context: it points to cite42_pricing for exact prices and instructs the agent to estimate and confirm cost with the user when plans exceed 20 calls or $5. It does not, however, explicitly frame when to choose this over cite42_keywords other than the implicit 'no related ideas' distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_map_ai_promptsARead-onlyInspect
Run the AI-prompt-map workflow: research for a list of buyer prompts worth tracking, from AI search, SEO demand, trends, citations, Reddit, and YouTube data. It returns evidence and a suggested prompt, not a finished list; prompts written from it can be tracked with cite42_tracker_create. Billed for the steps that succeed, at per-surface rates. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional brand/domain to include in prompt tracking recommendations. | |
| topic | Yes | Market, product category, buyer problem, or audience to map prompts for. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| country | No | ISO-2 country code. Defaults to "us". | |
| audience | No | Optional target audience or ICP. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| timeframe | No | Trend window. Defaults to "past_12_months". | |
| competitors | No | Competitor brands/domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), but the description adds substantial behavior beyond them: billing occurs only for steps that succeed, charged at per-surface rates in USD into a prepaid balance, with results surfaced in the cite42Billing field. This is exactly the cost/permission context an agent needs before invoking a metered workflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose before any caveats, and every sentence carries information (output nature, downstream tool, billing, confirmation threshold). Slightly dense with billing mechanics, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still characterizes the return ('evidence and a suggested prompt') and points to the cite42Billing result field, so an agent knows what comes back. Only minor gaps remain, such as what constitutes a billable 'step'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so defaults, enums, and the fullSweep/models relationship are already documented in the schema. The description reinforces the per-surface billing implication of `models` but adds no syntax or format detail beyond what the schema provides; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (run the AI-prompt-map workflow) and the exact output: a researched list of buyer prompts worth tracking. Names the data sources it merges (AI search, SEO demand, trends, citations, Reddit, YouTube), which distinguishes this composite workflow from single-source siblings like cite42_keywords or cite42_reddit_trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context and downstream routing: the output is evidence plus a suggested prompt, not a finished list, and those prompts can be tracked via cite42_tracker_create. Adds an explicit cost-control rule ('over 20 calls or $5, estimate and confirm with the user first'). Missing only explicit when-not-to-use guidance against the single-surface research siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_pricingARead-onlyInspect
Get the exact Cite42 price table in USD: per-surface rates, flat-rate tools, workflow maximums, and which tools are free. Use it for cost questions and to estimate a plan before running it. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is a safe, non-destructive read operation. The description adds that the tool is free and returns pricing data, and the name and annotations confirm it is a static lookup. This is sufficient for a zero-parameter, read-only informational tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and then adds usage context. Every part earns its place with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and the presence of annotations, the description provides all necessary information: what it returns, when to use it, and that it is free. No further detail is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to describe. A baseline of 4 is appropriate because the description does not need to explain parameters, and the schema, though empty, is accurate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get the exact Cite42 price table in USD') and enumerates the contents (per-surface rates, flat-rate tools, workflow maximums, free tools). This clearly distinguishes it from sibling tools like cite42_balance or cite42_usage, which concern account state rather than pricing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names when to use it: 'for cost questions and to estimate a plan before running it.' It provides a clear context and no ambiguity about when to invoke this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_rankingsARead-onlyInspect
Measure how a set of brands/competitors rank in AI answers for a query: mention rate, average position, and a per-model breakdown across ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews. Its requestId can be passed to cite42_recommendations when the user asks for improvement advice. Priced per AI surface queried. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The concise query to measure brand/competitor visibility on. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. | |
| competitors | Yes | Brand or domain names to track within the AI-generated answers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld/non-destructive; the description adds substantial behavioral context the annotations lack: per-surface pricing, USD billing against a prepaid balance, the cite42Billing result field, a free pricing lookup path, and a confirm-first rule for large plans. That is exactly the kind of cost/authorization disclosure an agent needs before calling a billable read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose and outputs before the billing and chaining notes. It is dense but each sentence carries a distinct fact (outputs, chaining, pricing, threshold). Slightly long, but nothing is truly wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description names the returned metrics (mention rate, average position, per-model breakdown) and the billing result field, so an agent knows what to expect. Combined with cost and chaining guidance, it is nearly complete for a 4-param billable tool, with only minor gaps in return structure detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are already well documented in the schema (models billing, fullSweep behavior, character limits). The description reinforces the per-surface pricing model but adds no parameter syntax or format detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (measure) and resource (brand/competitor rankings in AI answers), then enumerates the concrete outputs: mention rate, average position, per-model breakdown. The list of AI surfaces is named explicitly, so an agent understands exactly what this produces versus generic search/compare siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: the requestId chains into cite42_recommendations when the user wants improvement advice, and it sets an explicit cost-confirmation threshold (over 20 calls or $5). It does not explicitly name when to prefer this over cite42_compare or cite42_search, so it falls short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_recommendationsARead-onlyInspect
Page-level AI visibility recommendations, for when the user asks how to improve a page. With a saved result (requestId, trackerRunId or evidence) it reports on one measured prompt, charged only when the report includes page-comparison advice backed by quotes from inspected pages. Without one: url alone runs a free technical check of the page (robots.txt crawler access, indexing, rendering) and returns suggested buyer questions; url with query first runs a citations check, priced like cite42_citations, then the report. Prices are in cite42_pricing. Fetches the page, its robots.txt and up to two pages the AI surfaces cited, as returned HTML without JavaScript. No site-wide crawl, keyword advice or tracker activation. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Your page that should answer the prompt. Without a saved result, url alone runs a free technical check; url with query runs a citations check first. | |
| query | No | A buyer question. With a saved result it picks one measured prompt; without one it is the question measured. | |
| models | No | AI surfaces for the citations check that runs without a saved result. Ignored with a saved result. | |
| context | No | ||
| evidence | No | ||
| requestId | No | A requestId from your own successful Cite42 call within the last 30 days. | |
| trackerRunId | No | A specific finished run of your own tracker within the last 30 days. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/non-destructive/open-world, but the description adds the operational profile that annotations cannot: which resources are fetched (page, robots.txt, up to two AI-cited pages), that HTML is returned without JavaScript, exactly when a charge applies (report includes page-comparison advice backed by quotes), currency and billing target (cite42Billing, prepaid balance), and a spend-confirmation threshold.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and then walks modes in a logical url-with/url-without order, and most sentences carry unique operational detail. It is still a single dense paragraph with mild redundancy (cite42_pricing appears twice, billing restated), which costs it the top mark.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, nested-object tool with no output schema and no required parameters, the description covers trigger, mode branches, side effects, cost model, confirmation policy, and explicit exclusions. An agent has enough to decide whether, when, and how cautiously to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds real meaning over the schema: it explains how url and query interact across the with/without-saved-result modes, that requestId/trackerRunId/evidence are the three ways to supply 'a saved result', and that models only affects the no-saved-result citations check. However, since schema coverage is 71% and the schema already restates the url/query/models behavior, some of this is duplicative, and the context object (goal/brand/domain/audience) is never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource and scope: 'Page-level AI visibility recommendations,' and immediately anchors the trigger ('for when the user asks how to improve a page'). It also distinguishes itself from the nearest sibling by naming cite42_citations as the pricing analogue, so an agent can separate this from the plain citations tool without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit mode selection: with a saved result (requestId/trackerRunId/evidence) it reports on one measured prompt; without one, 'url alone' runs a free technical check while 'url with query' runs a citations check first. It also names when-not (no site-wide crawl, keyword advice or tracker activation) and routes pricing questions to cite42_pricing, plus a confirmation rule above 20 calls or $5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_reddit_trendsARead-onlyInspect
Discover relevant Reddit discussions with Google Search and read up to three thread pages through Gemini URL context. Returns Gemini-read titles, authors, post excerpts, relative ages, available scores/comment counts and sampled human comments, plus cited model summaries. Check coverage and warnings: pages may be cached, extraction is not independently verified, and exact dates, growth and quote-based insights are unavailable. risingThreads is a deprecated alias of relevantThreads. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic, category, product, or audience to research on Reddit. | |
| timeframe | No | Conversation window, e.g. "past_7_days", "past_30_days", "past_90_days". | |
| subreddits | No | Optional subreddit names, without r/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, open-world, and non-destructive behavior, but the description adds meaningful context: pages may be cached, extraction is not independently verified, exact dates/growth/quote insights are unavailable, output fields are listed, and billing behavior is explained. It also notes the deprecated risingThreads alias, which helps avoid misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and return behavior, followed by warnings and billing details. It is somewhat dense and long, but most sentences carry relevant information for a complex paid, open-world tool; a bit of tightening could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining what is returned: titles, authors, excerpts, relative ages, scores, comment counts, sampled comments, and summaries. It also discloses coverage limits, billing, and cost-confirmation thresholds, making it complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters at 100% coverage, including topic, timeframe, and subreddits. The description does not add syntax, constraints, or examples beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource: 'Discover relevant Reddit discussions with Google Search and read up to three thread pages through Gemini URL context.' It clearly distinguishes this tool from siblings like cite42_search and cite42_youtube_trends by scoping it to Reddit discussions and Gemini-read threads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints such as checking coverage warnings and confirming costs for large plans, but it does not explicitly say when to use this tool versus alternatives like cite42_search or cite42_trends. Usage is implied by the Reddit-discussion focus, not stated as an alternative-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_searchARead-onlyInspect
Run a query against AI models (ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews) and return each model's answer along with the sources it cited. Priced per AI surface queried. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The concise AI-search/market-research query to run against the selected models. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/openWorldHint/non-destructive, so safety is covered. The description adds genuinely useful non-schema behavior: per-surface pricing, USD billing against a prepaid balance, the cite42Billing result field, and a cost-confirmation threshold. It omits rate limits or auth requirements, keeping it just below top marks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose then billing then cost-control guidance; every sentence earns its place. It is dense with parentheticals but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly summarizes return values (answers plus cited sources) and names a billing result field. It also covers the cost-confirmation workflow. Some operational details (rate limits, auth) are absent but not critical for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents query, models, and fullSweep in detail (including enums, defaults, and character limits). The description's parameter-related content (subsets, defaults, fullSweep cost) largely restates schema information, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run a query) and resource (AI models), names the five surfaces covered, and describes the return shape (each model's answer plus its cited sources). This clearly distinguishes it from siblings like cite42_compare, cite42_citations, or cite42_rankings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use guidance: pass a subset of models when the user names surfaces or wants lower cost, omit for defaults, use fullSweep for all five, and confirm with the user for plans over 20 calls or $5. It does not explicitly route to alternative siblings (e.g., cite42_compare for cross-model comparison), so it stops short of full alternative coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_sentimentARead-onlyInspect
Score how each AI model talks about a brand for a query: a positive/neutral/negative split per model with the verbatim phrases driving the tone, plus an aggregate across models. Its requestId can be passed to cite42_recommendations when the user asks for improvement advice. Priced per AI surface queried. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand to score sentiment for in each model answer. | |
| query | Yes | The concise query whose answers are scored for brand sentiment. | |
| models | No | AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000. | |
| fullSweep | No | Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, openWorld, non-destructive) and the description goes well beyond them: per-surface billing, USD charging to the prepaid Cite42 balance, the cite42Billing result field, a pointer to cite42_pricing for exact prices, and an explicit authorization threshold before large spend.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and output shape, then the chaining value, then the cost rules. Information-dense with no filler, though the multi-clause billing sentence is heavy compared to the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the job of describing returns (per-model tone split, verbatim phrases, aggregate, cite42Billing field) and does so. Cost, chaining, and scope for a paid open-world tool are all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents brand, query, models, and fullSweep in detail. The description reinforces that each surface is billed separately but adds no syntax or format detail beyond the schema, matching the baseline for a fully-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (score) plus resource (AI model answers about a brand for a query) plus the exact output shape (per-model positive/neutral/negative split with verbatim phrases, plus aggregate). This is clearly distinguishable from siblings like cite42_rankings or cite42_citations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: the returned requestId feeds cite42_recommendations when the user asks for improvement advice, and it prescribes cost confirmation for plans over 20 calls or $5. It never states when NOT to use this tool, but the forward-chaining and billing guardrails are concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_activateAIdempotentInspect
Activate or resume recurring weekly or monthly tool calls. maxCostMicroPerRun must equal the tracker's latest estimatedCostMicroPerRun; activation authorizes future billed calls until paused. The response includes the balance, the cost per run, and runsDryAt, the date the balance stops covering active trackers. When tracker emails are enabled, activation sends a setup summary and every completed run sends current results and suggested next steps, even when nothing changed. Activation is refused when the balance cannot cover the next run. Managing trackers and reading reports is free; each run bills one call per prompt at the per-surface rates.
| Name | Required | Description | Default |
|---|---|---|---|
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. | |
| maxCostMicroPerRun | Yes | Exact estimatedCostMicroPerRun returned by the latest tracker record. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotation hints (readOnly=false, idempotent=true, destructive=false): it discloses that activation authorizes ongoing billed calls until paused, that the balance guard can refuse the call, that tracker emails send a setup summary and results on every completed run even when nothing changed, and the full billing model. These are exactly the side effects and cost implications an agent needs before invoking a writer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and scope are front-loaded in the first sentence, followed by guard rails, response contents, and email/billing behavior in a logical order. It is dense but every sentence carries operative information; only minor tightening would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the response (balance, cost per run, runsDryAt) and covers billing, email side effects, and the refusal condition. Combined with the safety annotations, an agent has everything needed to call it correctly and anticipate outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including that maxCostMicroPerRun is the exact estimatedCostMicroPerRun from the latest record. The description reinforces the equality constraint but adds no format, range, or derivation detail beyond what the schema and annotations provide, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (activate/resume) and a precise resource (recurring weekly or monthly tool calls/trackers), and its meaning is clearly separable from siblings like cite42_tracker_pause, cite42_tracker_run, and cite42_tracker_create. An agent can tell what this does without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operating context for when activation applies (resuming recurring billed runs) and hard preconditions: maxCostMicroPerRun must match the latest estimate, and activation is refused when the balance can't cover the next run. It stops short of naming the sibling to use instead when you don't want recurring runs (pause) or want a one-off (run), so it is clear context without explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_createAInspect
Create a draft weekly or monthly tracker: one measurement — rankings, compare, citations, or sentiment — applied to a list of prompts, with the brand, competitors and AI surfaces set once for all of them. Prompt lists can come from cite42_map_ai_prompts research. Creation does not start recurring calls. Managing trackers and reading reports is free; each run bills one call per prompt at the per-surface rates.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Citations only: a URL to report on as cited or not cited. | |
| name | Yes | Human-readable tracker name. | |
| brand | No | Required for compare and sentiment. Not used by rankings or citations. | |
| models | No | AI surfaces to query for every prompt. Omit for the three defaults (chatgpt, perplexity, gemini), or list surfaces explicitly — including all five — to fix the recurring cost. | |
| cadence | Yes | ||
| prompts | Yes | Prompts to track, up to 30. Each is billed as its own call on every run. Keep the wording stable so runs stay comparable, avoid dates, and do not repeat a prompt. | |
| primitive | Yes | What to measure on every prompt: rankings (which brands get named), compare (the brand against named competitors), citations (which sources are cited), or sentiment (how one brand is described). One measurement per tracker. | |
| competitors | No | Required for rankings (the brands to track, including your own) and compare (the rivals to rank against, up to 10). Not used by citations or sentiment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: the created object is a draft, no recurring calls begin at creation, management and reporting are free, and each run bills one call per prompt at per-surface rates. This cost and lifecycle detail is exactly what the annotations (readOnly=false, destructive=false) do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in the first clause and keeps to three dense sentences. The trailing billing sentence is useful but the paragraph is packed; nothing is wasted, though it is heavier than strictly needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested cadence object, the description covers lifecycle (draft, no auto-runs), cost, and prompt sourcing well. It stops short of stating that activation is required to start runs, which is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already carries most parameter meaning (brand/competitors usage per primitive, cadence fields, model defaults). The description reinforces the 'one measurement' and 'set once for all prompts' model but adds no syntax or defaults beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a draft weekly or monthly tracker') plus the exact scope of what a tracker is: one measurement applied to a list of prompts. It distinguishes itself from activation siblings by noting 'Creation does not start recurring calls,' so an agent can tell it apart from cite42_tracker_activate/run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this applies and points to a source of input ('Prompt lists can come from cite42_map_ai_prompts research') plus the implied follow-up of activation. It lacks an explicit exclusions clause (e.g., when to use update vs. create), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_deleteADestructiveIdempotentInspect
Permanently delete a draft or paused tracker, including its saved configuration and run history. Active trackers must be paused first, and deletion is rejected while a run is queued or running. Financial usage and billing ledger records are retained. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint and idempotentHint, yet the description adds substantially: what is destroyed (configuration plus run history), what survives (financial usage and billing ledger records), the failure preconditions (queued/running runs), and the cost ('Free'). This is materially more than the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying distinct information: effect, precondition, retention, cost. Front-loaded with the destructive action and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an irreversible mutation with a single required parameter and no output schema, the description covers the full burden: preconditions, side effects, what is retained, and cost. Nothing an agent needs before invoking it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (trackerId), and schema description coverage is 100% with a clear provenance note ('Cite42 tracker ID returned by a tracker management or report tool'). The description adds nothing about the parameter, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Permanently delete a draft or paused tracker') and immediately scopes what else goes with it (saved configuration and run history). The distinction from sibling trackers tools like cite42_tracker_pause and cite42_trackers is clear from the 'draft or paused' constraint and the permanence framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-not conditions: active trackers must be paused first, and deletion is rejected while a run is queued or running. This effectively routes the agent to cite42_tracker_pause, though it never names that sibling explicitly, so it stops just short of fully explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_pauseAIdempotentInspect
Pause future recurring calls for a tracker while preserving its configuration and stored run history. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description adds real value beyond them by stating that configuration and run history are preserved, and that the operation is free (no credit cost) — details an agent cannot get from the schema or hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the core action front-loaded and the preservation guarantee immediately after. The trailing 'Free' is terse but carries genuine cost information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with rich annotations and no output schema, the description covers what changes (recurring calls stop), what survives (configuration and history), and cost. Only the reversal path (use tracker_activate to resume) is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema description coverage, which already explains that trackerId is the Cite42 tracker ID from a management or report tool. The description adds no syntax or sourcing detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: pausing future recurring calls for a tracker. The clause 'while preserving its configuration and stored run history' implicitly differentiates it from cite42_tracker_delete, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (stop recurring runs without losing setup), but there is no explicit when-to-use, when-not-to-use, or named alternative such as cite42_tracker_delete or cite42_tracker_activate. An agent must infer the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_reportARead-onlyInspect
Read bounded stored run history for one tracker, including per-tool results, changes from the prior comparable observation, statuses, sampled times, and costs. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Most recent runs to return, capped for LLM context. | |
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds real behavioral context beyond them: results are 'bounded', they are 'stored' (no new run is triggered), and the operation is 'Free', which is useful cost information. It stops short of stating pagination or result-envelope behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that opens with the verb and resource, then compresses the return contents into a tight clause list, closing with the cost note. No filler sentences and nothing repeated from structured fields verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does so by naming the payload categories (per-tool results, changes vs. prior observation, statuses, sampled times, costs). Combined with annotations that settle safety and scope, and a fully documented two-parameter schema, an agent has enough to call it correctly; only pagination/ordering details are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including the limit cap for LLM context and the trackerId provenance. The description's 'bounded' hints at limit and 'one tracker' at trackerId but adds no new semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Read' plus a precise resource, 'bounded stored run history for one tracker', and it enumerates what that history contains (per-tool results, deltas from the prior observation, statuses, sampled times, costs). It does not explicitly name a differentiating sibling such as cite42_tracker_run, though 'stored' implicitly signals it returns past runs rather than triggering a new one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'stored' and the 'Free' note imply this is the zero-cost way to inspect prior runs rather than launch one, which is a usable contextual cue. However, there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. cite42_trackers for listing, cite42_tracker_run for executing), so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_runAIdempotentInspect
Queue one manual run using the tracker’s saved tool inputs. A repeated requestToken returns the same logical run. Managing trackers and reading reports is free; each run bills one call per prompt at the per-surface rates.
| Name | Required | Description | Default |
|---|---|---|---|
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. | |
| requestToken | Yes | Stable caller-generated token used to deduplicate a retried manual run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false. The description adds genuinely non-structured context: the run is queued (async) rather than synchronous, retries with the same token collapse to one logical run, and runs are billed while tracker management/reporting is free. It stops short of saying where results land or how long a run takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by idempotency and billing. Every sentence carries information, though the pricing clause is dense and slightly tangential to invocation mechanics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two required params, no output schema, and rich annotations, the description covers action, idempotency, and cost. The one notable gap is not routing the agent to cite42_tracker_report for retrieving results after the queued run completes, though the free-report remark hints at it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds the behavioral consequence of requestToken ('a repeated requestToken returns the same logical run') that the schema only gestures at with 'deduplicate a retried manual run'. trackerId is left entirely to the schema, which is acceptable given its full description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue one manual run') scoped to a tracker's saved tool inputs. The word 'manual' implicitly distinguishes it from scheduled lifecycle siblings like cite42_tracker_activate/pause, so an agent can separate it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for invoking it (trigger an immediate run from saved inputs) and adds cost framing ('each run bills one call per prompt') that helps the agent decide whether to spend budget. It does not explicitly name an alternative or a when-not-to-use condition (e.g., scheduled runs vs. activate), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_trackersARead-onlyInspect
List the connected account’s trackers with status, cadence, tool configuration, cost estimate, accepted per-run maximum, and next/last run times. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds useful behavioral context beyond that: the tool is free and returns a concrete set of fields (status, cadence, tool configuration, cost estimate, accepted per-run maximum, next/last run times). It does not cover pagination or output format, but with no output schema the field list is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short fragments, front-loaded with the verb and resource, and contains no filler. The single-word cost note "Free." earns its place by conveying a meaningful constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema, the description supplies the key returned fields and cost status. It omits pagination or ordering details, but annotations carry the safety profile and the listed fields are enough to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no parameters for the description to clarify, and the schema is fully descriptive for its empty shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb "List" and resource "trackers" with account scope, and enumerates the returned fields. It does not explicitly name or differentiate itself from nearby siblings such as cite42_tracker_report or cite42_tracker_run, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives like cite42_tracker_report or cite42_tracker_run, and no when-not conditions. "Free" is cost information, not usage direction, so the description gives the agent little routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_tracker_updateADestructiveInspect
Replace a tracker definition: name, cadence, measurement, prompts and configuration. Send the complete definition, not a partial patch — a tracker read returns this exact shape, so read it, change what you need, and send it back. An edit returns the tracker to draft so its new recurring cost can be confirmed. Managing trackers and reading reports is free; each run bills one call per prompt at the per-surface rates.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Citations only: a URL to report on as cited or not cited. | |
| name | Yes | Human-readable tracker name. | |
| brand | No | Required for compare and sentiment. Not used by rankings or citations. | |
| models | No | AI surfaces to query for every prompt. Omit for the three defaults (chatgpt, perplexity, gemini), or list surfaces explicitly — including all five — to fix the recurring cost. | |
| cadence | Yes | ||
| prompts | Yes | Prompts to track, up to 30. Each is billed as its own call on every run. Keep the wording stable so runs stay comparable, avoid dates, and do not repeat a prompt. | |
| primitive | Yes | What to measure on every prompt: rankings (which brands get named), compare (the brand against named competitors), citations (which sources are cited), or sentiment (how one brand is described). One measurement per tracker. | |
| trackerId | Yes | Cite42 tracker ID returned by a tracker management or report tool. | |
| competitors | No | Required for rankings (the brands to track, including your own) and compare (the rivals to rank against, up to 10). Not used by citations or sentiment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, and the description adds real substance on top: the whole definition is replaced (clobbering risk), the edit returns the tracker to draft so new recurring cost can be confirmed, and runs bill one call per prompt at per-surface rates while management and report reads are free. These are side effects and cost traits an agent cannot derive from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the replace semantics and the read-modify-write instruction before the state-change and billing notes. Every sentence carries weight, though the closing billing sentence is the least essential to correct invocation and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema mutation tool this covers the essentials: replacement semantics, required full payload, resulting draft state, and cost model. It stops short of stating whether prior run history or reports survive the edit and whether the tracker must be paused first, which would have made it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (89%), so the baseline is 3, but the description adds meaning beyond the schema: it explains that a tracker read returns 'this exact shape', which justifies why five fields are required and why a full payload must be sent. The field list (name, cadence, measurement, prompts, configuration) also orients the agent to the parameter set without repeating per-field syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Replace a tracker definition') and immediately enumerates the replaced fields (name, cadence, measurement, prompts, configuration). The contrast with 'not a partial patch' cleanly separates it from an edit/patch style tool and from siblings like tracker_create, tracker_pause, or tracker_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear read-modify-write workflow: read the tracker, change what you need, send it back, and warns that a partial payload is wrong. It does not explicitly compare against tracker_create or tracker_activate, so the agent must infer when replacement is preferable to those alternatives, but the operational context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_trendsARead-onlyInspect
Google Trends interest-over-time, related and rising queries, and a rising/falling/stable label for a term. A flat-priced data tool, not an AI-model query. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Optional location name (e.g. "United Kingdom"). Defaults to the United States when omitted. | |
| term | Yes | Search term or concise topic to pull Google Trends interest-over-time for. | |
| timeframe | No | Trends window, e.g. "past_12_months", "past_30_days", "past_5_years". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), and the description goes beyond them by disclosing the billing model, the cite42Billing result field, prepaid-balance charging, and a 20-call/$5 confirmation threshold. That is concrete behavioral context an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in the first clause, then layers billing and the cost-confirmation rule. Every sentence carries information, though the billing/cost material occupies half the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, no-output-schema tool this covers the essentials: what is returned, the billing field, and a spend guardrail. It is only slightly short on explicit sibling routing for the other trend tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so geo, term, and timeframe are already fully documented with examples and defaults. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific data source and the exact returns: Google Trends interest-over-time, related/rising queries, and a rising/falling/stable label. The 'Google Trends' qualifier distinguishes it from the cite42_reddit_trends and cite42_youtube_trends siblings, though it doesn't name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds a useful distinction ('flat-priced data tool, not an AI-model query') and a cost-confirmation rule, which is real usage context. However, it never states when to pick this over the reddit/youtube trend siblings, leaving the main routing decision implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_usageARead-onlyInspect
Get recent Cite42 usage for the connected account: the last calls with their cost and status, plus the remaining balance in USD. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the return contents and the 'Free' cost trait, but says nothing about how many calls 'last calls' covers, pagination, or freshness, which limits its added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource, the returned fields, and the cost trait, with zero filler. The clipped 'Free.' fragment is deliberate and earns its place by answering the cost question up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description must carry the return-value burden, and it does list costs, statuses and remaining USD balance. It stops short of specifying the window size ('last calls') or noting the overlap with cite42_balance, which are the only real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description correctly implies a no-argument call scoped to 'the connected account'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Get recent Cite42 usage for the connected account') and enumerates the payload: last calls with cost and status plus remaining balance in USD. It does not, however, distinguish itself from siblings cite42_balance and cite42_credits, whose domains it partially overlaps by reporting balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives are named, despite three closely related billing/quota siblings (cite42_balance, cite42_credits, cite42_pricing). The trailing 'Free' hints that cost is not a concern when calling it, but that is inference, not instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cite42_youtube_trendsARead-onlyInspect
YouTube trend data for rising videos, creator angles, title patterns, channel examples, and video-market opportunities around a topic. Billed in USD (result field cite42Billing) to the user's prepaid Cite42 balance; exact prices from cite42_pricing (free). For plans over 20 calls or $5, estimate the cost and confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic, keyword, niche, or audience to research on YouTube. | |
| region | No | ISO-2 country/region code. Defaults to "US". | |
| timeframe | No | Video-market window, e.g. "past_7_days", "past_30_days", "past_90_days". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds genuinely new behavioral context outside them: the call is billed in USD against a prepaid balance, the charge appears in the cite42Billing result field, and there is an approval threshold at 20 calls/$5. Return-format and latency details are absent, but the billing disclosure is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all earning their place: the first defines the data, the rest cover billing and the confirmation threshold. Front-loaded with the capability before the cost caveat. Slightly dense with the parenthetical field reference, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of enumerating the returned data categories, and it covers the billing side effect, which is the main risk of invoking it. The one gap is the absence of routing guidance versus the other trend/content-opportunity siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so topic, region, and timeframe are already documented with lengths and defaults in the schema. The description adds no additional semantics about parameter behavior, so the baseline of 3 for schema-driven parameters applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('YouTube trend data') and enumerates the concrete outputs (rising videos, creator angles, title patterns, channel examples, video-market opportunities), which tells an agent exactly what it gets back. It implicitly separates itself from cite42_reddit_trends and cite42_trends via the 'YouTube' scope, but never names those siblings, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete usage rule for cost control: check cite42_pricing for exact prices and estimate/confirm with the user for plans over 20 calls or $5. However, it offers no guidance on when to choose this over cite42_trends, cite42_reddit_trends, or cite42_find_content_opportunities, so the tool-selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
v0.1.0- First observed
cite42_analyze_competitor_content - First observed
cite42_analyze_topic_demand - First observed
cite42_balance - First observed
cite42_citations - First observed
cite42_compare - First observed
cite42_credits - First observed
cite42_find_ai_citation_gaps - First observed
cite42_find_content_opportunities - First observed
cite42_generate_content_brief - First observed
cite42_keywords - First observed
cite42_keywords_batch - First observed
cite42_map_ai_prompts - First observed
cite42_pricing - First observed
cite42_rankings - First observed
cite42_recommendations - First observed
cite42_reddit_trends - First observed
cite42_search - First observed
cite42_sentiment - First observed
cite42_tracker_activate - First observed
cite42_tracker_create - First observed
cite42_tracker_delete - First observed
cite42_tracker_pause - First observed
cite42_tracker_report - First observed
cite42_tracker_run - First observed
cite42_tracker_update - First observed
cite42_trackers - First observed
cite42_trends - First observed
cite42_usage - First observed
cite42_youtube_trends
TDQS
Scored across 29 tools
The six workflow tools (find_content_opportunities, analyze_topic_demand, map_ai_prompts, analyze_competitor_content, find_ai_citation_gaps, generate_content_brief) fan out over the same underlying atomic tools, so an agent can struggle to decide between a bundle and its components. cite42_credits is an explicit duplicate of cite42_balance, adding a known collision. Descriptions do help separate most tools, but the atomic-vs-workflow overlap keeps boundaries fuzzy.
All names share the cite42_ prefix and snake_case, giving a predictable, readable surface. However, verb style is mixed: many are bare nouns (search, rankings, compare, sentiment, keywords) while the tracker family uses noun_verb (tracker_create, tracker_update). This is a minor inconsistency rather than a chaotic one.
At 29 tools the set is on the heavy side for a single server, though the domain (AI visibility, SEO data, and tracker management) is broad enough to justify a large surface. The count is inflated by an alias (credits) and six aggregate workflows that partly duplicate the atomic tools, so not every tool clearly earns its place.
Coverage is strong: billing/pricing introspection, the full AI-visibility measurement suite, keyword/trends/social data, aggregate workflows, and a complete tracker lifecycle (create, update, activate, pause, delete, run, list, report). The main gap is prompt/asset management for trackers—prompts can be researched but have no standalone CRUD—which agents can work around.
Maintenance
Related MCP Connectors
Track your brand's visibility in ChatGPT, Perplexity, Claude, Gemini, Grok and DeepSeek answers.
SEO data for AI agents: Google SERP, keyword research, backlinks, site audits, AI answer visibility.
Track your brand's visibility in ChatGPT, Gemini, Perplexity, Claude, Google AI Overviews and more.
Track your brand's visibility in AI search across Claude, ChatGPT, Perplexity, and Gemini.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT
- AlicenseAqualityDmaintenanceAudit your brand's visibility across ChatGPT, Perplexity, Claude, and Google AI - get citation rates, AEO health scores, content gap analysis, and a 9-page content suite to rank in AI-generated answers.556 npmMIT
- AlicenseAqualityCmaintenanceTrack brand visibility across ChatGPT, Perplexity, Claude, and Gemini.6101 npm10MIT
- AlicenseBqualityCmaintenanceEnables AI agents to check brand mentions across AI search surfaces like ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews using natural language queries.415 npm1MIT