MCP App Store
by KeenEthics
Business & Operations
AEO/GEO by VibeSEO icon

AEO/GEO by VibeSEO

by Sultan Kadyrkesh

Overview

AEO/GEO by VibeSEO tracks brand visibility in AI search. Monitor answer engine optimization (AEO) and generative engine optimization (GEO) performance across ChatGPT, Gemini, Google AI Mode and Google AI Overviews. See which brands AI answers mention, compare competitors by visibility, share of voice and mention position, and inspect the websites and pages cited as sources. Find independent pages that mention competitors but not your brand, review brand sentiment and supporting evidence, and check AI crawler accessibility. Run fresh checks for tracked questions, read collected answers, manage topics and competitors, and control daily monitoring within your VibeSEO projects. Requires a VibeSEO account with access to the requested features.

Tools

geo_add_prompts

ChatGPT
Add 1-50 tracked questions (1-2000 characters each) to a topic. Questions already tracked in the topic are skipped, so only the newly created ones are returned. If daily monitoring is enabled the project's daily check usage grows; pass confirmed=true to acknowledge that, otherwise the call is refused.

geo_archive_prompt

ChatGPT
Archive one tracked question. It leaves the daily monitor, and its checks not yet submitted are cancelled and refunded (submitted ones still finish); its collected answers are kept but no longer count in current reports.

geo_archive_topic

ChatGPT
Archive a topic and every question in it. Archived questions leave the daily monitor, and their checks not yet submitted are cancelled and refunded (submitted ones still finish); collected answers are kept but no longer count in current reports. An archived topic reads as not found afterwards.

geo_create_topic

ChatGPT
Create a topic: a name (1-200 characters) plus the market its questions are asked in, as a location code and language code from geo_list_markets. The market is validated against ChatGPT's catalogue; other engines are checked when a check starts. Every call creates a new topic; use geo_update_topic to change one.

geo_edit_prompt

ChatGPT
Change the wording of a tracked question (1-2000 characters). Creates a new revision; earlier answers stay attached to the earlier wording and no longer count in current reports (read them with geo_get_prompt_analytics and revision). Refused when the new text duplicates another active question in the topic.

geo_get_accessibility_audit

ChatGPT
The latest audit of how AI crawlers (OpenAI, Perplexity, Anthropic, Google) can reach the project's site: a 0-100 score (null when no page could be checked), the checks (robots rules, HTTP access, indexability, readable text, sitemap, links, canonical, structured data, and the optional llms.txt and markdown checks) with evidence and a fix for each, the run in progress if any, and when a new run may start (nextRunAt).

geo_get_answer

ChatGPT
One collected AI answer in full: the markdown text, the sources it cited, every brand in order of first appearance, the mentions of tracked brands, and the brand-perception findings when available.

geo_get_brand_analytics

ChatGPT
The own brand against every tracked competitor for a window: mentions, visibility, share of voice, position, per-engine breakdown, and the change versus the previous window: delta (visibility) and shareOfVoiceDelta in percentage points, positionDelta in positions (negative means the brand appears earlier).

geo_get_brands

ChatGPT
Read the project's own brand and the competitors tracked in AI answers (up to 20), with the extra names each brand is recognised by.

geo_get_check_status

ChatGPT
Progress of a check batch started with geo_start_check: how many runs are pending, succeeded and failed, the runs still collecting (question, engine and state: queued, submitting or waiting) and, once nothing is pending and analytics is enabled, the collection summary (answers collected, own mentions, competitor mentions, top sources). A summary status of updating means indexing is still finishing; poll again shortly.

geo_get_overview

ChatGPT
The project's AI visibility for a window: answers collected, per-brand visibility (share of measured answers mentioning the brand), share of voice, average first-appearance position, per-engine metrics, topic visibility, and the most cited source sites and pages. Visibility, share of voice and position carry their state: derived (with the sample size), nodata, or unavailable with a reason. A status of updating means recently collected answers are still being indexed - retry shortly.

geo_get_perception

ChatGPT
How AI answers characterise the own brand in a window: the tone distribution, and the recurring associations (kind association) and objections (kind objection) with a quote, how many answers and questions each appears in, and how recently.

geo_get_perception_finding

ChatGPT
The evidence behind one perception finding from geo_get_perception: each answer that carries it, with the question, engine, quote, cited sources and the competitors named alongside.

geo_get_prompt_analytics

ChatGPT
Per-question visibility for a window: answers collected, own-brand visibility, share of voice, position, and which brands were mentioned, paged. Pass promptId for one question, which also returns its version history; add revision (with promptId) to read an earlier wording.

geo_get_source_page_analysis

ChatGPT
What VibeSEO found on one cited page: whether the own brand is present, whether it is a gap, and the tracked brands it mentions with an excerpt each. state is ready, pending (not analysed yet), stale, unavailable or disabled.

geo_get_source_pages

ChatGPT
The individual pages AI answers cited in a window, with each page's ownership, gap status and the brands it was found to mention. Each row's urlKey feeds geo_get_source_page_analysis. A status of updating means recently collected answers are still being indexed and the rows are empty - retry shortly.

geo_get_sources

ChatGPT
The web sites AI answers cited in a window, ranked by how many answers cite them, with page, question and gap-page counts. A gap page is an independent page that mentions competitors but not the own brand; gapOnly narrows to sites with gap pages, ranked by gap answers. A status of updating means recently collected answers are still being indexed and the rows are empty - retry shortly.

geo_list_answers

ChatGPT
Collected AI answers, newest first, as rows with a 240-character preview, which tracked brands were mentioned, and the own brand's position. Filter by question, topic, batch, engines, whether the own brand was named (named: yes, no or unknown), a text search or a date range. Pages through nextCursor. Read the full text of one answer with geo_get_answer.

geo_list_markets

ChatGPT
List the countries (location_code) and languages (language_code) a topic can target, to pick values for geo_create_topic and geo_update_topic. Pass search to narrow the list. Countries come from a built-in list; languages come from DataForSEO and are cached for a day.

geo_list_prompts

ChatGPT
List the project's active tracked questions (prompts) with their topic and revision. activeRunState is set while a check for that question is still collecting.

geo_list_topics

ChatGPT
List the project's active topics. A topic groups tracked questions and fixes their market: a country (locationCode) and a language.

geo_preview_check

ChatGPT
Estimate a check before starting it: how many credits it needs (one per question per engine), what remains on the account, and whether it can run now (canRun with a reason when not). Nothing is charged or started.

geo_replace_competitors

ChatGPT
Replace the set of competitors tracked in AI answers (up to 20) and optionally the extra names the own brand is recognised by. Competitors absent from the new set stop being tracked. A competitor whose domain is already tracked keeps its identity, so re-sending the set geo_get_brands returned, with its extra names, changes nothing. Any change re-indexes collected answers in the background; reports read as updating for a short while.

geo_start_accessibility_audit

ChatGPT
Crawl up to 20 pages of the project's site as the AI crawlers would and produce a fresh accessibility audit. Asynchronous: returns the run; poll geo_get_accessibility_audit until the run completes (usually a few minutes). Requires completed GEO onboarding or at least one tracked question, and accepts only URLs on the project's own website. If a run is already in progress it is returned instead of starting another; a site checked within the last five minutes is refused, and geo_get_accessibility_audit reports when a new run may start (nextRunAt).

geo_start_check

ChatGPT
Collect fresh AI answers for the selected questions (1-50) on the selected engines. Asynchronous: returns a batch id at once; answers usually arrive within 1-10 minutes, and a run still unanswered two hours after submission fails with its credit refunded. Poll geo_get_check_status for progress, then read answers with geo_list_answers. Each question x engine costs one credit (trial accounts spend GEO trial checks instead). Rejected when a selected question already has a pending check on that engine. Run geo_preview_check first for the cost.

geo_update_monitoring

ChatGPT
Turn the daily monitor on or off and choose its engines. When on, every active question is checked on every chosen engine once a day through DataForSEO, starting about 24 hours after enabling and spending one credit per question per engine per day. Enabling requires at least one active question and confirmed=true to acknowledge the daily usage, and checks each engine's market. Returns the monitor's new state and schedule.

geo_update_topic

ChatGPT
Rename a topic or move it to another market. All three values are required and overwrite the current ones; later checks use the new market, and current reports count only answers collected in it.

get_geo_status

ChatGPT
Call this first for a project. Reports whether GEO is configured (needsSetup), whether checks can run for this account (canRun), the engines available, remaining checks, and the daily monitoring state. When needsSetup is true, GEO cannot be configured from chat: send the user to setupUrl to finish the web onboarding for that project. When canRun is false, tell the user that it is not available for this account right now.

list_projects

ChatGPT
List the calling user's VibeSEO projects with their id, name and website domain. Pass a project's id as projectId to the other tools.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

29

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily