Beamtrace demonstrates solid definition quality with well-structured schemas, comprehensive descriptions, and proper tool annotations. All 5 tools have clear verb-noun naming (get_*, list_*), detailed descriptions (150-300 chars), and complete input/output schemas with type definitions. Tool annotations correctly declare read-only semantics. However, all tools accept empty input objects with no parameters, limiting flexibility for filtering or pagination. Output schemas are well-documented with nullable fields and clear semantics. Descriptions include helpful guidance about setup requirements and data interpretation. Minor gaps: no pagination support despite list_* tools, no error recovery guidance in descriptions.
Get overall AI visibility for the account website: visibility score (0–100), delta vs previousPeriod, and a short insight. Use this for a high-level snapshot before drilling into topics, prompts, or competitors. When no website is set up for the account, returns setup guidance pointing to https://beamtrace.com/setup and an empty structured payload (null period/metrics or empty lists) — follow server instructions; do not invent dates or scores.
List the visibility leaderboard for the account website with share-of-voice metrics. Returns up to 8 rows including the owned website for comparison.
List improvement opportunities ranked by potential impact.
List tracked prompts for the account website with visibility metrics, parent topicId, mentioned flag, and per-prompt competitors (ranks 1–10). Prefer after list_topics when you need specific query-level detail. Rows with mentioned false are coverage gaps. When naming a prompt's topic, match topicId to list_topics and use that topic's name exactly. Counts of gaps vs total must use the returned prompts array length (not list_topics[].promptCount). When no website is set up for the account, returns setup guidance pointing to https://beamtrace.com/setup and an empty structured payload (null period/metrics or empty lists) — follow server instructions; do not invent dates or scores.
No pagination parameters on list_* tools despite returning potentially large result sets. list_topics, list_prompts, and list_competitors accept empty input and return unbounded arrays, risking context window exhaustion.
list_competitors and list_improvements have minimal descriptions (70-80 chars). list_competitors: 'List the visibility leaderboard for the account website with share-of-voice metrics. Returns up to 8 rows including the owned website for comparison.' lacks guidance on when to use vs list_topics. list_improvements: 'List improvement opportunities ranked by potential impact.' is vague about what 'improvement' means.
All tools accept empty input (no parameters). While appropriate for read-only discovery tools, this prevents filtering by date range, topic, or competitor subset. Agents cannot narrow results and must process full responses.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
List topic rollups for the account website with visibility score, share of voice, ranks, deltas, and per-topic competitors (ranks 1–10). List order is not importance order — sort yourself when ranking opportunities. promptCount is the topic's prompt total and may exceed how many rows list_prompts returns for that topic. Use `list_prompts` when you need per-prompt detail or coverage-gap counts. When no website is set up for the account, returns setup guidance pointing to https://beamtrace.com/setup and an empty structured payload (null period/metrics or empty lists) — follow server instructions; do not invent dates or scores.
No error recovery guidance in tool descriptions. Descriptions mention 'When no website is set up for the account, returns setup guidance pointing to https://beamtrace.com/setup' but do not explain what the agent should do if setup is incomplete or data is unavailable.
Output schema for list_competitors and list_improvements not visible in provided source. Only tool names and descriptions are shown; full output schemas cannot be verified.