MCP App Store
by KeenEthics
Business & Operations
BrightEdge icon

BrightEdge

by BrightEdge Technologies, Inc.

Overview

The BrightEdge app retrieves metrics from a user's connected BrightEdge account, covering both AEO, GEO, and traditional SEO performance across LLMs. It returns AEO citations and mentions, AEO and SEO competitor benchmarking, keyword rank data, page-level performance, Share of Voice competitive scores, Google Search Console and web analytics metrics, AI Overview citation gap analysis, and recommendations. Invoke this app when a user requests prompt citations or mentions, keyword rankings, keyword and prompt management, AEO and SEO competitive visibility, including queries phrased as improvement guidance that require account-specific data rather than general inference. ChatGPT helps users work with BrightEdge data more effectively by combining analyses across different datasets, asking follow-up questions, and turning SEO and AEO metrics into clear insights within a single conversation.

Tools

add_ai_tracked_prompts

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Creates new AI Brand Presence (AI Catalyst) tracked prompts. Use when: - The user wants to start tracking one or more new prompts. Do not use when: - Listing existing tracked prompts → use get_ai_tracked_prompts. - Removing tracked prompts → use remove_ai_tracked_prompts. Important: - Submission is asynchronous. Success means the prompt was accepted for tracking, not that results are available yet. - The prompt group is automatically resolved for the account. Never provide or guess a prompt_group_id. - If a valid prompt_group_names value is unknown, first use discover mode (prompt_group_names=['-1']) to retrieve available prompt groups. Never guess values. - Country is not caller-configurable — a fixed value is sent since the field is required. - Before submitting, the account's prompt usage limit is checked. If submitting these prompts would exceed the account's configured limit, the tool returns an error instead of submitting — tell the user to ask BrightEdge to increase the account's prompt usage limit, or remove some existing tracked prompts, then retry. Confirmation: - This is a write operation and requires explicit user confirmation. - Do not set confirmed=true until the user selects Yes. - Follow any additional_display_information returned by the tool. Permissions: - The request may be rejected if write access is unavailable or the user's role is read-only. - If the tool returns an error, relay it to the user exactly as returned and do not imply the write succeeded. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

add_keyword_group_or_keyword_to_group

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Creates a new keyword group, optionally seeded with keywords — OR adds keywords to one or more already-existing keyword groups. Exactly one of name or group_ids_or_names determines which: - name set → CREATE mode: creates a new group. If keyword_ids_or_keywords is also given, the group is created and seeded with them in one transaction. - group_ids_or_names set → ADD-TO-EXISTING mode: attaches keyword_ids_or_keywords (required) to the given existing group(s). No new group is created. This is a WRITE tool that asks the user to confirm before it makes any change (see CONFIRMATION below). Gather the required info for whichever mode applies, then call it. WHEN TO USE: - "create a keyword group called '...'" → CREATE mode, no keywords - "create a keyword group '...' with these keywords: ..." → CREATE mode with keywords - "add these keywords to my '...' keyword group" (group already exists) → ADD-TO-EXISTING mode; pass the group's name or ID via group_ids_or_names — names are resolved internally; never guess a numeric ID yourself DO NOT USE: - to read/list existing keyword groups → use get_keyword_group_settings - to delete an entire keyword group, or remove keywords from a group → use remove_keyword_group_or_keyword_from_group KEY PARAMETERS: name — required for CREATE mode; omit for ADD-TO-EXISTING mode. group_ids_or_names — required for ADD-TO-EXISTING mode (existing groups only, by ID or by exact name, in the same list); omit for CREATE mode. keyword_ids_or_keywords — optional in CREATE mode (seeds the new group); required in ADD-TO-EXISTING mode. Mixes existing keyword IDs and new keyword text freely. frequency — how often rankings refresh for a newly created group; defaults to 'weekly'. Not used in ADD-TO-EXISTING mode. parent_id — set only if the user wants a newly created group nested under an existing one. campaign_enabled / campaign_contact_user_ids — only set these if the user explicitly asks for campaign alerts/tracking on a newly created group. confirmed — leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. CONFIRMATION: this tool asks the user to confirm before it writes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and no change is made. Follow its additional_display_information: present the options, wait, and only on Yes re-call with confirmed=true. Do not set confirmed=true yourself without the user's Yes. NOTE: this can be refused when the account's 'MCP Write' feature bit is off. When it is, this returns a message with an ERROR status — relay that message to the user verbatim and do NOT imply the write succeeded. This check is enforced automatically; you do not verify it yourself.

add_or_delete_ai_tracked_prompt_groups

ChatGPT
Creates or deletes AI Brand Presence prompt groups (topics). Actions: - ADD → Create one or more empty prompt groups using prompt_group_names. - DELETE → Permanently delete prompt groups using prompt_group_ids, including all prompts and historical data. Use when: - Creating a new prompt group/topic. - Deleting an existing prompt group. Do not use when: - Listing prompt groups → use get_ai_tracked_prompt_groups or Discover Mode. - Updating a prompt group's name, settings, or AI engines → use update_ai_tracked_prompt_group. - Adding or removing prompts inside a group → use add_ai_tracked_prompts or remove_ai_tracked_prompts. Parameters: - action (required): ADD or DELETE. - prompt_group_names: required for ADD. - prompt_group_ids: required for DELETE. Confirmation: - All ADD and DELETE operations require explicit user confirmation. - Do not set confirmed=true without the user's Yes. - Follow any additional_display_information returned by the tool. Discover Mode: - For DELETE, use prompt_group_ids=[-1] to list available prompt groups instead of deleting. - Use this when the exact prompt group ID is unknown. Never guess IDs. Permissions: - Write operations may be rejected if the user lacks write access. - Relay tool errors exactly as returned and do not imply success.

add_or_remove_competitor_domain

ChatGPT
This is a WRITE tool that adds or removes a tracked COMPETITOR domain for a BrightEdge account, chosen by the action parameter (exactly 'add' or 'remove'). Use it whenever the user asks to start or stop tracking a competitor site. It requires user confirmation: call it with confirmed=false first (the default) and it returns a Yes/No confirmation request that makes NO change - relay the options to the user, wait, and only re-call with confirmed=true (same other arguments) once they choose Yes. Never set confirmed=true on your own. A request can be refused (e.g. the account's 'MCP Write' feature bit is off, an add would exceed the account's max tracked-sites limit, or a remove targets a domain that is not tracked); when that happens relay the returned message verbatim and never imply the change succeeded. Adds a competitor domain to a BrightEdge account's tracked competitors, or removes one. action selects the operation: - action="add" -> track domain as a competitor (optionally with nickname/color/regexp_domain) - action="remove" -> stop tracking domain (nickname/color/regexp_domain are ignored). The tool resolves the domain to the tracked competitor internally; if it is not currently tracked, this returns success=false with an explanatory message. WHEN TO USE: - "track amazon.com as a competitor" / "add <domain> to my competitors" -> action="add" - "stop tracking amazon.com" / "remove <domain> from my competitors" -> action="remove" DO NOT USE: - to add a tracked/own domain or keywords -> those are different setup flows KEY PARAMETERS: action - required; exactly 'add' or 'remove'. domain - the competitor domain, e.g. 'amazon.com' (a full URL is accepted and normalized). nickname / color / regexp_domain - add only; color is a plain hex like '#f9a004'. confirmed - leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. CONFIRMATION: this tool asks the user to confirm before it writes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and makes no change. Present the options, wait, and only on Yes re-call with confirmed=true and the same other args. NOTE: the write can be refused (e.g. the account's 'MCP Write' feature bit is off, or an add would exceed the account's max tracked-sites limit). When refused this returns success=false with a message -- relay it verbatim and do NOT imply it succeeded. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

add_or_remove_plp_for_keywords

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Sets (or updates) the preferred landing page (PLP) URL on one or more keywords, or removes it. A PLP is the specific page you want a keyword to rank for. action picks which: - action="add" → assigns a PLP URL per keyword. Provide plp_updates — a list of {keyword, plp_url} objects (distinct URL per keyword is fine). Each plp_url must be on the account's OWN domain; the backend rejects off-domain URLs. - action="remove" → clears the PLP URL. Provide keyword_ids_or_keywords — the keywords to clear. The keyword itself stays tracked, just without a preferred page. Both actions accept an optional search_engine_id_or_name scope: set it to change the PLP for just that one engine; OMIT it to apply to all of each keyword's search engines (the common default). At most 500 keywords per call. This is a WRITE tool that asks the user to confirm before it makes any change (see CONFIRMATION). WHEN TO USE: - "set the landing page for 'running shoes' to https://mysite.com/shoes" → action="add" - "point keywords 555 and 556 at https://mysite.com/sale" → action="add" (same URL twice) - "remove the PLP from 'running shoes'" / "clear the preferred page for keyword 555" → action="remove" - "set the PLP for 'running shoes' on Google US Desktop only to ..." → action="add" with search_engine_id_or_name DO NOT USE: - to read a keyword's current PLP → use get_keywords_settings - to add/remove keywords or groups → use add_keyword_group_or_keyword_to_group / remove_keyword_group_or_keyword_from_group - to add/remove search engines on a group → use add_or_remove_search_engines_from_keyword_group KEY PARAMETERS: action — required; exactly 'add' or 'remove'. plp_updates — required for 'add' (omit for 'remove'); {keyword, plp_url} objects. keyword_ids_or_keywords — required for 'remove' (omit for 'add'); keywords by ID or text. search_engine_id_or_name — optional; a single engine by ID or exact name. Omit = all engines. confirmed — leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. KEYWORD/URL RESOLUTION: keywords may be given by exact text and are resolved to IDs internally; never guess a numeric ID. PLP URLs are validated by the backend (format + must be on the account's own domain) — invalid ones come back per-keyword in the result's failed array rather than failing the whole call. SEARCH-ENGINE TRACKING: when search_engine_id_or_name is set, a PLP can only be set/removed for a keyword that is actually tracked on that engine. Keywords not tracked on it are skipped (not written) and reported back in not_tracked_on_search_engine; if none of the requested keywords are tracked on that engine, the call makes no change and returns ERROR. (With the engine omitted — all engines — this check does not apply.) CONFIRMATION: this tool asks the user to confirm before it writes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and no change is made. Follow its additional_display_information: present the options, wait, and only on Yes re-call with confirmed=true. Do not set confirmed=true yourself without the user's Yes. NOTE: this can be refused when the account's 'MCP Write' feature bit is off. When it is, this returns a message with an ERROR status — relay that message to the user verbatim and do NOT imply the write succeeded. This check is enforced automatically; you do not verify i…

add_or_remove_search_engines_from_keyword_group

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Adds one or more search engines to a single keyword group, or removes them from it. action picks which: - action="add" → attaches the given search engine(s) to the group, so the group's keywords start being tracked (ranks/SERP) against them. - action="remove" → detaches the given search engine(s) from the group, so tracking against them stops. This is a WRITE tool that asks the user to confirm before it makes any change (see CONFIRMATION below). It targets exactly one keyword group per call and reports which engines it skipped as no-ops (see IDEMPOTENCY). WHEN TO USE: - "track my '...' keyword group on Google US Mobile too" / "add Bing to the '...' group" → action="add" - "stop tracking the '...' group on Yahoo" / "remove Google UK Desktop from group 987" → action="remove" DO NOT USE: - to change the default/search engines while CREATING a group, or to add keywords → use add_keyword_group_or_keyword_to_group (its search_engine_ids) - to delete a group or remove keywords from it → use remove_keyword_group_or_keyword_from_group - to read which search engines a group tracks → use get_keyword_group_settings (DETAIL mode) KEY PARAMETERS: action — required; exactly 'add' or 'remove'. group_id_or_name — required; the single group by ID or exact name (resolved internally, never guess a numeric ID). search_engine_ids_or_names — required; one or more search engines by ID or exact name (e.g. "Google US Desktop"), resolved internally. Never guess a numeric ID. confirmed — leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. IDEMPOTENCY: engines already in the requested state are skipped rather than re-sent — adding an already-attached engine or removing an unattached one is a harmless no-op, reflected in the result's skipped_search_engine_ids. If EVERY requested engine is already in the desired state, no change is made and no confirmation is asked. CONFIRMATION: this tool asks the user to confirm before it writes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and no change is made. Follow its additional_display_information: present the options, wait, and only on Yes re-call with confirmed=true. Do not set confirmed=true yourself without the user's Yes. NOTE: this can be refused when the account's 'MCP Write' feature bit is off. When it is, this returns a message with an ERROR status — relay that message to the user verbatim and do NOT imply the write succeeded. This check is enforced automatically; you do not verify it yourself.

check_keyword_search_status

ChatGPT
Poll an in-flight get_keyword_search job (by job_id) and return its keyword results once ready. Use this ONLY to resume a get_keyword_search call that returned status 'PENDING' with a job_id. Each call polls for a short bounded window; if the job is still running it returns status 'RUNNING' with the same job_id — call again until status is 'Completed'. WHEN TO USE: - get_keyword_search returned status 'PENDING' with a job_id → call this with that job_id - a previous check_keyword_search_status returned status 'RUNNING' → call again to keep polling DO NOT USE: - to start a new keyword search → use get_keyword_search - with a job_id you did not receive from get_keyword_search KEY PARAMETERS: job_id — the job_id returned by get_keyword_search (status 'PENDING'). max_results — capped at 200; the first row is the seed keyword itself.

compare_competitor_domain_gap_keywords

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Performs row-level keyword gap analysis between a primary domain and one or more competitor domains, using the BrightEdge DataCube (DCX). Works for any domain on the web. Returns: One row per keyword, showing the keyword's rank across compared domains, along with volume and top-ranking URL. Key fields: keyword, classic_rank, rank_change, volume, volume_change, top_ranking_url Use when: - User wants a list of specific keywords a competitor ranks for that the primary domain does not - User needs per-keyword competitive gap rows (not aggregates) Do not use when: - Only one domain is provided — requires at least one competitor domain (domains must not be empty or omitted); route to DCX get_keywords_ instead - User wants high-level aggregate summaries (total counts, coverage %) — use KR tools - User wants GSC click/impression data — use GSC tools - User is searching keywords for a single site with no competitor — use DCX get_keywords_ tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

compare_competitor_performance

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Returns an aggregate competitive summary comparing a primary domain against one or more competitor domains — one row per domain, not per keyword. Works for any domain on the web. Returns: One row per domain with high-level keyword coverage and traffic metrics. Key fields: domain, traffic_share, keywords, traffic_estimate, keywords_page1, keywords_page2, keywords_page3, keywords_rank1, keywords_rank2to5 Use when: - User wants a high-level aggregate comparison across domains (totals, coverage percentages) - User asks "how does my domain compare to competitors overall?" or "how many keywords do we share?" - User wants one-row-per-domain competitive snapshot, not a keyword-by-keyword breakdown Do not use when: - User wants a specific list of gap/shared/dominator keyword rows — use compare_competitor_domain_gap_keywords instead (returns per-keyword rows) - Only one domain is provided — requires at least one competitor domain in domains; route to DCX get_keywords_* instead - User wants GSC click/impression data — use GSC tools instead - User wants SOV/share-of-voice market share — use SOV tools instead Hard constraints: - domains must not be empty — this tool requires at least one competitor domain - Returns aggregate counts only; for row-level keyword data use compare_competitor_domain_gap_keywords [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

create_or_delete_event

ChatGPT
This is a WRITE tool that creates a new EVENT (annotation) for a BrightEdge account or deletes existing ones, chosen by the action parameter (exactly 'create' or 'delete'). Events are the dated notes shown under Manage Events and overlaid as markers on trend charts - use it when the user wants to record what happened on a date (a migration, redesign, campaign launch) or to remove notes they no longer want. The account is resolved from the logged-in user, so never ask which account to use. It requires user confirmation: call it with confirmed=false first (the default) and it returns a Yes/No confirmation request that makes NO change - relay the options to the user, wait, and only re-call with confirmed=true (same other arguments) once they choose Yes. Never set confirmed=true on your own. Deleting needs event_ids, which you get from get_events - never guess one. A request can be refused (e.g. the account's 'MCP Write' feature bit is off, or the user lacks event-management write access); when that happens relay the returned message verbatim and never imply the change succeeded. action selects the operation: - action="create" -> record a new annotation. Needs description and date_occured; scope defaults to 'account' (a site-wide note). Returns the new event_id. - action="delete" -> remove the events listed in event_ids. Returns how many were deleted. Get the ids from get_events first; they are not reversible here. WHEN TO USE: - "add an event for the site migration on March 14" / "annotate that we launched the new PDP template yesterday" -> action="create" - "delete that event" / "remove the duplicate annotations" -> action="delete" DO NOT USE: - to read or search events -> use get_events - to change an existing event's text or date - editing is not supported yet KEY PARAMETERS: action - required; exactly 'create' or 'delete'. description / date_occured - create only, both required. Dates accept YYYY-MM-DD. scope / scope_value_id - create only. Leave scope at 'account' unless the user ties the event to a specific keyword, keyword group, competitor domain, page or page group; those need scope_value_id, which you must look up rather than guess. event_ids - delete only; a list of ids from get_events. confirmed - leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after they choose Yes. CONFIRMATION: this tool asks the user to confirm before it writes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and makes no change. Present the options, wait, and only on Yes re-call with confirmed=true. NOTE: the write can be refused (e.g. the account's 'MCP Write' feature bit is off, or the user lacks event-management write access). When refused this returns success=false with a message -- relay it verbatim and do NOT imply it succeeded.

get_aeo_page_recommendation

ChatGPT
AEO on-page recommendations for a specific page URL (Answer Engine Optimization). Returns citation counts, top cited competitors, recommended topics, and a detailed comparison for the given page to help improve its AI visibility. WHEN TO USE: - User asks for AEO recommendations for a specific page or URL - User wants to know how to improve a particular page's AI citations - User reports a specific page has N citations vs a competitor and wants to improve it - User asks how to make a specific page more citable in AI responses WHEN NOT TO USE: - User wants an overview across all pages → get_aeo_pages_recommendation_summary - Brand mention leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations

get_aeo_page_recommendation

ChatGPT
AEO on-page recommendations for a specific page URL (Answer Engine Optimization). Returns citation counts, top cited competitors, recommended topics, and a detailed comparison for the given page to help improve its AI visibility. WHEN TO USE: - User asks for AEO recommendations for a specific page or URL - User wants to know how to improve a particular page's AI citations - User reports a specific page has N citations vs a competitor and wants to improve it - User asks how to make a specific page more citable in AI responses WHEN NOT TO USE: - User wants an overview across all pages → get_aeo_pages_recommendation_summary - Brand mention leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations

get_aeo_pages_recommendation_summary

ChatGPT
AEO on-page recommendations summary across all pages (Answer Engine Optimization). Returns a paginated list of pages with their citation counts, top competitors, recommended topics, and comparison data to help prioritize AEO improvements. WHEN TO USE: - User wants an overview of AEO recommendations across all pages - User wants to see which pages need the most AEO work - User asks for a summary of on-page optimization opportunities - User wants to convert mentions into citations across multiple pages WHEN NOT TO USE: - User wants recommendations for a specific page → get_aeo_page_recommendation - Brand mention leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations

get_aeo_pages_recommendation_summary

ChatGPT
AEO on-page recommendations summary across all pages (Answer Engine Optimization). Returns a paginated list of pages with their citation counts, top competitors, recommended topics, and comparison data to help prioritize AEO improvements. WHEN TO USE: - User wants an overview of AEO recommendations across all pages - User wants to see which pages need the most AEO work - User asks for a summary of on-page optimization opportunities - User wants to convert mentions into citations across multiple pages WHEN NOT TO USE: - User wants recommendations for a specific page → get_aeo_page_recommendation - Brand mention leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations

get_ai_agent_page_visit_directory_performance

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a time-series chart of AI bot visits for the top directories (or specified directories). WHEN TO USE: - "Show me a trend of which directories AI bots visited over the past 8 weeks." - "Plot bot traffic for /blog, /resources, and / over time." - Visualise how directory-level bot traffic changed across a date range. DO NOT USE: - For a static ranked list of all directories → use get_ai_agent_page_visit_directory_summary. - For page/URL level trends → use get_ai_agent_page_visit_performance.

get_ai_agent_page_visit_directory_performance

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a time-series chart of AI bot visits for the top directories (or specified directories). WHEN TO USE: - "Show me a trend of which directories AI bots visited over the past 8 weeks." - "Plot bot traffic for /blog, /resources, and / over time." - Visualise how directory-level bot traffic changed across a date range. DO NOT USE: - For a static ranked list of all directories → use get_ai_agent_page_visit_directory_summary. - For page/URL level trends → use get_ai_agent_page_visit_performance.

get_ai_agent_page_visit_directory_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a paginated grid of all site directories visited by AI bots, with visit counts and period comparison. WHEN TO USE: - "Give me the full list of directories visited by AI agents." - "Which directories saw the biggest increase in bot visits?" - Paginating through all bot-visited directories with sort and comparison. DO NOT USE: - For a time-series chart of directory traffic → use get_ai_agent_page_visit_directory_performance. - For a quick top-5 section summary → use get_ai_agent_page_visit_traffic_by_site_section. - For page/URL level data → use get_ai_agent_page_visit_summary.

get_ai_agent_page_visit_directory_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a paginated grid of all site directories visited by AI bots, with visit counts and period comparison. WHEN TO USE: - "Give me the full list of directories visited by AI agents." - "Which directories saw the biggest increase in bot visits?" - Paginating through all bot-visited directories with sort and comparison. DO NOT USE: - For a time-series chart of directory traffic → use get_ai_agent_page_visit_directory_performance. - For a quick top-5 section summary → use get_ai_agent_page_visit_traffic_by_site_section. - For page/URL level data → use get_ai_agent_page_visit_summary.

get_ai_agent_page_visit_http_status_by_bot

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a per-bot breakdown of visits by HTTP status code (2xx, 3xx, 4xx, 5xx), showing how each AI crawler experiences the site. WHEN TO USE: - "Which AI agents are hitting errors on my site and what status codes?" - "Show me the 2xx vs 4xx split for each bot." - Diagnose per-bot HTTP status trends (ChatGPT, Claude, Perplexity, etc.) across a date range. DO NOT USE: - For a site-wide status-code summary (not broken down by bot) → use get_ai_agent_page_visit_http_status_summary. - For page visit lists without status filtering → use get_ai_agent_page_visit_summary. KEY PARAMETERS: pages — optional list of URLs to scope the analysis to specific pages; omit for site-wide. time_range_start / time_range_end — YYYYWW for weekly (e.g. 202617 = week 17 of 2026 for weekly cadence).

get_ai_agent_page_visit_http_status_by_bot

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a per-bot breakdown of visits by HTTP status code (2xx, 3xx, 4xx, 5xx), showing how each AI crawler experiences the site. WHEN TO USE: - "Which AI agents are hitting errors on my site and what status codes?" - "Show me the 2xx vs 4xx split for each bot." - Diagnose per-bot HTTP status trends (ChatGPT, Claude, Perplexity, etc.) across a date range. DO NOT USE: - For a site-wide status-code summary (not broken down by bot) → use get_ai_agent_page_visit_http_status_summary. - For page visit lists without status filtering → use get_ai_agent_page_visit_summary. KEY PARAMETERS: pages — optional list of URLs to scope the analysis to specific pages; omit for site-wide. time_range_start / time_range_end — YYYYWW for weekly (e.g. 202617 = week 17 of 2026 for weekly cadence).

get_ai_agent_page_visit_http_status_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a breakdown of AI bot visits grouped by HTTP status code (2xx, 3xx, 4xx, 5xx). WHEN TO USE: - "How many AI agent visits ended in 4xx errors?" - "What HTTP status codes are AI crawlers receiving on my site?" - Get a status-code-level health snapshot of your site as seen by AI bots. DO NOT USE: - To see which specific bots are hitting errors → use get_ai_agent_page_visit_http_status_by_bot. - To browse pages visited by bots → use get_ai_agent_page_visit_summary. KEY PARAMETERS: time_range_start / time_range_end — YYYYWW for weekly (e.g. 202617 = week 17 of 2026 for weekly cadence).

get_ai_agent_page_visit_http_status_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a breakdown of AI bot visits grouped by HTTP status code (2xx, 3xx, 4xx, 5xx). WHEN TO USE: - "How many AI agent visits ended in 4xx errors?" - "What HTTP status codes are AI crawlers receiving on my site?" - Get a status-code-level health snapshot of your site as seen by AI bots. DO NOT USE: - To see which specific bots are hitting errors → use get_ai_agent_page_visit_http_status_by_bot. - To browse pages visited by bots → use get_ai_agent_page_visit_summary. KEY PARAMETERS: time_range_start / time_range_end — YYYYWW for weekly (e.g. 202617 = week 17 of 2026 for weekly cadence).

get_ai_agent_page_visit_performance

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a weekly time-series of AI bot visits for the top pages on the site. WHEN TO USE: - User wants to see how AI agent visits to individual pages trended over time. - User wants to compare relative page-level bot traffic across a period. - User wants to track visit trends for specific page URLs. DO NOT USE: - For a ranked/paginated list of all visited pages → use get_ai_agent_page_visit_summary. - For directory-level trends → use get_ai_agent_page_visit_directory_performance. KEY PARAMETERS: pages — optional list of full page URLs to pin in the chart; omit to let the API select the top pages automatically. time_range_start / time_range_end — YYYYWW (e.g. 202617 = week 17 of 2026); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks.

get_ai_agent_page_visit_performance

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a weekly time-series of AI bot visits for the top pages on the site. WHEN TO USE: - User wants to see how AI agent visits to individual pages trended over time. - User wants to compare relative page-level bot traffic across a period. - User wants to track visit trends for specific page URLs. DO NOT USE: - For a ranked/paginated list of all visited pages → use get_ai_agent_page_visit_summary. - For directory-level trends → use get_ai_agent_page_visit_directory_performance. KEY PARAMETERS: pages — optional list of full page URLs to pin in the chart; omit to let the API select the top pages automatically. time_range_start / time_range_end — YYYYWW (e.g. 202617 = week 17 of 2026); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks.

get_ai_agent_page_visit_performance_overview

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a time-series chart of AI agent visits to your site, broken down by agent type. WHEN TO USE: - "Which AI agents visit my site and how often?" - "How many visits came from user agents vs search/training agents?" - Trending bot traffic over a date range. DO NOT USE: - To see which pages or directories bots visited → use get_ai_agent_page_visit_traffic_by_site_section, get_ai_agent_page_visit_directory_summary, or get_ai_agent_page_visit_summary. - To diagnose HTTP errors per bot → use get_ai_agent_page_visit_http_status_by_bot or get_ai_agent_page_visit_http_status_summary.

get_ai_agent_page_visit_performance_overview

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a time-series chart of AI agent visits to your site, broken down by agent type. WHEN TO USE: - "Which AI agents visit my site and how often?" - "How many visits came from user agents vs search/training agents?" - Trending bot traffic over a date range. DO NOT USE: - To see which pages or directories bots visited → use get_ai_agent_page_visit_traffic_by_site_section, get_ai_agent_page_visit_directory_summary, or get_ai_agent_page_visit_summary. - To diagnose HTTP errors per bot → use get_ai_agent_page_visit_http_status_by_bot or get_ai_agent_page_visit_http_status_summary.

get_ai_agent_page_visit_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a paginated grid of all pages/URLs visited by AI bots, with visit counts and period-over-period comparison. WHEN TO USE: - User wants a ranked list of pages most visited by AI agents. - User wants to identify which pages gained or lost the most AI bot traffic. - User wants to paginate through all bot-visited pages with sorting. DO NOT USE: - For a time-series trend of page visits → use get_ai_agent_page_visit_performance. - For directory-level data → use get_ai_agent_page_visit_directory_summary. KEY PARAMETERS: sort_by — bot_visits_current (default) | bot_visits_diff | bot_visits_diffpercent | page_url. pagination_limit — default 25; increase only when the user explicitly asks for more rows. time_range_start / time_range_end — YYYYWW (e.g. 202617 = week 17 of 2026); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks.

get_ai_agent_page_visit_summary

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns a paginated grid of all pages/URLs visited by AI bots, with visit counts and period-over-period comparison. WHEN TO USE: - User wants a ranked list of pages most visited by AI agents. - User wants to identify which pages gained or lost the most AI bot traffic. - User wants to paginate through all bot-visited pages with sorting. DO NOT USE: - For a time-series trend of page visits → use get_ai_agent_page_visit_performance. - For directory-level data → use get_ai_agent_page_visit_directory_summary. KEY PARAMETERS: sort_by — bot_visits_current (default) | bot_visits_diff | bot_visits_diffpercent | page_url. pagination_limit — default 25; increase only when the user explicitly asks for more rows. time_range_start / time_range_end — YYYYWW (e.g. 202617 = week 17 of 2026); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks.

get_ai_agent_page_visit_traffic_by_site_section

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns the top 5 site sections most visited by AI bots, optionally filtered by a specific bot. WHEN TO USE: - "What are the top sections of my site visited by ChatGPT?" - "Which parts of my site do AI user agents access most?" - Get a high-level site-section breakdown for a specific bot (bot_name). DO NOT USE: - For the full paginated list of directories → use get_ai_agent_page_visit_directory_summary. - For a time-series trend of directory traffic → use get_ai_agent_page_visit_directory_performance. - For page/URL level data → use get_ai_agent_page_visit_summary or get_ai_agent_page_visit_performance.

get_ai_agent_page_visit_traffic_by_site_section

ChatGPT
Use this tool only when the user explicitly asks for AI Agent crawlers (GPT, Claude, Perplexity, etc) page visit insights data. Returns the top 5 site sections most visited by AI bots, optionally filtered by a specific bot. WHEN TO USE: - "What are the top sections of my site visited by ChatGPT?" - "Which parts of my site do AI user agents access most?" - Get a high-level site-section breakdown for a specific bot (bot_name). DO NOT USE: - For the full paginated list of directories → use get_ai_agent_page_visit_directory_summary. - For a time-series trend of directory traffic → use get_ai_agent_page_visit_directory_performance. - For page/URL level data → use get_ai_agent_page_visit_summary or get_ai_agent_page_visit_performance.

get_ai_prompt_citations

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI citation share across multiple brands for a monthly time window. WHEN TO USE: - Compare citation share for multiple brands (e.g. Brand1 vs Brand2 vs Brand3) over two months - Filter out irrelevant prompt categories (e.g. exclude deal/coupon/sale queries) - Get a ranked list of brands by share_of_citations for a given time period KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: share_of_citations (default) | citation_count - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompt_citations

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI citation share across multiple brands for a monthly time window. WHEN TO USE: - Compare citation share for multiple brands (e.g. Brand1 vs Brand2 vs Brand3) over two months - Filter out irrelevant prompt categories (e.g. exclude deal/coupon/sale queries) - Get a ranked list of brands by share_of_citations for a given time period WHEN NOT TO USE: - Single-account weekly citation leaderboard (not comparing multiple brands) → use get_ai_tracked_prompt_citations - Weekly trend/time series of your own citation share → use get_ai_tracked_prompt_citations with trend=true KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: share_of_citations (default) | citation_count - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompt_mentions

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI mention share across multiple brands for a monthly time window. WHEN TO USE: - Compare how often multiple brands are mentioned in AI responses over two months - Get a ranked list of brands by share_of_mentions for a given time period - User asks about "share of mentions", "who is winning", "AI visibility", or "mention percentage" - User asks about AI mention share data availability for a brand or domain (does not require tracked prompts to be configured) KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: share_of_mentions (default) | mention_count - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompt_mentions

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI mention share across multiple brands for a monthly time window. WHEN TO USE: - Compare how often multiple brands are mentioned in AI responses over two months - Get a ranked list of brands by share_of_mentions for a given time period - User asks about "share of mentions", "who is winning", "AI visibility", or "mention percentage" - User asks about AI mention share data availability for a brand or domain (does not require tracked prompts to be configured) KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: share_of_mentions (default) | mention_count - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompt_sentiments

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI brand sentiment (positive/neutral/negative) across multiple brands for a monthly time window. WHEN TO USE: - Compare sentiment distribution across multiple competing brands on specific prompts - Identify which prompts drive positive or negative sentiment for a brand vs competitors - Requires an explicit list of brands to compare WHEN NOT TO USE: - To see how your own brand's sentiment is trending week over week → use get_trended_ai_primary_brand_sentiment (no brands list needed, returns aggregate % per time period) KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompt_sentiments

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Compare AI brand sentiment (positive/neutral/negative) across multiple brands for a monthly time window. WHEN TO USE: - Compare sentiment distribution across multiple competing brands on specific prompts - Identify which prompts drive positive or negative sentiment for a brand vs competitors - Requires an explicit list of brands to compare WHEN NOT TO USE: - To see how your own brand's sentiment is trending week over week → use get_trended_ai_primary_brand_sentiment (no brands list needed, returns aggregate % per time period) KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Return the top prompts where your brands (and competitors) are most mentioned in AI responses. WHEN TO USE: - To view the actual AI prompts that are driving my brand's (or competitor's) mentions, ranked by demand - Identify which user queries drive the most AI brand mentions - Prioritize content around high-mention prompts - Understand prompt-level brand visibility in AI engines KEY PARAMETERS: - brands: list of brand names (primary brand and/or competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: be_volume (default) - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Return the top prompts where your brands (and competitors) are most mentioned in AI responses. WHEN TO USE: - To view the actual AI prompts that are driving my brand's (or competitor's) mentions, ranked by demand - Identify which user queries drive the most AI brand mentions - Prioritize content around high-mention prompts - Understand prompt-level brand visibility in AI engines KEY PARAMETERS: - brands: list of brand names (primary brand and/or competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional {field, operator, value} filters to narrow prompt scope - sort_by: be_volume (default) - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts_visibility_gaps_citations

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Identify prompts where competitors are cited in AI responses but your brand is not. WHEN TO USE: - When the user would like to see prompts where a specified competitor is cited, but their brand is not mentioned - Find citation gaps where your domain has zero AI citation share - Discover content and link-building opportunities to capture missed AI citations - Prioritize prompts with the highest competitor citation count and no self-brand citation KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - cited_domains: list of domains to filter citations by (e.g. ['xyz.com']) - filters: optional additional {field, operator, value} filters - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts_visibility_gaps_citations

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Identify prompts where competitors are cited in AI responses but your brand is not. WHEN TO USE: - When the user would like to see prompts where a specified competitor is cited, but their brand is not mentioned - Find citation gaps where your domain has zero AI citation share - Discover content and link-building opportunities to capture missed AI citations - Prioritize prompts with the highest competitor citation count and no self-brand citation KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - cited_domains: list of domains to filter citations by (e.g. ['xyz.com']) - filters: optional additional {field, operator, value} filters - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts_visibility_gaps_mentions

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Identify prompts where competitors are mentioned in AI responses but your brand is not. WHEN TO USE: - When the user would like to see prompts where their competitors are mentioned but they are not - Find gaps where your brand has zero AI mention share - Discover content opportunities to capture missed AI visibility - Prioritize prompts with the highest competitor mention count and no self-brand mention KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional additional {field, operator, value} filters - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_prompts_visibility_gaps_mentions

ChatGPT
Use AI Cube (also known as AI HyperCube) tools for brand mention share, citation share, sentiment, and visibility gap analysis across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Identify prompts where competitors are mentioned in AI responses but your brand is not. WHEN TO USE: - When the user would like to see prompts where their competitors are mentioned but they are not - Find gaps where your brand has zero AI mention share - Discover content opportunities to capture missed AI visibility - Prioritize prompts with the highest competitor mention count and no self-brand mention KEY PARAMETERS: - brands: list of brand names to compare (primary brand + competitors) - compare_time_range_start / compare_time_range_end: YYYYMM month range (e.g. 202604, 202605) - filters: optional additional {field, operator, value} filters - sort_order: desc (default) | asc [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_citations

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence citation share (domain-level leaderboard). WHEN TO USE: - Domain-level citation comparison - Citation leaderboard across AI engines - "AIO citation check for [prompt]" — checking citation share for a specific tracked AI prompt WHEN NOT TO USE: - Mentions → use get_ai_tracked_prompt_mentions - Sentiment → use get_ai_tracked_prompt_sentiments - All prompts (no citation filter) → use get_ai_tracked_prompts - AEO recommendations for a specific page or URL → use get_aeo_page_recommendation - Finding which pages need AEO work to convert mentions into citations → use get_aeo_pages_recommendation_summary KEY PARAMETERS: - brand_category: competitor_and_own (default) | competitor | own | all - sort_by: share_of_citations | citations_count | avg_rank | change - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_citations

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence citation share — domain-level leaderboard (default) or weekly trend. WHEN TO USE: - trend=false (default): domain-level citation comparison / leaderboard across AI engines for a single time window - trend=true: how citation share has changed/trended week over week ("is our citation share going up?", charting citation share over time) - "AIO citation check for [prompt]" — checking citation share for a specific tracked AI prompt (trend=false) - User wants citation share scoped to a specific prompt group / topic (e.g. "Mid-to-low funnel") → pass topic_id_list WHEN NOT TO USE: - Overview tab / brand vs top competitors chart (citations per engine) → use get_ai_tracked_prompt_overview - Mentions → use get_ai_tracked_prompt_mentions - Sentiment → use get_ai_tracked_prompt_sentiments - All prompts (no citation filter) → use get_ai_tracked_prompts - AEO recommendations for a specific page or URL → use get_aeo_page_recommendation - Finding which pages need AEO work to convert mentions into citations → use get_aeo_pages_recommendation_summary KEY PARAMETERS: - trend: false (default) = leaderboard via /get_share_of_citations_data; true = weekly time series via /get_share_of_citations_trend. When trend=true, sort_by/sort_order/pagination_limit/pagination_offset are ignored — the endpoint always returns the full weekly series for the requested range. - brand_category: competitor_and_own (default) | competitor | own | all - sort_by (trend=false only): share_of_citations | citations_count | avg_rank | change - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - prompt_group_id_list: optional list of prompt group (topic) IDs or names to scope the share-of-citations calculation to (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for account-wide results across all prompt groups. Applies to both trend=false and trend=true. - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks. Omit both for the latest/most recent available week — do not guess. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_groups

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Returns prompt group gains/losses data for a single week (mention, citation, sentiment, rank per group). WHEN TO USE: - User asks about prompt group performance, gains, or losses at a specific week - Compare prompt groups by mention/citation/sentiment changes - Filter to specific prompt groups using prompt_group_id_list WHEN NOT TO USE: - Full tracked prompt list (per-prompt, not per-group) → get_ai_tracked_prompts - Aggregated brand mention share leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations - Sentiment trend → get_ai_tracked_prompt_sentiments KEY PARAMETERS: - time_value: single YYYYWW week (e.g. 202625); data is weekly - prompt_group_id_list: optional list of prompt group IDs to filter; [] returns all groups - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - pagination_limit: default is 10; do NOT increase unless the user explicitly asks [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_groups

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Returns prompt group (topic) gains/losses data for a single week (mention, citation, sentiment, rank per group). WHEN TO USE: - User asks about prompt group (topic) performance, gains, or losses at a specific week - Compare prompt groups (topics) by mention/citation/sentiment changes - Filter to specific prompt groups (topics) using topic_id_list WHEN NOT TO USE: - Full tracked prompt list (per-prompt, not per-group) → get_ai_tracked_prompts - Aggregated brand mention share leaderboard → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations - Sentiment trend → get_ai_tracked_prompt_sentiments KEY PARAMETERS: - time_value: single YYYYWW week (e.g. 202625); data is weekly. Omit for the latest/most recent available week — do not guess. - prompt_group_id_list: optional list of prompt group (topic) IDs or names to filter (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for all groups - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - pagination_limit: default is 10; do NOT increase unless the user explicitly asks [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_mentions

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence mention share (brand-level leaderboard). WHEN TO USE: - Aggregated brand-level mention share leaderboard across all prompts (who ranks highest overall) - User explicitly asks for brand mention share or overall mention ranking WHEN NOT TO USE: - Per-prompt domain vs competitor comparison → use get_ai_tracked_prompts (sort_by=competitor_brand_mention) - Retrieving/listing tracked prompts → use get_ai_tracked_prompts - Citations → use get_ai_tracked_prompt_citations - Sentiment → use get_ai_tracked_prompt_sentiments - Checking data availability when tracked prompts may not be set up → use get_ai_prompt_mentions - AEO recommendations for a specific page or URL → use get_aeo_page_recommendation - Finding which pages need AEO work to convert mentions into citations → use get_aeo_pages_recommendation_summary KEY PARAMETERS: - brand_category: competitor_and_own (default) | competitor | own | all - sort_by: mention_percentage | count_of_mentions | brand_rank | mention_percentage_change - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_mentions

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence mention share (brand-level leaderboard). WHEN TO USE: - Aggregated brand-level mention share leaderboard across all prompts (who ranks highest overall) - User explicitly asks for brand mention share or overall mention ranking - User wants mention share scoped to a specific prompt group / topic (e.g. "Mid-to-low funnel") → pass topic_id_list WHEN NOT TO USE: - Overview tab / brand vs top competitors chart (mentions per engine) → use get_ai_tracked_prompt_overview - Per-prompt domain vs competitor comparison → use get_ai_tracked_prompts (sort_by=competitor_brand_mention) - Retrieving/listing tracked prompts → use get_ai_tracked_prompts - Citations → use get_ai_tracked_prompt_citations - Citation trend over time → use get_ai_tracked_prompt_citations with trend=true - Sentiment → use get_ai_tracked_prompt_sentiments - Checking data availability when tracked prompts may not be set up → use get_ai_prompt_mentions - AEO recommendations for a specific page or URL → use get_aeo_page_recommendation - Finding which pages need AEO work to convert mentions into citations → use get_aeo_pages_recommendation_summary KEY PARAMETERS: - brand_category: competitor_and_own (default) | competitor | own | all - sort_by: mention_percentage | count_of_mentions | brand_rank | mention_percentage_change - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - prompt_group_id_list: optional list of prompt group (topic) IDs or names to scope the share-of-mentions calculation to (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for account-wide results across all prompt groups - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks. Omit both for the latest/most recent available week — do not guess. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_overview

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence overview — brand vs. top competitors across mentions and citations, per engine. WHEN TO USE: - User asks for the Overview tab / "brand vs top competitors" chart - User wants a single-call snapshot of individual or combined mention and citation share, per AI engine - User wants to compare "all engines" vs. one specific engine (e.g. ChatGPT only) for that comparison WHEN NOT TO USE: - Sortable/filterable/paginated brand mention leaderboard → use get_ai_tracked_prompt_mentions - Sortable/filterable/paginated brand citation leaderboard → use get_ai_tracked_prompt_citations - Sentiment trend over time → use get_ai_tracked_prompt_sentiments with view=trend - Per-prompt drill-down → use get_ai_tracked_prompts - Citation trend over time → use get_ai_tracked_prompt_citations with trend=true KEY PARAMETERS: - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default). Selecting a single engine scopes every metric in the response (mentions, citations, sentiment) to that engine only. - prompt_group_id_list: optional list of prompt group (topic) IDs or names to scope the overview to (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for account-wide results across all prompt groups - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks. Omit both for the latest/most recent available week — do not guess. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_sentiments

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence sentiment trend (over time). WHEN TO USE: - User asks how brand sentiment is trending WHEN NOT TO USE: - Mentions → use get_ai_tracked_prompt_mentions - Citations → use get_ai_tracked_prompt_citations - Multi-brand sentiment compare → use compare_ai_brand_sentiment_by_brand (AI Cube) KEY PARAMETERS: - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompt_sentiments

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). AI Brand Presence sentiment trend (over time). WHEN TO USE: - User asks how brand sentiment is trending - User wants sentiment trend scoped to a specific prompt group / topic (e.g. "Mid-to-low funnel") → pass prompt_group_id_list WHEN NOT TO USE: - Overview tab / brand vs top competitors chart (mentions + citations, per engine) → get_ai_tracked_prompt_overview - Mentions → use get_ai_tracked_prompt_mentions - Citations → use get_ai_tracked_prompt_citations - Citation trend over time → use get_ai_tracked_prompt_citations with trend=true - Multi-brand sentiment compare → use compare_ai_brand_sentiment_by_brand (AI Cube) KEY PARAMETERS: - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - prompt_group_id_list: optional list of prompt group (topic) IDs or names to scope the sentiment trend to (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for account-wide results across all prompt groups - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks. Omit both for the latest/most recent available week — do not guess. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompts

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Returns all tracked prompts with full per-prompt data (mentions, citations, sentiment, intent, rank, related prompts). No pre-filtering. WHEN TO USE: - Browse/search all tracked prompts - See full prompt data across mentions + citations + sentiment - Compare your domain vs a competitor domain at the per-prompt level (use sort_by=competitor_brand_mention or self_brand_mention) - User asks to retrieve/list tracked prompts, with or without a competitor angle - User doesn’t ask for a specific gap or leaderboard view WHEN NOT TO USE: - Aggregated brand mention share leaderboard (not per-prompt) → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations - Sentiment trend → get_ai_tracked_prompt_sentiments KEY PARAMETERS: - sort_by: competitor_brand_mention | self_brand_mention | self_brand_citation | prompt | intents | self_brand_sentiment - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks - pagination_limit: default is 10; do NOT increase this unless the user explicitly asks for more results — never call this tool a second time automatically with a higher limit to fetch more [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_ai_tracked_prompts

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Returns all tracked prompts with full per-prompt data (mentions, citations, sentiment, intent, rank, related prompts). No pre-filtering. WHEN TO USE: - Browse/search all tracked prompts - See full prompt data across mentions + citations + sentiment - Compare your domain vs a competitor domain at the per-prompt level (use sort_by=competitor_brand_mention or self_brand_mention) - User asks to retrieve/list tracked prompts, with or without a competitor angle - User doesn’t ask for a specific gap or leaderboard view - User wants prompts scoped to a specific prompt group (topic) by ID → pass prompt_group_id_list; to filter/search by topic label text instead, use filters with field "topics" WHEN NOT TO USE: - Overview tab / brand vs top competitors chart (mentions + citations, per engine) → get_ai_tracked_prompt_overview - Aggregated brand mention share leaderboard (not per-prompt) → get_ai_tracked_prompt_mentions - Citation leaderboard → get_ai_tracked_prompt_citations - Citation share trend over time (weekly time series, not per-prompt) → get_ai_tracked_prompt_citations with trend=true - Sentiment trend → get_ai_tracked_prompt_sentiments KEY PARAMETERS: - sort_by: competitor_brand_mention | self_brand_mention | self_brand_citation | prompt | intents | self_brand_sentiment - llm: chatgpt | perplexity | google_aio | google_ai_mode | all (default) - prompt_group_id_list: optional list of prompt group (topic) IDs or names to scope results to (e.g. [293360] or ["2026: Retirement"]); omit or pass [] for all groups - filters: field "topics" (operators eq, lk) filters/searches by topic/prompt group label text - time_range_start / time_range_end: YYYYWW (e.g. 202614); data is weekly — if the user asks for monthly data, multiply the number of months by 4 to get the equivalent number of weeks. Omit both for the latest/most recent available week — do not guess. - pagination_limit: default is 10; do NOT increase this unless the user explicitly asks for more results — never call this tool a second time automatically with a higher limit to fetch more [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_brightedge_mcp_server_info

ChatGPT
Return metadata about this MCP server instance: name, version, environment, and the list of supported tool categories. The known version of this server is 1.1. `known_version is a required parameter — always pass this value so the server can confirm whether it is up to date. User Intent: server info, server version, mcp version, what version is this, what tools are available, server environment, is this staging or production, what is this server, mcp server details When to Use: - When the user asks about the MCP server version, environment, or tool categories. - As a lightweight health/identity check that requires no domain or account data. When NOT to Use: - GSC account configuration (search engines, cadence, date ranges) — use get_google_search_console_account_details`. - Tool-specific usage or parameter details — consult individual tool docstrings. - Any BrightEdge analytics data (DCX, GSC, KR, SOV) — use the appropriate domain tools.

get_brightedge_user_info

ChatGPT
Return identity information for the currently authenticated user: userid, login, account id, account name, organization id, the list of all BrightEdge accounts the user has access to, and GSC account configuration (available search engines, cadence, and date ranges). User Intent: who am i, my user info, current user, logged in user, my login info, what account am i on, what is my login, what is my organization, which accounts do i have access to, show my accounts, show my associated accounts, what search engines are configured, what cadence options are available for GSC When to Use: - When the user asks about their own identity, account, or organization. - As a lightweight identity check that reveals which BrightEdge accounts are accessible. - Before other GSC calls to discover valid search_engine_device_id / search_engine_group_id pairs. - When the user asks what search engines or cadence options are configured for their GSC account. When NOT to Use: - Domain or keyword analytics — use the appropriate DCX/GSC/KR/SOV tools. - Server version or environment info — use `get_brightedge_mcp_server_info`.

get_competitor_domains

ChatGPT
Use this tool for a BrightEdge account's tracked COMPETITOR domains - the competitor sites shown under Setup > Sites & Competitors and used across reports such as Keyword Reporting and Share of Voice. This is about competitor SITES/DOMAINS (which competitors are tracked), NOT competitor keyword or traffic analysis - for competitive keyword gaps or performance comparison use the DataCube (DCX) or Share of Voice tools instead. The account is resolved from the logged-in user, so never ask which account to use. Lists the competitor domains currently tracked for a BrightEdge account. Returns each competitor's id, domain name, nickname, color, branded terms, and regexp domain. The id returned here is what add_or_remove_competitor_domain (action="remove") resolves internally. WHEN TO USE: - "what competitors am I tracking?" / "list my tracked competitors" - to review the current competitor set before adding or removing one DO NOT USE: - to compare competitor keyword/traffic performance -> use the DCX/SOV analysis tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_competitor_keyword_gap_list

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns per-keyword rows comparing your domain against up to 4 competitors from BrightEdge DataCube (whole-web index). Use comparison_type to get gap keywords (only competitors rank), shared keywords (both rank), or dominator keywords (competitor outranks you). WHEN TO USE: - "which keywords does my competitor rank for that I don't?" - "show me keywords we both rank for" - "which keywords is competitor outranking me on?" DO NOT USE: - want overlap counts/summary instead of the keyword list → use get_competitor_keyword_summary - single domain keyword list with no competitor → use get_keywords_for_domain_or_url - actual clicks or impressions → use GSC tools KEY PARAMETERS: comparison_type — "only_competitor_ranks", "both_domains_rank", or "competitor_outranks_me" domain — your primary domain (required) competitor_domains — 1–4 competitor domains (required) [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_competitor_keyword_gap_list

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns per-keyword rows comparing your domain against up to 4 competitors from BrightEdge DataCube (whole-web index). Use comparison_type to get gap keywords (only competitors rank), shared keywords (both rank), or dominator keywords (competitor outranks you). WHEN TO USE: - "which keywords does my competitor rank for that I don't?" - "show me keywords we both rank for" - "which keywords is competitor outranking me on?" DO NOT USE: - want overlap counts/summary instead of the keyword list → use get_competitor_keyword_summary - single domain keyword list with no competitor → use get_keywords_for_domain_or_url - actual clicks or impressions → use GSC tools KEY PARAMETERS: comparison_type — "only_competitor_ranks", "both_domains_rank", or "competitor_outranks_me" domain — your primary domain (required) competitor_domains — 1–4 competitor domains (required) [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_competitor_keyword_summary

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns keyword overlap counts between your domain and up to 4 competitors (e.g. "how many keywords do I share with competitor X?"). Covers the full web index — any domain, tracked or not. WHEN TO USE: - "how many keywords do I share with a competitor?" - "give me a competitive keyword coverage summary" - "keyword count comparison across domains" DO NOT USE: - want the actual keyword list, not just counts → use get_competitor_keyword_gap_list - avg rank or page-1/2/3 counts for tracked domains → use get_tracked_domains - share-of-voice / market share score → use SOV tools KEY PARAMETERS: domain — your primary domain (required) competitor_domains — 1–4 competitor domains (required) [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_competitor_keyword_summary

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns keyword overlap counts between your domain and up to 4 competitors (e.g. "how many keywords do I share with competitor X?"). Covers the full web index — any domain, tracked or not. WHEN TO USE: - "how many keywords do I share with a competitor?" - "give me a competitive keyword coverage summary" - "keyword count comparison across domains" DO NOT USE: - want the actual keyword list, not just counts → use get_competitor_keyword_gap_list - avg rank or page-1/2/3 counts for tracked domains → use get_tracked_domains - share-of-voice / market share score → use SOV tools KEY PARAMETERS: domain — your primary domain (required) competitor_domains — 1–4 competitor domains (required) [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_domain_or_url_serp_features

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns SERP feature presence and opportunities for a domain across the full web index — covers featured snippets, AI Overviews, People Also Ask, and more. Covers any domain, not limited to tracked keywords. WHEN TO USE: - "which keywords trigger a featured snippet / AI Overview / People Also Ask?" - "show me SERP feature opportunities for my domain" - "which SERP features am I winning or losing?" - "which SERP features are unlinked to my pages?" - "where are we appearing in SERP features but not properly linked / missed connection opportunities" → set serp_features_view="unlinked_features", is_branded=False - "which SERP features did we gain or lose / full visibility movement in SERP features" → set serp_features_view="gains_and_losses" - "keywords that gained or lost AI Overview coverage between two periods" → set serp_features_view="gains_and_losses" - "AI Overview keyword opportunities" or "find keywords where AI Overview exists but we're not featured" → set serp_features_view="win_opportunities" DO NOT USE: - user says "my tracked keywords" and wants per-keyword SERP rows → use get_tracked_keyword_serp - user says "my tracked keywords" and wants aggregate SERP feature counts → use get_tracked_keyword_serp_summary - just need keyword rankings without SERP feature data → use get_keywords_for_domain_or_url - actual GSC clicks → use GSC tools - "AIO citation check for [prompt]" where the subject is a tracked AI prompt, not a URL → use get_ai_tracked_prompt_citations KEY PARAMETERS: serp_features_view — "my_rankings" (default), "all_features", "win_opportunities", "unlinked_features", or "gains_and_losses" [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_domain_or_url_serp_features

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. Returns SERP feature presence and opportunities for a domain across the full web index — covers featured snippets, AI Overviews, People Also Ask, and more. Covers any domain, not limited to tracked keywords. WHEN TO USE: - "which keywords trigger a featured snippet / AI Overview / People Also Ask?" - "show me SERP feature opportunities for my domain" - "which SERP features am I winning or losing?" - "which SERP features are unlinked to my pages?" - "where are we appearing in SERP features but not properly linked / missed connection opportunities" → set serp_features_view="unlinked_features", is_branded=False - "which SERP features did we gain or lose / full visibility movement in SERP features" → set serp_features_view="gains_and_losses" - "keywords that gained or lost AI Overview coverage between two periods" → set serp_features_view="gains_and_losses" - "AI Overview keyword opportunities" or "find keywords where AI Overview exists but we're not featured" → set serp_features_view="win_opportunities" DO NOT USE: - user says "my tracked keywords" and wants per-keyword SERP rows → use get_tracked_keyword_serp - user says "my tracked keywords" and wants aggregate SERP feature counts → use get_tracked_keyword_serp_summary - just need keyword rankings without SERP feature data → use get_keywords_for_domain_or_url - actual GSC clicks → use GSC tools - "AIO citation check for [prompt]" where the subject is a tracked AI prompt, not a URL → use get_ai_tracked_prompt_citations KEY PARAMETERS: serp_features_view — "my_rankings" (default), "all_features", "win_opportunities", "unlinked_features", or "gains_and_losses" [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_events

ChatGPT
Use this tool for a BrightEdge account's EVENTS (also called annotations or event tags) - the dated notes shown under Manage Events and overlaid as markers on trend charts, each attached to a scope such as a keyword, keyword group, page, page group, competitor domain, or the whole account. Events answer 'what happened / what changed on this date and who recorded it', for example a site migration, a redesign, a campaign launch, or a BrightEdge-generated integration change. This is NOT performance data - for rankings, traffic, clicks, or keyword metrics use the DataCube (DCX), Keyword Reporting, GSC, or Share of Voice tools instead, and use this tool alongside them to explain WHY a metric moved on a given date. The account is resolved from the logged-in user, so never ask which account to use. Lists the events (annotations) recorded for a BrightEdge account, most recent first. Each row returns event_id, description, event_owner (the creator's login), date_occured (MM/DD/YYYY), account_name, scope_type (Keyword / Keyword Group / Competitor / Account / Page / Page Group), scope_value_name (the specific object the event is attached to), and event_type ('custom' when a person created it, or 'brightedge' / 'automatic' / 'html_alert' when BrightEdge did). total is the full match count before pagination. WHEN TO USE: - "what events / annotations do we have?" / "list our events" - "what happened around <date>?" / "was anything logged when traffic dropped in March?" - to explain a movement you found with a reporting tool - fetch the events near that date and correlate them with the change - "which events did <person> log?" or "show events tagged to a keyword group" DO NOT USE: - for rankings, traffic, clicks or keyword metrics -> use the DataCube (DCX), Keyword Reporting, GSC or Share of Voice tools - to create, edit or delete an event - this tool is read-only KEY PARAMETERS: event_type - 'custom' (default, people-created), 'system' (BrightEdge-generated), or 'both'. Prefer 'both' when the user just asks what happened. filters - list of {"name": ..., "value": ...} conditions, AND-ed. Dates are YYYY-MM-DD; use date_after/date_before to scope to the period you are investigating rather than paging through everything. offset / count - pagination; compare offset + count against total before paging again. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_all_keyword_performance

ChatGPT
DATA SOURCE: Google Search Console (GSC) — actual click/impression data from Google. User Intent: keyword performance GSC, which keywords lost the most clicks, keyword click drop, top gaining keywords, keyword impressions change, CTR per keyword GSC, average position per keyword, keyword-level GSC data, actual clicks per keyword, actual impressions per keyword, GSC query list, keyword click delta, click decline per keyword, GSC position change per keyword, real traffic per keyword from Google, google search console keyword data Purpose: Keyword-level GSC performance grid with period-over-period comparison. Each row is a keyword with Clicks, Impressions, Average CTR, Average Position, and their changes versus the previous period. Returns all keywords (branded + non-branded combined). When to Use: - Click, impression, CTR, or position data from Google Search Console at keyword level. - Finding top losing or gaining keywords over a period. - Default: use the two most recent available periods. When NOT to Use: - Branded-only keywords — use `get_google_search_console_branded_keyword_performance instead. - Non-branded-only keywords — use get_google_search_console_nonbranded_keyword_performance instead. - Page-level data — use get_google_search_console_page_performance instead. - Tracked keyword rankings from BrightEdge — use get_tracked_keywords instead. - Estimated/modelled traffic per keyword — use get_tracked_keyword_estimation` instead.

get_google_search_console_branded_keyword_performance

ChatGPT
DATA SOURCE: Google Search Console (GSC) — actual click/impression data from Google. User Intent: branded keyword performance GSC, branded keywords gaining clicks, branded keyword click change, top branded queries, brand keyword impressions, CTR for branded terms, position change branded keywords, GSC branded keyword clicks, real branded traffic from Google Purpose: Branded keyword-level GSC performance grid with period-over-period comparison. Each row is a branded keyword with Clicks, Impressions, Average CTR, Average Position, and their changes versus the previous period. Branded keywords only. When to Use: - User asks specifically about branded keyword performance or brand terms. - Default: use the two most recent available periods. When NOT to Use: - Non-branded keywords — use `get_google_search_console_nonbranded_keyword_performance instead. - All keywords combined — use get_google_search_console_all_keyword_performance instead. - Page-level data — use get_google_search_console_page_performance instead. - Tracked keyword rankings from BrightEdge — use get_tracked_keywords instead. - Estimated/modelled traffic per keyword — use get_tracked_keyword_estimation` instead.

get_google_search_console_keyword_performance

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns keyword-level click/impression/CTR/position data from Google Search Console with period comparison. WHEN TO USE: - actual clicks, impressions, CTR, or position per keyword from GSC - keyword groups or keyword counts from GSC - which keywords are driving a specific page (use query_for="keyword_groups") DO NOT USE: - tracked keyword rankings from BrightEdge → use get_tracked_keywords - keyword research / DataCube universe → use get_keywords_for_domain_or_url - keywords driving a page by SOV score → use get_share_of_voice_keyword_vs_page_lookup - for a single aggregate summary (total clicks, impressions, CTR, position across everything) → use get_google_search_console_overview_summary - SERP feature coverage changes between periods (e.g. "keywords that lost AI Overview coverage") → use get_domain_or_url_serp_features KEY PARAMETERS: query_for — "keywords" or "keyword_groups" (keywords driving a specific page) return_counts_only — True for totals only, no rows (only applies when query_for="keywords") [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_keyword_performance

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns keyword-level click/impression/CTR/position data from Google Search Console with period comparison. WHEN TO USE: - user asks for keywords/queries/search terms as the primary subject, without anchoring to one specific URL - keyword groups or keyword counts from GSC - user explicitly asks to break a named page down by individual query — must use exact phrasing like "list the queries" or "keyword-level breakdown" (use query_for="keyword_groups"), not just "top search queries for this page" DO NOT USE: - request opens with a specific page/URL and asks about its performance → use get_google_search_console_pages_performance first - tracked keyword rankings from BrightEdge → use get_tracked_keywords - keyword research / DataCube universe → use get_keywords_for_domain_or_url - keywords driving a page by SOV score → use get_share_of_voice_keyword_vs_page_lookup - for a single aggregate summary (total clicks, impressions, CTR, position across everything) → use get_google_search_console_overview_summary - SERP feature coverage changes between periods (e.g. "keywords that lost AI Overview coverage") → use get_domain_or_url_serp_features KEY PARAMETERS: query_for — "keywords" or "keyword_groups" (keywords driving a specific page) return_counts_only — True for totals only, no rows (only applies when query_for="keywords") [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_nonbranded_keyword_performance

ChatGPT
DATA SOURCE: Google Search Console (GSC) — actual click/impression data from Google. User Intent: non-branded keyword performance GSC, non-branded keywords losing clicks, non-branded keyword click drop, top non-branded queries, non-brand impressions change, CTR for non-branded terms, position change non-branded keywords, non-branded keyword actual clicks, real non-branded traffic from Google, click decline non-branded, GSC position change non-branded keywords Purpose: Non-branded keyword-level GSC performance grid with period-over-period comparison. Each row is a non-branded keyword with Clicks, Impressions, Average CTR, Average Position, and their changes versus the previous period. Non-branded keywords only. When to Use: - User asks specifically about non-branded keyword performance. - Default: use the two most recent available periods. When NOT to Use: - Branded keywords — use `get_google_search_console_branded_keyword_performance instead. - All keywords combined — use get_google_search_console_all_keyword_performance instead. - Page-level data — use get_google_search_console_page_performance instead. - Tracked keyword rankings from BrightEdge — use get_tracked_keywords instead. - Estimated/modelled traffic per keyword — use get_tracked_keyword_estimation` instead.

get_google_search_console_overview_summary

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns a GSC click/impression/CTR/position summary. Not broken down by keyword or page. KEY PARAMETERS: - query_for="overview_summary" → preset windows (week, month, quarter); no date range needed (default) - query_for="time_range_based_summary" → time-range-based comparison; requires compare_time_range_start and compare_time_range_end WHEN TO USE: - user wants a GSC snapshot without specifying explicit date ranges - user names explicit date windows (e.g. "this month vs last month", "Q1 vs Q2") - headline metrics comparison for any period DO NOT USE: - estimated traffic or revenue → use get_tracked_keyword_estimation_summary - tracked keyword ranking KPI summary → use get_tracked_keywords_summary - keyword or page grids → use get_google_search_console_keyword_performance or get_google_search_console_pages_performance [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_overview_summary

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns a GSC click/impression/CTR/position summary. Not broken down by keyword or page. KEY PARAMETERS: - query_for="overview_summary" → preset windows (week, month, quarter); no date range needed (default) - query_for="time_range_based_summary" → time-range-based comparison; requires compare_time_range_start and compare_time_range_end WHEN TO USE: - user wants a GSC snapshot without specifying explicit date ranges - user names explicit date windows (e.g. "this month vs last month", "Q1 vs Q2") - headline metrics comparison for any period DO NOT USE: - estimated traffic or revenue → use get_tracked_keyword_estimation_summary - tracked keyword ranking KPI summary → use get_tracked_keywords_summary - keyword or page grids → use get_google_search_console_keyword_performance or get_google_search_console_pages_performance [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_page_performance

ChatGPT
DATA SOURCE: Google Search Console (GSC) — actual click/impression data from Google. User Intent: page performance GSC, top pages by impressions, page click change, URL performance google search console, which pages lost impressions, page-level CTR, page position change, landing page GSC data, actual GSC clicks per page URL, landing page actual impressions from Google, top pages losing actual clicks, page click decline actual GSC data, google search console page data, page performance by URL actual clicks not estimated not SOV Purpose: Page-level GSC performance grid with period-over-period comparison. Each row is a page URL with Clicks, Impressions, Average CTR, Average Position, and their changes versus the previous period. KEY SIGNAL: use this tool when the user asks about "clicks", "impressions", "CTR", or "actual traffic" per page. NOT for share of voice or estimated traffic. When to Use: - Actual GSC click/impression/CTR/position data at the page or URL level. - Finding top or bottom pages by clicks, impressions, CTR, or position. - Default: use the two most recent available periods. When NOT to Use: - Page-level SOV score or market share — use `get_share_of_voice_pages instead. Rule of thumb: "share of voice", "SOV", "competitive visibility" → get_share_of_voice_pages; "clicks", "impressions", "CTR", "actual traffic" → this tool. - Keyword-level data — use get_google_search_console_all_keyword_performance, get_google_search_console_branded_keyword_performance, or get_google_search_console_nonbranded_keyword_performance instead. - Estimated traffic per page — use get_tracked_keyword_estimation` instead (GSC is actual clicks, not modelled estimates).

get_google_search_console_pages_performance

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns page-level click/impression/CTR/position data from Google Search Console with period comparison. WHEN TO USE: - actual clicks, impressions, CTR, or position per page/URL from GSC - page groups or page counts from GSC DO NOT USE: - which keywords drive a specific page → use get_google_search_console_keyword_performance - page SOV score or competitive visibility → use get_share_of_voice_pages - pages ranking for a keyword by SOV score → use get_share_of_voice_keyword_vs_page_lookup - site directory organic gains/losses → use get_pages_gaining_or_losing_trends KEY PARAMETERS: query_for — "pages" (default), "page_groups". return_counts_only — True for totals only, numeric output with no rows. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_pages_performance

ChatGPT
Use this tool only when the user explicitly asks for Google Search Console (GSC) data. Returns page-level click/impression/CTR/position data from Google Search Console with period comparison. WHEN TO USE: - actual clicks, impressions, CTR, or position per page/URL from GSC - page groups or page counts from GSC - ANY request that names a specific page/URL first, even if it also mentions "queries" or "search terms" — start here for page-scoped requests and return page-level totals unless the user explicitly asks to break down by individual keyword/query - "how is this page performing", "top pages", "page performance for X" DO NOT USE: - user explicitly asks for the LIST of individual keywords/queries (not just page totals) → use get_google_search_console_keyword_performance - page SOV score or competitive visibility → use get_share_of_voice_pages - pages ranking for a keyword by SOV score → use get_share_of_voice_keyword_vs_page_lookup - site directory organic gains/losses → use get_pages_gaining_or_losing_trends KEY PARAMETERS: query_for — "pages" (default), "page_groups". return_counts_only — True for totals only, numeric output with no rows. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_google_search_console_performance

ChatGPT
DATA SOURCE: Google Search Console (GSC) — actual click/impression data from Google. User Intent: GSC performance summary, google search console comparison, clicks vs previous period, period-over-period GSC, monthly quarterly weekly GSC comparison Purpose: Period-over-period comparison of all key GSC metrics for a user-specified date window: Clicks, Impressions, Average CTR, Average Position, Keyword Count, Page Count. Each metric includes the current value, absolute change, and percentage change. Also includes the current overview (selected period label and headline click change). When to Use: - User names explicit date windows (e.g. "Q1 2026 vs Q4 2025", "this month vs last month"). - Default: use the two most recent available periods (latest period and latest period minus 1). When NOT to Use: - Estimated traffic or revenue — those are modelled, not actual GSC clicks. - Keyword-level data — use `get_google_search_console_all_keyword_performance, get_google_search_console_branded_keyword_performance, or get_google_search_console_nonbranded_keyword_performance instead. - Page/URL-level data — use get_google_search_console_page_performance` instead.

get_keyword_group_memberships

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Lists every keyword group a specific keyword belongs to. WHEN TO USE: - "which keyword groups is '...' in?" - "is keyword X already in group Y?" — list its groups and check DO NOT USE: - to list keywords within a group (the inverse direction) → use get_keywords_settings with group_ids_or_names - to remove a keyword from a group → use remove_keyword_group_or_keyword_from_group KEY PARAMETERS: keyword_id — the keyword's numeric ID. If you only have its text, find the ID first via get_keywords_settings — never guess a numeric ID.

get_keyword_group_ranking_factor

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns aggregated ranking factor analysis across all keywords in a keyword group. Surfaces the dominant on-page and off-page signals driving group-level ranking performance, highlighting common strengths and gaps across the group's keywords — benchmarked against competitors and SERP position averages, with a top-10 metrics overlay. WHEN TO USE: - "what ranking factors affect keywords in my '<group name>' group?" - "analyze ranking signals across a keyword group" - "why are keywords in this group ranking where they are?" - getting a consolidated ranking factor view for a topic cluster DO NOT USE: - ranking factors for a single keyword + URL → use get_keyword_page_ranking_factor - keyword group performance stats (clicks, impressions) → use get_keyword_group_summary - related keywords for a seed keyword → use get_related_keywords - tracked keyword rank history → use get_tracked_keyword_history KEY PARAMETERS: keyword_group — the exact name of the keyword group defined in BrightEdge. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_group_ranking_factor

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns aggregated ranking factor analysis across all keywords in a keyword group. Surfaces the dominant on-page and off-page signals driving group-level ranking performance, highlighting common strengths and gaps across the group's keywords — benchmarked against competitors and SERP position averages, with a top-10 metrics overlay. WHEN TO USE: - "what ranking factors affect keywords in my '<group name>' group?" - "analyze ranking signals across a keyword group" - "why are keywords in this group ranking where they are?" - getting a consolidated ranking factor view for a topic cluster DO NOT USE: - ranking factors for a single keyword + URL → use get_keyword_page_ranking_factor - keyword group performance stats (clicks, impressions) → use get_keyword_group_summary - related keywords for a seed keyword → use get_related_keywords - tracked keyword rank history → use get_tracked_keyword_history KEY PARAMETERS: keyword_group — the exact name of the keyword group defined in BrightEdge. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_group_settings

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Lists keyword groups configured in the current BrightEdge account — OR returns full detail for a single one. This is identity/configuration data only — no ranking or performance data (see DO NOT USE). group_id_or_name determines which: - omitted → LIST mode: returns every matching group's IDs, names, nesting, tracking frequency, and keyword/device counts. root_only/parent_id/frequency/search/sort/pagination apply. - given → DETAIL mode: returns one group's full detail — description, nesting (parent/path/depth), child-group count, keyword/device counts, default search engine, and campaign settings. The list-only filters above are ignored in this mode. WHEN TO USE: - "show me my keyword groups" / "list keyword groups" → LIST mode - "top 3 keyword groups on my account" / "first 5 keyword groups" — a plain count-limited listing (not ranked by performance) → LIST mode, set pagination_limit - "what's the ID of my '...' keyword group?" (search by name) → LIST mode with search - "give me details on my '...' keyword group" / "how many keywords/children does group X have?" / "what's the default search engine for group X?" → DETAIL mode, pass group_id_or_name - browsing available groups before calling save/delete keyword-group tools DO NOT USE: - keyword group performance/rankings/SERP schema signals, or "top performing"/"best" keyword groups → use get_keyword_group_summary (searchiq) or get_keyword_group_ranking_factor (searchiq) instead — those report on ranking performance; this tool only reports group identity/configuration - to create, delete, or modify a group → use add_keyword_group_or_keyword_to_group / remove_keyword_group_or_keyword_from_group - to list the keywords inside a group → use get_keywords_settings KEY PARAMETERS: group_id_or_name — omit for LIST mode; the group's numeric ID or exact name (resolved internally, never guess a numeric ID) for DETAIL mode. search — LIST mode only; filter by name substring (e.g. "brand" matches "Brand Keywords"). parent_id — LIST mode only; only return groups nested directly under this group. root_only — LIST mode only; true to exclude nested/child groups; default returns every nesting level.

get_keyword_group_summary

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns a summary of keyword group performance metrics for a domain. For each keyword group shows: on-page, page-speed, and schema category grades, plus which schema types appear most commonly among top-ranking SERP pages for that group's keywords — giving a topic-cluster view of SEO health and schema gaps. WHEN TO USE: - "show me keyword group performance for my domain" - "which keyword groups are doing well / poorly?" - "keyword group summary for <domain>" - getting a topic-cluster view of ranking performance - "what schemas are competitors using for my keyword groups?" DO NOT USE: - keyword-page mapping summary → use get_keyword_page_summary - ranking factors within a specific keyword group → use get_keyword_group_ranking_factor - individual keyword rankings → use get_tracked_keywords or get_keywords_for_domain_or_url - Google Search Console keyword data → use get_google_search_console_keyword_performance KEY PARAMETERS: domain — the domain to summarize (defaults to the primary account domain). pagination_limit — number of keyword groups to return (default 10). pagination_offset — zero-based offset for pagination (default 0). [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_group_summary

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns a summary of keyword group performance metrics for a domain. For each keyword group shows: on-page, page-speed, and schema category grades, plus which schema types appear most commonly among top-ranking SERP pages for that group's keywords — giving a topic-cluster view of SEO health and schema gaps. WHEN TO USE: - "show me keyword group performance for my domain" - "which keyword groups are doing well / poorly?" - "keyword group summary for <domain>" - getting a topic-cluster view of ranking performance - "what schemas are competitors using for my keyword groups?" DO NOT USE: - keyword-page mapping summary → use get_keyword_page_summary - ranking factors within a specific keyword group → use get_keyword_group_ranking_factor - individual keyword rankings → use get_tracked_keywords or get_keywords_for_domain_or_url - Google Search Console keyword data → use get_google_search_console_keyword_performance - just the list of keyword group names/IDs/counts, with no performance grades or schema data (e.g. "list my keyword groups", "top 3 keyword groups on my account" meaning a plain count-limited listing, not ranked by performance) → use get_keyword_group_settings instead KEY PARAMETERS: pagination_limit — number of keyword groups to return (default 10). pagination_offset — zero-based offset for pagination (default 0). [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_page_ranking_factor

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns the on-page ranking factor analysis for a specific keyword and page URL combination. Breaks down content, structure, and keyword-presence signals (word count, keyword density, keyword in title/headings/URL, SEO score, etc.) that influence how the URL ranks for the keyword — benchmarked against competitors and SERP position averages. WHEN TO USE: - "why does this page rank where it does for this keyword?" - "what ranking factors affect <url> for '<keyword>'?" - "analyze ranking signals for a specific keyword + page pair" - diagnosing rank drops or rank improvement opportunities for a page DO NOT USE: - ranking factors at the keyword group level → use get_keyword_group_ranking_factor - domain-wide keyword performance summary → use get_keyword_page_summary - page speed / Core Web Vitals → use get_page_speed - schema markup analysis → use get_page_schema - related keyword discovery → use get_related_keywords KEY PARAMETERS: keyword — the keyword to analyze ranking factors for. url — the full page URL to evaluate against that keyword. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_page_ranking_factor

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns the on-page ranking factor analysis for a specific keyword and page URL combination. Breaks down content, structure, and keyword-presence signals (word count, keyword density, keyword in title/headings/URL, SEO score, etc.) that influence how the URL ranks for the keyword — benchmarked against competitors and SERP position averages. WHEN TO USE: - "why does this page rank where it does for this keyword?" - "what ranking factors affect <url> for '<keyword>'?" - "analyze ranking signals for a specific keyword + page pair" - diagnosing rank drops or rank improvement opportunities for a page DO NOT USE: - ranking factors at the keyword group level → use get_keyword_group_ranking_factor - domain-wide keyword performance summary → use get_keyword_page_summary - page speed / Core Web Vitals → use get_page_speed - schema markup analysis → use get_page_schema - related keyword discovery → use get_related_keywords KEY PARAMETERS: keyword — the keyword to analyze ranking factors for. url — the full page URL to evaluate against that keyword. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_page_summary

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns a ranked list of keyword-page pairs with schema coverage and category scores. For each keyword-page pair in the domain, shows the overall on-page, page-speed, and schema category grades, plus which schema types are present and which competitors are using (gap opportunities). Results are ordered by search volume descending, limited to pages ranking in the top 100. WHEN TO USE: - "show me the keyword-page summary for my domain" - "which pages have schema gaps vs competitors?" - "what's my schema coverage across top keywords?" - reviewing overall keyword-page optimization status DO NOT USE: - keyword group-level summary → use get_keyword_group_summary - keyword rankings from DataCube → use get_keywords_for_domain_or_url - per-keyword ranking factor detail → use get_keyword_page_ranking_factor - page speed Core Web Vitals → use get_page_speed - Google Search Console clicks/impressions → use get_google_search_console_keyword_performance KEY PARAMETERS: domain — the domain to summarize (defaults to the primary account domain). pagination_limit — rows per page (default 10). pagination_offset — zero-based offset for pagination (default 0). [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keyword_page_summary

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns a ranked list of keyword-page pairs with schema coverage and category scores. For each keyword-page pair in the domain, shows the overall on-page, page-speed, and schema category grades, plus which schema types are present and which competitors are using (gap opportunities). Results are ordered by search volume descending, limited to pages ranking in the top 100. WHEN TO USE: - "show me the keyword-page summary for my domain" - "which pages have schema gaps vs competitors?" - "what's my schema coverage across top keywords?" - reviewing overall keyword-page optimization status DO NOT USE: - keyword group-level summary → use get_keyword_group_summary - keyword rankings from DataCube → use get_keywords_for_domain_or_url - per-keyword ranking factor detail → use get_keyword_page_ranking_factor - page speed Core Web Vitals → use get_page_speed - Google Search Console clicks/impressions → use get_google_search_console_keyword_performance KEY PARAMETERS: pagination_limit — rows per page (default 10). pagination_offset — zero-based offset for pagination (default 0). [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keywords_driving_opportunity

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Shows keyword-level rows for a domain filtered by a rank position range (e.g. ranks above 20 or below 3), sourced from the BrightEdge DataCube (DCX). Used to surface untracked keyword opportunities based on where a domain currently ranks. Returns: One row per keyword, including rank, rank change, estimated traffic, and volume. Key fields: keyword, classic_rank, rank_change, estimated_traffic, estimated_traffic_change_int, volume, volume_change Note: time_range is required when both start and end dates are provided; otherwise API defaults apply. Use when: - User wants untracked keywords ranking within a specific position range (e.g. "keywords ranking between positions 5 and 20") - User is looking for quick-win or opportunity keywords based on rank thresholds Do not use when: - User refers to "my tracked keywords" or a named keyword from their BrightEdge list — use DCX get_tracked_keyword* instead - User wants GSC click/impression/CTR data — use GSC tools - User wants SERP feature analysis - User wants a single-keyword SERP competitor breakdown - User wants keyword gap analysis against a competitor — use DCX compare_competitor_domain_gap_keywords [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keywords_for_domain_or_url

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. NOTE: DataCube tool — covers the full web index. For keywords in your BrightEdge tracked list, use get_tracked_keywords instead. Returns keyword rankings and movement data for a domain or URL from BrightEdge DataCube. Covers all keyword types: tracked, non-tracked, branded, non-branded. WHEN TO USE: - "what keywords does my site rank for?" / "keywords ranking for [keyword phrase or URL]" - "show me keywords gaining/losing rank/traffic/volume" → set keyword_change_metric - "top keywords by traffic/volume for this domain or URL" - "which non-branded keywords gained the most rank on our product pages" → set keyword_change_metric="rank", is_branded=False, url=<product page URL> DO NOT USE: - "my tracked keywords" or "my BrightEdge list" → use get_tracked_keywords - actual clicks, impressions, real traffic → use get_google_search_console_keyword_performance - SERP feature presence → use get_domain_or_url_serp_features - page/folder gains or losses → use get_pages_gaining_or_losing_trends KEY PARAMETERS: keyword_change_metric — set to "rank", "traffic", or "volume" to see which keywords moved on that metric between start_date and end_date. Omit for current snapshot rankings. order — "desc" returns the biggest gainers first (default); use "asc" when the user asks for losers, drops, or declines. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keywords_for_domain_or_url

ChatGPT
Use it for all keyword/domain/url related queries. BrightEdge's datacube is loaded with all the required data. NOTE: DataCube tool — covers the full web index. For keywords in your BrightEdge tracked list, use get_tracked_keywords instead. Returns keyword rankings and movement data for a domain or URL from BrightEdge DataCube. Covers all keyword types: tracked, non-tracked, branded, non-branded. WHEN TO USE: - "what keywords does my site rank for?" / "keywords ranking for [keyword phrase or URL]" - "show me keywords gaining/losing rank/traffic/volume" → set keyword_change_metric - "top keywords by traffic/volume for this domain or URL" - "which non-branded keywords gained the most rank on our product pages" → set keyword_change_metric="rank", is_branded=False, url=<product page URL> DO NOT USE: - "my tracked keywords" or "my BrightEdge list" → use get_tracked_keywords - actual clicks, impressions, real traffic → use get_google_search_console_keyword_performance - SERP feature presence → use get_domain_or_url_serp_features - page/folder gains or losses → use get_pages_gaining_or_losing_trends KEY PARAMETERS: keyword_change_metric — set to "rank", "traffic", or "volume" to see which keywords moved on that metric between start_date and end_date. Omit for current snapshot rankings. order — "desc" returns the biggest gainers first (default); use "asc" when the user asks for losers, drops, or declines. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keywords_losing_rank

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Shows keyword-level rows for a domain where organic rankings have declined, sourced from the BrightEdge DataCube (DCX). Works for any domain on the web — not limited to BrightEdge-tracked domains. Returns: One row per keyword, including rank, rank change, estimated traffic, and volume. Key fields: keyword, classic_rank, rank_change, estimated_traffic, estimated_traffic_change_int, volume, volume_change Note: time_range is required when both start and end dates are provided; otherwise API defaults apply. Use when: - User wants to find untracked keywords where a domain has lost ranking positions - User asks for organic keyword visibility for any domain (single domain, no competitor mentioned) — this is the default starting tool for single-domain organic keyword lookups (e.g. "top keywords for domain.com", "what does X.com rank for") - The domain is unrecognized or external — DCX works for any domain; do not attempt SOV or KR tools for untracked domains as they will return empty or unauthorized results Do not use when: - User refers to "my tracked keywords" or a named keyword from their BrightEdge list — use DCX get_tracked_keyword_* instead - User asks about "page gains" or page-level views — this tool is keyword-level only, not page or section level - User wants GSC click/impression/CTR data — use GSC tools - User wants SERP feature analysis - User wants a single-keyword SERP competitor breakdown - User wants keyword gap analysis against a competitor — use DCX compare_competitor_domain_gap_keywords Hard constraints: - If the user mentions "my tracked keywords", route to KR tools — this tool only covers the DCX keyword universe - This tool returns keyword-level rows only — never use it for page-level or section-level questions [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_keywords_settings

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Lists BrightEdge keywords or returns details for a specific keyword. Modes: - LIST mode (no keyword_id): Returns matching keywords with ID, text, on/off-page status, and preferred landing page (plp_url). Optionally filter by keyword groups using group_ids_or_names. - DETAIL mode (keyword_id provided): Returns details for one keyword. If search_engine_id is provided, rank and search volume data are also included. Preferred Landing Pages (PLPs): - Set is_plp=true to read preferred landing page information. - PLPs are search-engine specific, so provide search_engine_id when applicable. - Read the PLP from the plp_url field. A null value means no PLP is set. - This tool only reads PLPs. To set or remove a PLP, use add_or_remove_plp_for_keywords. WHEN TO USE: - List keywords in a group - List all tracked keywords - Get keyword details, rank, search volume, or on/off-page status - Check a keyword's preferred landing page - View landing pages for keywords in a group DO NOT USE: - Bulk keyword rank/search-volume reporting → use get_tracked_keywords or get_keywords_for_domain_or_url - Finding keyword group memberships → use get_keyword_group_memberships - Adding/removing keywords from groups → use add_keyword_group_or_keyword_to_group or remove_keyword_group_or_keyword_from_group - Setting or clearing a PLP → use add_or_remove_plp_for_keywords KEY PARAMETERS: is_plp - Set true for preferred landing page requests. keyword_id - Required for keyword details or a single-keyword PLP lookup. group_ids_or_names - Filter keywords by one or more keyword groups. search_engine_id - Identifies the search engine for PLP lookups and enriches keyword details with rank/search volume data.

get_keywords_with_aioverview_opportunity

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Shows keywords where an AI Overview (AIO) SERP feature is present but the domain does not yet have a linked page capturing it — surfacing AIO capture opportunities. Works for any domain. Returns one row per keyword. Returns: One row per keyword with an AI Overview opportunity. Key fields: keyword, classic_rank, volume (ordered descending) Use when: - User wants to find keywords where an AI Overview appears and the domain has an opportunity to be featured - User asks about "AI overview opportunity", "AIO opportunity", "keywords with AI overview", or "AI overview gaps" - User wants to discover which keywords trigger AI Overviews that the domain could target Do not use when: - User wants all SERP features (not just AI Overview) - User wants GSC click/impression data — use GSC tools instead - User refers to "my tracked keywords" — use KR get_tracked_keyword* instead Hard constraints: - This tool is scoped to AI Overview (type=42) only — for other SERP features use get_keyword_serp_features - Results are keyword-level rows, not page or section level [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns engagement analytics data broken down by individual page URL. WHEN TO USE: - user asks for page-level traffic, visits, or engagement metrics - user wants to see how individual pages are performing in terms of engagement - user asks about bounce rate, time on page, or page views per URL DO NOT USE: - site-wide aggregate metrics → use get_site_analytics - grouped page section performance → use get_page_group_analytics - Google Search Console click/impression data → use get_google_search_console_pages_performance - keyword ranking data → use get_tracked_keywords or get_keywords_for_domain_or_url - source-level filtering by traffic source (google/bing/etc.) — only available in get_site_analytics [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns engagement analytics data broken down by individual page URL. WHEN TO USE: - user asks for page-level traffic, visits, or engagement metrics - user wants to see how individual pages are performing in terms of engagement - user asks about bounce rate, time on page, or page views per URL DO NOT USE: - site-wide aggregate metrics → use get_site_analytics - grouped page section performance → use get_page_group_analytics - Google Search Console click/impression data → use get_google_search_console_pages_performance - keyword ranking data → use get_tracked_keywords or get_keywords_for_domain_or_url - source-level filtering by traffic source (google/bing/etc.) — only available in get_site_analytics [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_group_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns engagement analytics aggregated by page group (site sections or URL patterns). WHEN TO USE: - user asks for analytics by site section, directory, or page group - user wants to compare engagement across grouped pages (e.g. /blog/, /product/) - user asks how a particular section of the site is performing for engagement DO NOT USE: - individual page URL breakdown → use get_page_analytics - site-wide totals → use get_site_analytics - page group GSC click/impression data → use get_google_search_console_pages_performance with query_for="page_groups" - share of voice by page group → use get_share_of_voice_pages - source-level filtering by traffic source (google/bing/etc.) — only available in get_site_analytics [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_group_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns engagement analytics aggregated by page group (site sections or URL patterns). WHEN TO USE: - user asks for analytics by site section, directory, or page group - user wants to compare engagement across grouped pages (e.g. /blog/, /product/) - user asks how a particular section of the site is performing for engagement DO NOT USE: - individual page URL breakdown → use get_page_analytics - site-wide totals → use get_site_analytics - page group GSC click/impression data → use get_google_search_console_pages_performance with query_for="page_groups" - share of voice by page group → use get_share_of_voice_pages - source-level filtering by traffic source (google/bing/etc.) — only available in get_site_analytics [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_schema

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns structured data and schema markup detected on a given page URL. Surfaces schema types (Article, Product, FAQ, BreadcrumbList, etc.), their presence, completeness, and any validation warnings from BrightEdge's crawl data. WHEN TO USE: - "what schema markup does this page have?" - "does this URL have FAQ schema / Product schema?" - "check structured data on <url>" - auditing pages for schema implementation issues DO NOT USE: - page speed or Core Web Vitals → use get_page_speed - keyword ranking data for a page → use get_keywords_for_domain_or_url with a url filter - on-page SEO recommendations (title, meta, headings) → use get_seo_page_recommendations KEY PARAMETERS: url — full URL including protocol (e.g. 'https://www.example.com/product/123'). keyword — optional keyword to evaluate schema as a ranking factor for. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_schema

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns structured data and schema markup detected on a given page URL. Surfaces schema types (Article, Product, FAQ, BreadcrumbList, etc.), their presence, completeness, and any validation warnings from BrightEdge's crawl data. WHEN TO USE: - "what schema markup does this page have?" - "does this URL have FAQ schema / Product schema?" - "check structured data on <url>" - auditing pages for schema implementation issues DO NOT USE: - page speed or Core Web Vitals → use get_page_speed - keyword ranking data for a page → use get_keywords_for_domain_or_url with a url filter - on-page SEO recommendations (title, meta, headings) → use get_seo_page_recommendations KEY PARAMETERS: url — full URL including protocol (e.g. 'https://www.example.com/product/123'). keyword — optional keyword to evaluate schema as a ranking factor for. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_speed

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns page speed metrics and Core Web Vitals for a given URL. Fetches performance_score, LCP, INP, FID, CLS, TTI, Speed Index, TBT, total byte weight, and DOM size — benchmarked against competitors and SERP averages. WHEN TO USE: - "how fast is this page?" or "what are the Core Web Vitals for this URL?" - "show me LCP, CLS, FID scores for my page" - "page speed analysis for <url>" - diagnosing technical performance issues on a specific page DO NOT USE: - domain-wide keyword or ranking data → use get_keywords_for_domain_or_url - structured data / schema markup → use get_page_schema - ranking factors for a keyword + page combo → use get_keyword_page_ranking_factor KEY PARAMETERS: url — full URL including protocol (e.g. 'https://www.example.com/page'). keyword — optional keyword to evaluate speed metrics as ranking factors for. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_page_speed

ChatGPT
Use this tool only when the user explicitly asks for SearchIQ data — page speed, schema markup, related keywords, or keyword ranking factor analysis. Returns page speed metrics and Core Web Vitals for a given URL. Fetches performance_score, LCP, INP, FID, CLS, TTI, Speed Index, TBT, total byte weight, and DOM size — benchmarked against competitors and SERP averages. WHEN TO USE: - "how fast is this page?" or "what are the Core Web Vitals for this URL?" - "show me LCP, CLS, FID scores for my page" - "page speed analysis for <url>" - diagnosing technical performance issues on a specific page DO NOT USE: - domain-wide keyword or ranking data → use get_keywords_for_domain_or_url - structured data / schema markup → use get_page_schema - ranking factors for a keyword + page combo → use get_keyword_page_ranking_factor KEY PARAMETERS: url — full URL including protocol (e.g. 'https://www.example.com/page'). keyword — optional keyword to evaluate speed metrics as ranking factors for. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_pages_gaining_rank

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Shows site sections (URL directories/folders) where organic visibility has improved, sourced from BrightEdge DataCube (DCX). Works for any domain. Returns one row per URL directory/path prefix, not per keyword. Returns: One row per site section/directory gaining organic visibility. Key fields: directory, previous_estimated_traffic, estimated_traffic, estimated_traffic_change_int (ordered ascending) Use when: - User wants to see which site sections or URL directories are gaining organic visibility - User asks about "page gains", "pages gaining", "directory gains", "section gains", or "which folders are growing" - User wants a section-level (not keyword-level) view of organic visibility gains Do not use when: - User wants keyword-level organic gains — use get_keywords_search_results with metric="rank" instead (returns per-keyword rows) - User wants GSC click/impression data per page — use GSC tools instead - User wants page-level competitive market share gains — use get_share_of_voice_pages instead Hard constraints: - This tool returns section/directory-level rows only — never use it for per-keyword questions - Results are rank-based organic visibility, not actual click data [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_pages_losing_rank

ChatGPT
Use it for all keyword/domain analysis, which covers the entire web keyword universe. DATA SOURCE: BrightEdge DataCube (DCX) Shows site sections (URL directories/folders) where organic visibility has declined, sourced from BrightEdge DataCube (DCX). Works for any domain. Returns one row per URL directory/path prefix, not per keyword. Returns: One row per site section/directory losing organic visibility. Key fields: directory, previous_estimated_traffic, estimated_traffic, estimated_traffic_change_int (ordered descending) Use when: - User wants to see which site sections or URL directories are losing organic visibility - User asks about "page losses", "pages losing", "directory losses", "section losses", or "which folders are declining" - User wants a section-level (not keyword-level) view of organic visibility losses Do not use when: - User wants keyword-level organic losses — use get_keywords_losing_rank instead (returns per-keyword rows) - User wants GSC click/impression data per page — use GSC tools instead - User wants page-level competitive market share losses — use get_share_of_voice_pages instead Hard constraints: - This tool returns section/directory-level rows only — never use it for per-keyword questions - Results are rank-based organic visibility, not actual click data [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_keyword_recommendations

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return SEO Recommendations for a specific keyword, including competitor comparison. WHEN TO USE: - "what recommendations do I have for this keyword?" - "how can I improve my ranking for this keyword?" - "show me SEO issues for a specific keyword" - "who are the top 10 ranking pages for this keyword?" - "how does my page compare onpage to competitors for this keyword?" DO NOT USE: - domain-wide keyword summary → use get_seo_keywords_recommendation_summary - page-level recommendations → use get_seo_page_recommendations - keyword rank history → use get_tracked_keyword_history REQUIRED PARAM: - keyword [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_keyword_recommendations

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return SEO Recommendations for a specific keyword, including competitor comparison. WHEN TO USE: - "what recommendations do I have for this keyword?" - "how can I improve my ranking for this keyword?" - "show me SEO issues for a specific keyword" - "who are the top 10 ranking pages for this keyword?" - "how does my page compare onpage to competitors for this keyword?" DO NOT USE: - domain-wide keyword summary → use get_seo_keywords_recommendation_summary - page-level recommendations → use get_seo_page_recommendations - keyword rank history → use get_tracked_keyword_history REQUIRED PARAM: - keyword [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_keywords_recommendation_summary

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return a paginated list of keywords with their SEO recommendation data. WHEN TO USE: - "show me keyword recommendations across my domain" - "which keywords have the most recommendations?" - "what SEO issues exist at the keyword level?" - "show me keywords sorted by search volume with recommendation counts" DO NOT USE: - single-keyword detail → use get_seo_keyword_recommendations - page-level recommendations → use get_seo_pages_recommendation_summary - keyword rank/traffic data → use get_tracked_keywords or GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_keywords_recommendation_summary

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return a paginated list of keywords with their SEO recommendation data. WHEN TO USE: - "show me keyword recommendations across my domain" - "which keywords have the most recommendations?" - "what SEO issues exist at the keyword level?" - "show me keywords sorted by search volume with recommendation counts" DO NOT USE: - single-keyword detail → use get_seo_keyword_recommendations - page-level recommendations → use get_seo_pages_recommendation_summary - keyword rank/traffic data → use get_tracked_keywords or GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_page_recommendations

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return SEO Recommendations for a specific page URL. WHEN TO USE: - "what recommendations do I have for this page?" - "how can I improve this URL?" - "show me SEO issues for this page" - "what should I fix on this page?" DO NOT USE: - domain-wide recommendation summary → use get_seo_pages_recommendation_summary - keyword rank data → use get_keywords_for_domain_or_url - page traffic data → use get_google_search_console_pages_performance [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_page_recommendations

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return SEO Recommendations for a specific page URL. WHEN TO USE: - "what recommendations do I have for this page?" - "how can I improve this URL?" - "show me SEO issues for this page" - "what should I fix on this page?" DO NOT USE: - domain-wide recommendation summary → use get_seo_pages_recommendation_summary - keyword rank data → use get_keywords_for_domain_or_url - page traffic data → use get_google_search_console_pages_performance [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_pages_recommendation_summary

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return an aggregate summary of SEO Recommendations across all pages for a domain. WHEN TO USE: - "give me a recommendations summary for my domain" - "how many recommendations do I have?" - "what are the top issues across my site?" - "show me a breakdown of recommendations by category" - "which pages need the most attention?" DO NOT USE: - single-page recommendations → use get_seo_page_recommendations - keyword/traffic analytics → use DCX or GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_seo_pages_recommendation_summary

ChatGPT
This tool returns BrightEdge SEO recommendations analysis data. Return an aggregate summary of SEO Recommendations across all pages for a domain. WHEN TO USE: - "give me a recommendations summary for my domain" - "how many recommendations do I have?" - "what are the top issues across my site?" - "show me a breakdown of recommendations by category" - "which pages need the most attention?" DO NOT USE: - single-page recommendations → use get_seo_page_recommendations - keyword/traffic analytics → use DCX or GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_share_of_voice_competitive_domains

ChatGPT
DATA SOURCE: Share of Voice (SOV) — competitive visibility scoring universe. User Intent: List domains in SOV universe, which domains are tracked in SOV, SOV competitor domain list, domains in competitive set, SOV domain universe, list all tracked competitors, what domains are in our SOV universe. Purpose: Returns the list of domain names in the account's SOV universe — own domain plus tracked competitor domains. Universe listing only, not a ranked SOV metrics view. When to Use: - "Which domains are in our SOV competitive set?" - "List all tracked competitor domains." When NOT to Use: - Multi-domain keyword gap analysis → use DCX compare tools instead - Keyword-level SOV → use `get_share_of_voice_keywords instead - Page-level SOV → use get_share_of_voice_pages` instead Key fields: domain_name

get_share_of_voice_competitive_domains_summary

ChatGPT
Use this tool only if the user explicitly requests Share of Voice or SOV data. Returns a summary of Share of Voice (SOV) domains for the current account. WHAT IT DOES: - Summarize tracked domains (your domain + competitors). - Provides summary metrics: SOV score, volume, rank, and time-range comparisons. WHEN TO USE: - To see a summary of all domains in the SOV set. - To analyze tracked competitor domains share of voice results. - To compare a specific competitor domain with the user's domain. - To get a high-level competitive domain summary. DO NOT USE: - For keyword-level SOV → use get_share_of_voice_keywords. - For page-level SOV → use get_share_of_voice_pages. - For keyword gap comparison → use get_competitor_keyword_summary or get_competitor_keyword_gap_list. - For BrightEdge tracked domain rankings → use get_tracked_domains. - For Google Search Console clicks/impressions/CTR → use GSC tools. KEY PARAMETERS: - compare (default "top_domains") → comparison group. - volume_scale (default "brightedge_volume") → scoring scale. - rank_type (default "blended_rank") → ranking type. - keywords_type → include all, branded, or non-branded keywords. - filters → filter by a specific domain. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_share_of_voice_competitive_domains_summary

ChatGPT
Use this tool only if the user explicitly requests Share of Voice or SOV data. Returns a summary of Share of Voice (SOV) domains for the current account. WHAT IT DOES: - Summarize tracked domains (your domain + competitors). - Provides summary metrics: SOV score, volume, rank, and time-range comparisons. WHEN TO USE: - To see a summary of all domains in the SOV set. - To analyze tracked competitor domains share of voice results. - To compare a specific competitor domain with the user's domain. - To get a high-level competitive domain summary. DO NOT USE: - For keyword-level SOV → use get_share_of_voice_keywords. - For page-level SOV → use get_share_of_voice_pages. - For keyword gap comparison → use get_competitor_keyword_summary or get_competitor_keyword_gap_list. - For BrightEdge tracked domain rankings → use get_tracked_domains. - For Google Search Console clicks/impressions/CTR → use GSC tools. KEY PARAMETERS: - compare (default "top_domains") → comparison group. - volume_scale (default "brightedge_volume") → scoring scale. - rank_type (default "blended_rank") → ranking type. - keywords_type → include all, branded, or non-branded keywords. - filters → filter by a specific domain. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_share_of_voice_keyword_vs_page_lookup

ChatGPT
Use this tool only if the user explicitly requests Share of Voice or SOV data. Pass a keyword to see all pages ranking for it. Pass a page_url to see all keywords that page ranks for. - If you give a keyword, it shows the pages ranking for that keyword with their SOV scores. - If you give a page_url, it shows the keywords that page ranks for with their SOV scores. WHEN TO USE: - Ask "Which pages rank for keyword X?" and provide keyword=... - Ask "What keywords does this page rank for?" and provide page_url=... - To see competitor pages for a keyword, provide keyword=... and filter by domain. - To see keywords where our page is in the top 3, provide page_url=... and filter by rank less than 4. DO NOT USE: - Do not use this tool for actual Google Search Console clicks. Use GSC tools instead. - Do not use this tool for overall keyword or page SOV summaries. Use keyword/page SOV tools instead. KEY PARAMETERS: - keyword → find pages for that keyword. - page_url → find keywords for that page. - compare (default "top_domains") → defines who to compare against. - volume_scale (default "brightedge_volume") → scoring scale for SOV metrics. - rank_type (default "blended_rank") → blended vs classic ranking. - keywords_type → choose whether to include all keywords or only branded/non-branded keywords. NOTE: If both keyword and page_url are given, the keyword takes priority and the page_url is ignored. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_share_of_voice_keyword_vs_page_lookup

ChatGPT
Use this tool only if the user explicitly requests Share of Voice or SOV data. Pass a keyword to see all pages ranking for it. Pass a page_url to see all keywords that page ranks for. - If you give a keyword, it shows the pages ranking for that keyword with their SOV scores. - If you give a page_url, it shows the keywords that page ranks for with their SOV scores. WHEN TO USE: - Ask "Which pages rank for keyword X?" and provide keyword=... - Ask "What keywords does this page rank for?" and provide page_url=... - To see competitor pages for a keyword, provide keyword=... and filter by domain. - To see keywords where our page is in the top 3, provide page_url=... and filter by rank less than 4. DO NOT USE: - Do not use this tool for actual Google Search Console clicks. Use GSC tools instead. - Do not use this tool for overall keyword or page SOV summaries. Use keyword/page SOV tools instead. KEY PARAMETERS: - keyword → find pages for that keyword. - page_url → find keywords for that page. - compare (default "top_domains") → defines who to compare against. - volume_scale (default "brightedge_volume") → scoring scale for SOV metrics. - rank_type (default "blended_rank") → blended vs classic ranking. - keywords_type → choose whether to include all keywords or only branded/non-branded keywords. NOTE: If both keyword and page_url are given, the keyword takes priority and the page_url is ignored. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_share_of_voice_keywords

ChatGPT
DATA SOURCE: Share of Voice (SOV) — competitive SOV score and market share per keyword. User Intent: Keyword-level SOV scores, rankings, gains/losses, and competitive visibility. Covers branded, non-branded, and competitor keyword SOV comparisons. Purpose: Returns one row per keyword with SOV score, volume, rank, and optional period-over-period diffs when compare_time_range is provided. When to Use: - Highest SOV keywords, SOV gains/losses vs prior period When NOT to Use: - Clicks/impressions/CTR → Google Search Console keyword tools - Tracked keyword rankings → Tracked Keyword tools Key fields: keyword, rank, sov_score, sov_volume, sov_score_diff, page_url, domain

get_share_of_voice_pages

ChatGPT
DATA SOURCE: Share of Voice (SOV) — competitive SOV score and market share per page. NOT clicks or rank. User Intent: Page-level SOV scores, rankings, gains/losses, and competitive visibility. Covers own pages, competitor pages, and keyword-group scoping. Purpose: Returns one row per landing page with SOV score, volume, rank, total ranking keywords, and optional period-over-period diffs when compare_time_range is provided. When to Use: - Highest SOV pages, SOV gains/losses vs prior period When NOT to Use: - Actual page clicks/impressions/CTR → Google Search Console page tools - Site section/directory organic gains by rank → DataCube directory tools - Modelled estimated visits per page → Tracked Keywords estimation tools Key fields: page_url, rank, sov_score, sov_volume, total_keywords, sov_score_diff, domain

get_single_tracked_keyword_summary

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Current-period rank snapshot or search volume for a single tracked keyword from BrightEdge Keyword Reporting v3. Requires keyword_id or keyword text. Returns one row per search engine (type='rank') or one row with search volume (type='search_volume'). WHEN TO USE: - "what is the rank for [keyword] across search engines?" - "what is the search volume for [keyword]?" - drilling into one specific named tracked keyword DO NOT USE: - rankings for many keywords at once → use get_tracked_keywords - rank history over time for one keyword → use get_tracked_keyword_history - search volume for untracked keywords → use get_keywords_for_domain_or_url KEY PARAMETERS: details_type — 'rank' (default): rank per search engine + page_url; 'search_volume': monthly search volume. keyword_id or keyword — one must be provided. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_single_tracked_keyword_summary

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Current-period rank snapshot or search volume for a single tracked keyword from BrightEdge Keyword Reporting v3. Requires keyword_id or keyword text. Returns one row per search engine (type='rank') or one row with search volume (type='search_volume'). WHEN TO USE: - "what is the rank for [keyword] across search engines?" - "what is the search volume for [keyword]?" - drilling into one specific named tracked keyword DO NOT USE: - rankings for many keywords at once → use get_tracked_keywords - rank history over time for one keyword → use get_tracked_keyword_history - search volume for untracked keywords → use get_keywords_for_domain_or_url KEY PARAMETERS: details_type — 'rank' (default): rank per search engine + page_url; 'search_volume': monthly search volume. keyword_id or keyword — one must be provided. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_site_agent_assets_for_page

ChatGPT
Use this tool only when the user explicitly asks what BrightEdge autopilot has published or deployed to a page — injected internal links, schema markup, or page copy changes (title, H1, meta description). Detects what BrightEdge has published on a given page URL. Reports three categories of BrightEdge-published content: - related_links: internal links injected on the page - schemas: structured data / schema markup types injected (e.g. Product, FAQ) - page_info: page element updates (title, H1, meta description) WHEN TO USE: - "what has BrightEdge published on this page?" - determine whether BrightEdge has published changes to a URL - verify added schema.org structured data - check for title tag, H1, or meta description updates - identify related / internal / "more like this" links added by BrightEdge - audit BrightEdge-published changes on a specific page DO NOT USE: - checking schema markup from crawl data → use get_page_schema - AI bot/crawler traffic, page visits, or HTTP status by bot → use get_ai_agent_page_visit_* tools KEY PARAMETERS: url — full page URL including protocol (e.g. 'https://www.example.com/page') [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_site_agent_assets_for_site

ChatGPT
Use this tool only when the user explicitly asks what BrightEdge autopilot has published or deployed to a page — injected internal links, schema markup, or page copy changes (title, H1, meta description). Summarizes what BrightEdge autopilot has deployed across an entire domain (site-wide totals). Reports per-asset summaries (only the account's active module for each is populated; others are null): - related_links: {module (scp1/scp2), total_pages, total_assigned_links} - schemas: {module (schema3/schema4), total_pages, total_injected_schemas} - page_publisher: {module (app/agent1/agent2), total_pages_updated, total_pages_title_updated, total_pages_h1_updated, total_pages_description_updated} — null if the account has no page publisher. WHEN TO USE: - "how much has BrightEdge deployed across <domain>?" - site-wide totals of injected internal links, schema markup, or page-copy updates - a rollup of autopilot activity for a whole domain (not a single URL) DO NOT USE: - to see what is deployed on ONE specific page → use get_site_agent_assets_for_page - to publish/update a page → use publish_site_agent_page_attributes [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_site_agent_page_changes

ChatGPT
Use this tool only when the user explicitly asks what BrightEdge autopilot has published or deployed to a page — injected internal links, schema markup, or page copy changes (title, H1, meta description). Detects what BrightEdge has published on a given page URL. Reports three categories of BrightEdge-published content: - related_links: internal links injected on the page - schemas: structured data / schema markup types injected (e.g. Product, FAQ) - page_info: page element updates (title, H1, meta description) WHEN TO USE: - "what has BrightEdge published on this page?" - determine whether BrightEdge has published changes to a URL - verify added schema.org structured data - check for title tag, H1, or meta description updates - identify related / internal / "more like this" links added by BrightEdge - audit BrightEdge-published changes on a specific page DO NOT USE: - checking schema markup from crawl data → use get_page_schema - AI bot/crawler traffic, page visits, or HTTP status by bot → use get_ai_agent_page_visit_* tools KEY PARAMETERS: url — full page URL including protocol (e.g. 'https://www.example.com/page') [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_site_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns site-wide aggregate engagement analytics for a domain. WHEN TO USE: - user asks for overall site traffic, total visits, or site-level engagement summary - user wants a high-level overview of site performance (sessions, bounce rate, etc.) - user asks how the site is performing overall across all pages DO NOT USE: - page-by-page breakdown → use get_page_analytics - page group breakdown → use get_page_group_analytics - Google Search Console impressions/clicks → use get_google_search_console_overview_summary - keyword tracking data → use get_tracked_keywords_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_site_analytics

ChatGPT
Use this tool only when the user explicitly asks for engagement analytics, page analytics, site analytics, or page group analytics data. Returns site-wide aggregate engagement analytics for a domain. WHEN TO USE: - user asks for overall site traffic, total visits, or site-level engagement summary - user wants a high-level overview of site performance (sessions, bounce rate, etc.) - user asks how the site is performing overall across all pages DO NOT USE: - page-by-page breakdown → use get_page_analytics - page group breakdown → use get_page_group_analytics - Google Search Console impressions/clicks → use get_google_search_console_overview_summary - keyword tracking data → use get_tracked_keywords_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_domains

ChatGPT
Use this tool only if the user explicitly requests for 'tracked domain'. Domain-level ranking comparison for BrightEdge-tracked domains — avg rank, page-1/2/3 keyword counts, and in/out movement. Only covers domains explicitly tracked in the user's BrightEdge account. WHEN TO USE: - "how do my tracked domains compare on avg rank or page-1 keyword counts?" - rank-centric KPIs per domain (avg rank, page-1/2/3 counts, in/out movements) - social signals (likes/shares) per tracked domain → set social_signals='facebook_likes_shares' DO NOT USE: - any domain NOT in the BrightEdge tracked list → use get_competitor_keyword_summary - keyword overlap, gap analysis, or coverage percentages → use get_competitor_keyword_summary - SOV / market share → use SOV tools - per-keyword data → use get_tracked_keywords - aggregate KPI across all tracked keywords → use get_tracked_keywords_summary - GSC click/impression data → use GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_domains

ChatGPT
Use only when the user explicitly asks about tracked domains. Do not use for general domains. Domain-level ranking comparison for BrightEdge-tracked domains — avg rank, page-1/2/3 keyword counts, and in/out movement. Only covers domains explicitly tracked in the user's BrightEdge account. WHEN TO USE: - "how do my tracked domains compare on avg rank or page-1 keyword counts?" - rank-centric KPIs per domain (avg rank, page-1/2/3 counts, in/out movements) - social signals (likes/shares) per tracked domain → set social_signals='facebook_likes_shares' DO NOT USE: - any domain NOT in the BrightEdge tracked list → use get_competitor_keyword_summary - keyword overlap, gap analysis, or coverage percentages → use get_competitor_keyword_summary - SOV / market share → use SOV tools - per-keyword data → use get_tracked_keywords - aggregate KPI across all tracked keywords → use get_tracked_keywords_summary - GSC click/impression data → use GSC tools [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_blended_rank

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) Returns row-level ranking data for keywords explicitly added to the user's BrightEdge tracked keyword list. Requires the domain to be actively tracked in the BrightEdge account. Returns: One row per keyword showing current and previous blended rank, rank change, ranking URL, and search volume. Key fields: keyword, search_volume, blended_rank, blended_rank_diff, page_num, page_url Note: Domain is auto-resolved from the authenticated account. Read-only. Use when: - User explicitly mentions "my tracked keywords", "my BrightEdge keywords", or "my keyword list" - User wants to browse, filter, or drill into their BrightEdge tracked keyword set - User wants rank movements (gains, losses, page 1 movers, dropped from page 1) within their tracked list - User wants keyword group rollups or group-level rank data from their tracked groups - Default choice for any tracked-keyword rank query — prefer this over classic rank unless the user explicitly says "classic rank" or "organic rank" Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - Domain is not confirmed as tracked in BrightEdge — this tool requires active tracking and will return empty results otherwise - User wants keywords beyond their tracked list — use DCX get_keywords* tools (full DCX universe) - User explicitly requests "classic rank" or "organic rank" — use get_tracked_keyword_classic_rank instead - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. - This is the DEFAULT rank tool for tracked keywords. Use classic rank only when the user explicitly asks for it. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_brightedge_volume

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) Returns row-level search volume data for keywords explicitly added to the user's BrightEdge tracked keyword list, alongside blended ranking signals. Requires the domain to be actively tracked in the BrightEdge account. Returns: One row per keyword showing search volume, current and previous blended rank, rank change, and ranking URL. Key fields: keyword, search_volume, blended_rank, blended_rank_diff, page_num, page_url Note: Domain is auto-resolved from the authenticated account. Read-only. Use when: - User explicitly mentions "my tracked keywords" and wants search volume data for their tracked list - User wants to sort, filter, or analyze their tracked keywords by search volume - User wants volume alongside blended rank for their BrightEdge tracked keyword set Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - Domain is not confirmed as tracked in BrightEdge — this tool requires active tracking and will return empty results otherwise - User wants keywords beyond their tracked list — use DCX get_keywords* tools (full DCX universe) - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_classic_rank

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) Returns row-level classic ranking data for keywords explicitly added to the user's BrightEdge tracked keyword list. Requires the domain to be actively tracked in the BrightEdge account. Returns: One row per keyword showing current and previous classic rank, rank change, ranking URL, and search volume. Key fields: keyword, search_volume, rank, rank_diff, page_num, page_url Note: Domain is auto-resolved from the authenticated account. Read-only. Use when: - User explicitly mentions "my tracked keywords" AND explicitly says "classic rank" or "organic rank" - User wants to browse, filter, or drill into their BrightEdge tracked keyword set specifically by classic (organic-only) rank - User wants classic rank movements within their tracked list and the word "classic" or "organic" appears in the query - User wants keyword group rollups or group-level classic rank data from their tracked groups Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - User does not explicitly say "classic rank" or "organic rank" — use get_tracked_keyword_blended_rank instead (blended is the default) - Domain is not confirmed as tracked in BrightEdge — this tool requires active tracking and will return empty results otherwise - User wants keywords beyond their tracked list — use DCX get_keywords* tools (full DCX universe) - User wants blended rank data — use get_tracked_keyword_blended_rank instead - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. - Do NOT use this tool unless the user explicitly says "classic rank" or "organic rank". For all generic rank queries, use get_tracked_keyword_blended_rank. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_competitive_comparison_details

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) Returns row-level ranking data for keywords explicitly added to the user's BrightEdge tracked keyword list, sorted by search volume for competitive comparison. Requires the domain to be actively tracked in the BrightEdge account. Returns: One row per keyword showing search volume alongside blended rank, rank change, and ranking URL. Key fields: keyword, search_volume (ordered descending) Note: Domain is auto-resolved from the authenticated account. Read-only. Use when: - User explicitly mentions "my tracked keywords", "my BrightEdge keywords", or "my keyword list" and wants to compare competitive keyword performance - User wants to see their tracked keywords ranked by search volume for competitive prioritization - User wants to identify high-volume tracked keywords and their current ranking position Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - Domain is not confirmed as tracked in BrightEdge — this tool requires active tracking and will return empty results otherwise - User wants keywords beyond their tracked list — use DCX get_keywords* tools (full DCX universe) - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_estimation

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Estimated traffic or revenue per tracked keyword or keyword group from BrightEdge Keyword Reporting v3. Values are BrightEdge-modelled estimates (rank × volume CTR curve), NOT actual Google clicks. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "which tracked keywords have the highest estimated traffic?" (per-keyword rows) - estimated revenue per keyword or keyword group - ranking tracked keywords by modelled traffic or revenue DO NOT USE: - actual click/impression data → use get_google_search_console_keyword_performance - aggregate estimation total (single KPI row) → use get_tracked_keyword_estimation_summary - untracked keywords from the DataCube universe → use get_keywords_for_domain_or_url KEY PARAMETERS: metric (required) — 'traffic': estimated visits; 'revenue': estimated revenue. is_group — False: one row per keyword; True: one row per keyword group. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_estimation

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Estimated traffic or revenue per tracked keyword or keyword group from BrightEdge Keyword Reporting v3. Values are BrightEdge-modelled estimates (rank × volume CTR curve), NOT actual Google clicks. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "which tracked keywords have the highest estimated traffic?" (per-keyword rows) - estimated revenue per keyword or keyword group - ranking tracked keywords by modelled traffic or revenue DO NOT USE: - actual click/impression data → use get_google_search_console_keyword_performance - aggregate estimation total (single KPI row) → use get_tracked_keyword_estimation_summary - untracked keywords from the DataCube universe → use get_keywords_for_domain_or_url KEY PARAMETERS: metric (required) — 'traffic': estimated visits; 'revenue': estimated revenue. is_group — False: one row per keyword; True: one row per keyword group. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_estimation_summary

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Aggregate estimated traffic or revenue KPI total across all tracked keywords — single row, no per-keyword breakdown. Values are BrightEdge-modelled estimates (rank × volume CTR curve), NOT actual Google clicks. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "what is my total estimated traffic for all tracked keywords?" - aggregate estimated revenue KPI card - summary estimation metrics, not per-keyword rows DO NOT USE: - per-keyword/group estimation rows → use get_tracked_keyword_estimation - actual GSC clicks/impressions → use get_google_search_console_overview_summary - standard ranking KPIs → use get_tracked_keywords_summary KEY PARAMETERS: metric (required) — 'traffic': estimated visits; 'revenue': estimated revenue. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_estimation_summary

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Aggregate estimated traffic or revenue KPI total across all tracked keywords — single row, no per-keyword breakdown. Values are BrightEdge-modelled estimates (rank × volume CTR curve), NOT actual Google clicks. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "what is my total estimated traffic for all tracked keywords?" - aggregate estimated revenue KPI card - summary estimation metrics, not per-keyword rows DO NOT USE: - per-keyword/group estimation rows → use get_tracked_keyword_estimation - actual GSC clicks/impressions → use get_google_search_console_overview_summary - standard ranking KPIs → use get_tracked_keywords_summary KEY PARAMETERS: metric (required) — 'traffic': estimated visits; 'revenue': estimated revenue. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_groups_for_keyword

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Returns which keyword groups contain a specific tracked keyword, with group metadata (keyword count, search engine counts). Requires keyword_id or keyword text. No ranking data returned. WHEN TO USE: - "which keyword groups does [keyword] belong to?" - viewing group membership details for a tracked keyword DO NOT USE: - listing all keyword groups without a specific keyword → use get_tracked_keywords with is_group=True - rank or performance data for the keyword → use get_single_tracked_keyword_summary or get_tracked_keywords KEY PARAMETERS: keyword_id or keyword — one must be provided. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_groups_for_keyword

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Returns which keyword groups contain a specific tracked keyword, with group metadata (keyword count, search engine counts). Requires keyword_id or keyword text. No ranking data returned. WHEN TO USE: - "which keyword groups does [keyword] belong to?" - viewing group membership details for a tracked keyword DO NOT USE: - listing all keyword groups without a specific keyword → use get_tracked_keywords with is_group=True - rank or performance data for the keyword → use get_single_tracked_keyword_summary or get_tracked_keywords KEY PARAMETERS: keyword_id or keyword — one must be provided. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_history

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Historical rank time-series for a single tracked keyword from BrightEdge Keyword Reporting v3. Returns one row per time period. Requires keyword_id or keyword text. WHEN TO USE: - "how has [keyword] ranked over time?" - week-by-week or month-by-month rank trend for one specific tracked keyword DO NOT USE: - current-period rank snapshot across search engines → use get_single_tracked_keyword_summary - rank movement across many keywords → use get_tracked_keywords - rank movement for untracked keywords → use get_keywords_for_domain_or_url KEY PARAMETERS: keyword_id or keyword — one must be provided. previous_period / current_period — set the history window. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_history

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Historical rank time-series for a single tracked keyword from BrightEdge Keyword Reporting v3. Returns one row per time period. Requires keyword_id or keyword text. WHEN TO USE: - "how has [keyword] ranked over time?" - week-by-week or month-by-month rank trend for one specific tracked keyword DO NOT USE: - current-period rank snapshot across search engines → use get_single_tracked_keyword_summary - rank movement across many keywords → use get_tracked_keywords - rank movement for untracked keywords → use get_keywords_for_domain_or_url KEY PARAMETERS: keyword_id or keyword — one must be provided. previous_period / current_period — set the history window. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. SERP feature presence per tracked keyword or keyword group from BrightEdge Keyword Reporting v3. Only covers keywords in the user's BrightEdge tracked list. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "which of my tracked keywords appear in AI Overviews?" (per-keyword rows) - per-keyword SERP feature breakdown for the tracked keyword list - group-level SERP feature coverage or market share for tracked groups DO NOT USE: - SERP feature analysis for any keyword on the web → use get_domain_or_url_serp_features - aggregate SERP feature count KPI (single total) → use get_tracked_keyword_serp_summary - GSC click/impression data → use GSC tools KEY PARAMETERS: serp_feature (required) — one of: 'all', 'images', 'videos', 'places', 'carousel', 'news', 'blogs', 'knowledge', 'cafe', 'local_3pack', 'quick_answers', 'apps', 'others', 'top_stories', 'google_jobs', 'people_also_ask', 'knowledge_panel', 'tweets', 'recipes', 'product_shopping_ads', 'text_ads', 'products', 'ai_overviews'. domain_presence_only — True: filters to keywords where the tracked domain itself appears in the feature. is_group — False: one row per keyword; True: one row per group. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. SERP feature presence per tracked keyword or keyword group from BrightEdge Keyword Reporting v3. Only covers keywords in the user's BrightEdge tracked list. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "which of my tracked keywords appear in AI Overviews?" (per-keyword rows) - per-keyword SERP feature breakdown for the tracked keyword list - group-level SERP feature coverage or market share for tracked groups DO NOT USE: - SERP feature analysis for any keyword on the web → use get_domain_or_url_serp_features - aggregate SERP feature count KPI (single total) → use get_tracked_keyword_serp_summary - GSC click/impression data → use GSC tools KEY PARAMETERS: serp_feature (required) — one of: 'all', 'images', 'videos', 'places', 'carousel', 'news', 'blogs', 'knowledge', 'cafe', 'local_3pack', 'quick_answers', 'apps', 'others', 'top_stories', 'google_jobs', 'people_also_ask', 'knowledge_panel', 'tweets', 'recipes', 'product_shopping_ads', 'text_ads', 'products', 'ai_overviews'. domain_presence_only — True: filters to keywords where the tracked domain itself appears in the feature. is_group — False: one row per keyword; True: one row per group. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp_features

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) — tracked keywords only (BrightEdge-managed list). Returns an aggregate count of tracked keywords with presence in each SERP feature category (Google AI Overview, Images, People Also Ask, Videos, etc.) for the selected period. Returns: One row with columns — Period, Keywords with SERP Presence, Keywords with Google AI Overview, Keywords with Images, Keywords with People Also Ask, Keywords with Videos, and % change for each. Key fields: universal_all_space_p1_space, universal_aioverview_self_p1_self, universal_image_self_p1_self, universal_paa_self_p1_self, universal_video_self_p1_self, and their _diff_percent counterparts. Note: Domain and search engine are auto-resolved from the authenticated account. Read-only. Use when: - User asks about SERP feature presence or breakdown for their tracked keywords - User asks about AI Overview, Featured Snippets, PAA, Images, or Videos presence count - User wants a breakdown of which SERP categories their tracked keywords appear in - User wants to compare SERP feature presence period-over-period for tracked keywords Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - User wants per-keyword SERP feature rows (not aggregate) — use `get_tracked_keyword_serp_features_details - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools - User wants standard ranking KPIs (avg rank, page counts) — use get_tracked_keyword_blended_rank or get_tracked_keyword_classic_rank - User wants SERP features for the broad web keyword universe (not tracked list) — use get_keyword_serp_features` Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp_features_details

ChatGPT
Only use this tool if the user explicitly requests tracked keyword ranking. DATA SOURCE: BrightEdge Keyword Reporting (KR) — tracked keywords only (BrightEdge-managed list). Returns a per-keyword list of tracked keywords that have presence in the specified SERP feature, along with their blended rank, ranking URL, and search volume. Returns: One row per keyword — Keyword, Blended Rank (latest period), Page URL, Search Volume, SERP Feature. Key fields: keyword, blended_rank, page_url, search_volume, category. Note: Domain and search engine are auto-resolved from the authenticated account. Read-only. serp_feature (required) — one of: 'all', 'images', 'videos', 'places', 'carousel', 'news', 'blogs', 'knowledge', 'cafe', 'local_3pack', 'quick_answers', 'apps', 'others', 'top_stories', 'google_jobs', 'people_also_ask', 'knowledge_panel', 'tweets', 'recipes', 'product_shopping_ads', 'text_ads', 'products', 'ai_overviews'. Use when: - User asks for a list of keywords ranking in a specific SERP feature (e.g. People Also Ask, AI Overview) - User wants to see which tracked keywords appear in a particular category with their rank and page URL - User wants per-keyword SERP feature rows for their BrightEdge tracked list Do not use when: - User does not say "my tracked keywords" — default to DCX tools instead - User wants an aggregate count of keywords per SERP feature (not a list) — use `get_tracked_keyword_serp_features - User wants GSC click/impression/CTR data — use GSC tools - User wants SOV score or market share — use SOV tools - User wants standard ranking KPIs without SERP feature filter — use get_tracked_keyword_blended_rank - User wants SERP features for the broad web keyword universe (not tracked list) — use get_keyword_serp_features` Hard constraint: - The word "tracked" in the user's query is the primary signal to use this tool. Without it, default to DCX tools. - This tool strictly covers the BrightEdge tracked keyword list — never the broader DCX keyword universe. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp_summary

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Aggregate all SERP feature presence counts across all tracked keywords — single KPI row covering every tracked feature. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "how many of my tracked keywords appear in AI Overviews?" - aggregate featured snippet or PAA count for tracked keywords - SERP feature presence KPI card total DO NOT USE: - per-keyword SERP feature rows → use get_tracked_keyword_serp - SERP feature analysis for the broad web → use get_domain_or_url_serp_features - standard ranking KPIs (avg rank, page-1 counts) → use get_tracked_keywords_summary - GSC clicks/impressions → use get_google_search_console_overview_summary - estimated traffic/revenue KPIs → use get_tracked_keyword_estimation_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keyword_serp_summary

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Aggregate all SERP feature presence counts across all tracked keywords — single KPI row covering every tracked feature. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "how many of my tracked keywords appear in AI Overviews?" - aggregate featured snippet or PAA count for tracked keywords - SERP feature presence KPI card total DO NOT USE: - per-keyword SERP feature rows → use get_tracked_keyword_serp - SERP feature analysis for the broad web → use get_domain_or_url_serp_features - standard ranking KPIs (avg rank, page-1 counts) → use get_tracked_keywords_summary - GSC clicks/impressions → use get_google_search_console_overview_summary - estimated traffic/revenue KPIs → use get_tracked_keyword_estimation_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keywords

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Returns ranking data for tracked keywords from the BrightEdge Keyword Reporting v3 list. Use get_keywords_for_domain_or_url for domains without a tracked list. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "show me my tracked keywords" or "which tracked keywords moved to page 1" - browsing or filtering the full tracked keyword list - group rank averages or page-1/2/3 coverage across tracked keyword groups DO NOT USE: - keywords NOT in the BrightEdge tracked list → use get_keywords_for_domain_or_url - rank position gains/losses on a specific URL or page section → use get_keywords_for_domain_or_url with keyword_change_metric="rank" - one specific named keyword's rank across search engines → use get_single_tracked_keyword_summary - click/impression/CTR data → use GSC tools - SOV score or market share → use SOV tools KEY PARAMETERS: is_group — False: one row per keyword; True: one row per keyword group with aggregated rank metrics. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keywords

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Returns ranking data for tracked keywords from the BrightEdge Keyword Reporting v3 list. Use get_keywords_for_domain_or_url for domains without a tracked list. Set is_group=False (default) for keyword-level rows; is_group=True for group-level rollups. WHEN TO USE: - "show me my tracked keywords" or "which tracked keywords moved to page 1" - browsing or filtering the full tracked keyword list - group rank averages or page-1/2/3 coverage across tracked keyword groups DO NOT USE: - keywords NOT in the BrightEdge tracked list → use get_keywords_for_domain_or_url - rank position gains/losses on a specific URL or page section → use get_keywords_for_domain_or_url with keyword_change_metric="rank" - one specific named keyword's rank across search engines → use get_single_tracked_keyword_summary - click/impression/CTR data → use GSC tools - SOV score or market share → use SOV tools KEY PARAMETERS: is_group — False: one row per keyword; True: one row per keyword group with aggregated rank metrics. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keywords_summary

ChatGPT
Use this tool only if the user explicitly requests for 'tracked keyword' not 'keyword'. Aggregate ranking KPI summary for all tracked keywords — avg rank, page-1/2/3 counts, movement in/out. Returns a single row; no pagination or sorting. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "what is my average rank across all tracked keywords?" - "how many tracked keywords are on page 1?" - overall rank health or KPI snapshot DO NOT USE: - per-keyword ranking rows → use get_tracked_keywords - GSC clicks/impressions → use get_google_search_console_overview_summary - SERP feature KPIs → use get_tracked_keyword_serp_summary - estimated traffic/revenue KPIs → use get_tracked_keyword_estimation_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

get_tracked_keywords_summary

ChatGPT
Use only when the user explicitly asks about tracked keywords. Do not use for general keywords or keyword research. Aggregate ranking KPI summary for all tracked keywords — avg rank, page-1/2/3 counts, movement in/out. Returns a single row; no pagination or sorting. Only covers keywords in the user's BrightEdge tracked list. WHEN TO USE: - "what is my average rank across all tracked keywords?" - "how many tracked keywords are on page 1?" - overall rank health or KPI snapshot DO NOT USE: - per-keyword ranking rows → use get_tracked_keywords - GSC clicks/impressions → use get_google_search_console_overview_summary - SERP feature KPIs → use get_tracked_keyword_serp_summary - estimated traffic/revenue KPIs → use get_tracked_keyword_estimation_summary [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

publish_site_agent_page_attributes

ChatGPT
This is a WRITE tool that publishes page element changes (title, meta description, H1) live to a page via BrightEdge. Use it whenever the user asks to publish/update/deploy/change one of these attributes for a specific URL. This tool requires user confirmation: call it with confirmed=false first (the default) and it returns a Yes/No confirmation request that makes NO change - relay the options to the user, wait, and only re-call with confirmed=true (same other arguments) once they choose Yes. Never set confirmed=true on your own. The BrightEdge account is resolved automatically from the logged-in user's session and the page URL's domain, so never ask which account or domain to use. There is no draft or preview mode: this always publishes live once confirmed. The only reason to ask a follow-up before the confirmation step is when the user has not given you the new value to set (title, meta description, or H1). Publishes page element changes (title, meta description, and/or H1) live to a page via BrightEdge. Provide at least one of title, meta_description, or h1 — only the attributes you pass are changed; the rest are left as-is. WHEN TO USE: - "publish this title/meta description/H1 to <url>" - "update the page title for <url> to '...'" → call this tool right away - deploy a new meta description or H1 that the user has decided on DO NOT USE: - to read what is currently published → use get_site_agent_assets_for_page - to generate or recommend new page element value → this tool only publishes values you already have KEY PARAMETERS: url — full page URL including protocol (e.g. 'https://www.example.com/page') title / meta_description / h1 — the new value(s) to publish (pass at least one) current_h1 — only when publishing h1 on a CMS (WordPress/Drupal) page (find-text to replace) confirmed — leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. CONFIRMATION: this tool asks the user to confirm before it publishes. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and no change is made. Follow its additional_display_information: present the options, wait, and only on Yes re-call with confirmed=true. Do not set confirmed=true yourself without the user's Yes. NOTE: publishing can be refused for several reasons (e.g. the account's 'MCP Write' feature bit is off, or the page fails an eligibility/status check). When it is, this returns a message with success=false — relay that message to the user verbatim and do NOT imply the publish succeeded. These checks are enforced automatically; you do not verify them yourself. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

remove_ai_tracked_prompts

ChatGPT
Use this tool only if the user explicitly requests for 'tracked' in their query. Use AI Brand Presence also know as AI Catalyst (AIB) tools for brand mention and citation data across AI engines (ChatGPT, Perplexity, Google AIO, Google AI Mode). Searches tracked prompts or permanently deletes tracked prompts. Modes: - Search Mode (prompts) → Read-only. Returns matching tracked prompts with prompt_id and full prompt text. No confirmation required. - Delete Mode (prompt_ids) → Permanently removes tracked prompts and all associated history. Requires confirmation. Use when: - The user wants to stop tracking a prompt but doesn't know the prompt_id → search first, show matches, then delete using the selected prompt_id(s). - The exact prompt_id(s) are already known → delete directly. Do not use when: - Listing tracked prompts or viewing performance → use get_ai_tracked_prompts. - Adding new tracked prompts → use add_ai_tracked_prompts. Important: - Never delete by prompt text alone. Deletion always requires prompt_id(s). - A search may return multiple matching prompts, so let the user choose which prompt_id(s) to remove. Confirmation (Delete Mode): - Requires explicit user confirmation. - Do not set confirmed=true without the user's Yes. - Follow any additional_display_information returned by the tool. Permissions: - Delete requests may be rejected if write access is unavailable or the user has a read-only role. - Relay any tool error exactly as returned and do not imply the deletion succeeded. - Search mode is always allowed. [IMPORTANT] ALWAYS WARN USERS: If the response contains an actions array, always inform the user using the label value and follow the action instruction.

remove_keyword_group_or_keyword_from_group

ChatGPT
This tool manages BrightEdge keyword groups, keywords, and preferred landing pages (PLPs). It can create, delete, and list keyword groups and keywords, as well as read, set, or clear a keyword's preferred landing page URL. For PLP-related questions such as 'preferred landing page', 'landing page', or 'which URL is this keyword pointing to', use get_keywords_settings with is_plp=true to read the PLP and add_or_remove_plp_for_keywords to set or clear it. This tool does not provide keyword group performance or ranking reports; use get_keyword_group_summary or get_keyword_group_ranking_factor instead. Permanently deletes one or more keyword groups — OR removes specific keywords from a single group's membership. keyword_ids_or_keywords determines which: - omitted → FULL DELETE mode: every group in group_ids_or_names is deleted entirely, along with the keywords tracked inside them. This cannot be undone. - given → MEMBERSHIP-ONLY mode: group_ids_or_names must resolve to exactly one group; the given keywords are detached from that one group, which itself is never deleted. What happens to each keyword depends on whether it belongs to any OTHER group too (see IMPORTANT below). IMPORTANT — a detached keyword is not always "still tracked": the backend only keeps a keyword around if it still belongs to at least one other group. This is a WRITE tool. group_ids_or_names is required — pass the group's numeric ID or its exact name. For MEMBERSHIP-ONLY mode, keyword_ids_or_keywords similarly accepts either numeric IDs or exact keyword text. Both are resolved to their matching IDs internally; never guess a numeric ID yourself. FULL DELETE mode is irreversible, so be certain which mode applies before calling — when in doubt about whether the user wants the whole group gone versus just some keywords detached, ask. WHEN TO USE: - "delete keyword group '...'" / "remove these keyword groups: ..." → FULL DELETE mode, no keyword_ids_or_keywords - "remove these keywords from my '...' keyword group" / "take these keywords out of the group" → MEMBERSHIP-ONLY mode, pass keyword_ids_or_keywords + the single group in group_ids_or_names — see IMPORTANT above before telling the user what happens to them DO NOT USE: - to read/list existing keyword groups → use get_keyword_group_settings - to create a keyword group, or add keywords to one → use add_keyword_group_or_keyword_to_group KEY PARAMETERS: group_ids_or_names — one or more groups (by ID or exact name) for FULL DELETE mode; exactly one group for MEMBERSHIP-ONLY mode. keyword_ids_or_keywords — omit for FULL DELETE mode; the keywords to detach (by ID or exact text) for MEMBERSHIP-ONLY mode. confirmed — leave false on your first call; the tool returns a Yes/No confirmation to show the user. Only re-call with confirmed=true (same other args) after the user chooses Yes. CONFIRMATION: this tool asks the user to confirm before it removes/deletes anything. Your first call returns a confirmation request (status NEEDS_ADDITIONAL_TOOL_CALL) with Yes/No options and no change is made — the confirmation spells out FULL DELETE vs MEMBERSHIP-ONLY so the user sees exactly what will happen. Follow its additional_display_information: present the options, wait, and only on Yes re-call with confirmed=true. Do not set confirmed=true yourself without the user's Yes. (This is in addition to your own judgement about which mode applies.) NOTE: this can be refused when the account's 'MCP Write' feature bit is off. When it is, this returns a message with an ERROR status — relay that message to the user verbatim and do NOT imply the write succeeded. This check is enforced automatically; you do not verify it yourself.

update_ai_tracked_prompt

ChatGPT
Searches tracked prompts or updates an existing tracked prompt's text, intents, and/or topics (free-text labels on that one prompt). Modes: - Search Mode (search_prompt) → Read-only. Returns matching tracked prompt(s) with prompt_id and their current prompt text, intents, and topics. No confirmation required. - Update Mode (prompt_id) → Updates the given tracked prompt. Requires confirmation. Use when: - The user wants to change a tracked prompt's wording, intent label(s), or topic label(s). - The exact prompt_id is already known → update directly. - The exact prompt_id is not known → search first, show matches, then update using the selected prompt_id. Do not use when: - Listing tracked prompts or viewing performance → use get_ai_tracked_prompts. - Adding new tracked prompts → use add_ai_tracked_prompts. - Removing tracked prompts → use remove_ai_tracked_prompts. - Changing a prompt's country coverage → not supported. Country cannot be edited for an existing tracked prompt. - Renaming/redescribing a prompt group (bucket) itself, or changing its AI engines → use update_ai_tracked_prompt_group. new_topics here is a different concept — free-text labels on this one prompt, not the prompt group entity. Important: - Never update by prompt text alone. Updating always requires prompt_id. - new_intents and new_topics are each the full desired value, not a delta — omit either to leave that field unchanged; pass [] to clear it. - At least one of new_prompt, new_intents, new_topics must be set in Update Mode. - Before updating, the account's prompt usage limit is checked. If this update would exceed the account's configured limit, the tool returns an error instead of updating — tell the user to ask BrightEdge to increase the account's prompt usage limit, or remove some existing tracked prompts, then retry. Confirmation (Update Mode): - Requires explicit user confirmation. - Do not set confirmed=true without the user's Yes. - Follow any additional_display_information returned by the tool. Permissions: - Update requests may be rejected if write access is unavailable or the user has a read-only role. - Relay any tool error exactly as returned and do not imply the update succeeded. - Search mode is always allowed.

update_ai_tracked_prompt_group

ChatGPT
Updates an existing AI Brand Presence prompt group. Use when: - Renaming a prompt group. - Updating its description. - Changing which AI engines (e.g., ChatGPT, Google AIO) evaluate prompts in the group. Do not use when: - Creating or deleting prompt groups → use add_or_delete_ai_tracked_prompt_groups. - Adding or removing prompts → use add_ai_tracked_prompts or remove_ai_tracked_prompts. - Viewing prompt group performance or details → use get_ai_tracked_prompt_groups. Discover / Search: - prompt_group_id defaults to -1 (discover mode) — omit it to list every configured prompt group for this account (plain read). - search_prompt_group_name → looks up prompt groups by (partial) name instead of listing everything (plain read), e.g. 'gift card management'. Just set this and leave prompt_group_id omitted (its -1 default) — search takes priority. - Both skip the update entirely; no confirmation or MCP-Write check applies. Never guess a prompt_group_id — resolve it via one of these first. - engines=[-1] → discover mode for AI engines: returns this account's actually enabled AI engines (read-only) instead of performing the update. Independent of the prompt_group_id / search_prompt_group_name discover checks above — either can be used alone. Validation: - prompt_group_id is checked against this account's actual configured prompt groups before the update is sent, so an unknown or mistyped id returns a clear error instead of an opaque upstream failure. Confirmation: - This is a write operation and requires explicit user confirmation. - Do not set confirmed=true without the user's Yes. - Follow any additional_display_information returned by the tool. Permissions: - The operation may be rejected if write access is unavailable or the user has a read-only role. - Relay tool errors exactly as returned and do not imply the update succeeded.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

157

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily