MCP App Store
by KeenEthics

Overview

geoSurge is an AI search visibility analytics plugin for marketing teams, brand managers, and agencies. Use data collected in your geoSurge projects to measure how often your brand appears in AI answers, compare its share of voice with competitors, and analyze the domains and URLs cited by AI models. Explore visibility trends by model, location, topic, prompt, and reporting period, and review the search queries behind AI answers. You can also manage the brands, topics, and prompts your projects track, and manage organization membership when your account role permits it. Requires a geoSurge account with access to the relevant organization or project. Analytics are based on collected project data; coverage and availability depend on the project and date range.

Tools

create_brand

ChatGPT
Validates the brand name against the brand catalogue, creates or matches a canonical brand, and starts tracking it on the project. Garbage inputs (e.g. 'asdf') are rejected.

create_prompts

ChatGPT
Batch-creates one or more prompts under a topic. Each prompt tracks a search phrase across the given locations and models.

create_topic

ChatGPT
Creates a new topic in a project. Topics group related prompts.

delete_brand

ChatGPT
Stops tracking a brand on the project. Tracking stops and the brand and its history are hidden, but nothing is deleted — restore_brand brings it back with its past data.

get_brand_perception

ChatGPT
Returns a structured evidence bundle for qualitative analysis of how a tracked brand appears across AI answers on the project. Includes: brand aliases and domain, project description and all tracked competing brands, per-answer excerpts centred on the brand mention with full output and competitor co-mention flags, and summary stats (models, locations, prompt count). Call list_brands first to get a brand_id.

get_brand_report

ChatGPT
Exports the project's primary brand tracking metrics at the aggregation level you choose. Use dimensions with any subset of {date, model, prompt, topic, location} to get one row per group. Omit dimensions to get one aggregate row for the full date range. The brand is resolved automatically from the project's configured primary brand.

get_citation_source_types

ChatGPT
Returns the distribution of citations by page type (article, product, wiki, forum, etc.) across the reporting window, with absolute counts and percentages.

get_citation_summary

ChatGPT
Returns headline citation KPIs for the reporting window: number of unique URLs AI engines retrieved, share of answers that cited a source, citation density (citations per answer), and source-to-answer conversion rate, each with period-over-period deltas.

get_competitor_ranking

ChatGPT
Returns every competing brand observed on the project, each with a rank, visibility percentage, and average mention position (1 = mentioned first in the answer). Each brand includes display metadata.

get_domain_over_time

ChatGPT
Returns a daily time series of retrieval and citation counts for a single domain over the reporting window, suitable for a dual-line chart.

get_domain_report

ChatGPT
Returns the aggregated per-provider citation breakdown for a whole domain: totals across every URL on that domain, split by AI provider, with share percentages and mention counts.

get_mentions_over_time

ChatGPT
Returns a daily mentions time series for the selected brand, with one point per (date, model_provider). value is the mention count and total_responses is the response count for that provider/day.

get_owned_citations_by_prompt

ChatGPT
Returns per-prompt self-citation counts for the given brand: how many AI answers on each prompt/topic cited a URL on a domain owned by the brand. Requires brand_id.

get_owned_citations_by_prompt_and_location

ChatGPT
Returns self-citation counts for the given brand grouped by location and then by prompt: a nested map { location: { prompt_id: count } }. The per-location companion to get_owned_citations_by_prompt. Requires brand_id and a non-empty prompt_ids array.

get_performance_radar

ChatGPT
Returns six normalized performance metrics (visibility, share of voice, mentions, average position, frequency, and first-mention rate) for the selected brand aggregated across all AI models — or scoped to a single model when model is provided — shaped for a radar / spider chart. This is the rolled-up companion to get_performance_radar_by_model. Requires brand_id.

get_performance_radar_by_model

ChatGPT
Returns six normalized performance metrics (visibility, share of voice, mentions, average position, frequency, and first-mention rate) for the selected brand on each AI model, shaped for a radar / spider chart.

get_primary_brand

ChatGPT
Returns the primary brand of a project: the brand whose AI search visibility the project tracks. Returns null if none is set.

get_project_readiness

ChatGPT
Returns a project's report readiness: whether the selected date range has data, whether any historical data exists at all, and the current prompt and topic setup counts.

get_prompt_answers

ChatGPT
Returns the AI answers to one tracked prompt over the reporting window. Each answer includes its date, model, location, prompt text, optional topic, the answer text, the cited URLs with their positions and the search queries behind it. Requires prompt_id.

get_retrievals_by_model

ChatGPT
Returns per-model totals for how many times the AI engine retrieved a web source versus how many it actually cited in its answer over the reporting window.

get_search_queries_over_time

ChatGPT
Returns daily fan-out query volume and coverage over the reporting window, either as one overall series or split by top/selected brands (series_by=brand with optional brand_id) or top/selected terms (series_by=term with optional term_id).

get_search_query_brands

ChatGPT
Returns brands detected inside fan-out queries, ranked by alias-match count, with occurrence count, distinct query count, answer coverage, and the top matched aliases. Shows which brands AI engines search for while answering prompts.

get_search_query_summary

ChatGPT
Returns headline metrics for the search queries (fan-out) AI engines ran while answering prompts on this project: total and distinct query volume, brand relationship, retrieval-strategy distribution, website-targeted share, answer coverage, and data availability.

get_search_query_terms

ChatGPT
Returns frequent recognized domains and 2- to 4-gram phrases extracted from fan-out queries, with frequency, distinct query count, and answer coverage. Reveals the recurring patterns AI engines use when searching around a topic.

get_share_of_voice

ChatGPT
Returns every brand that appeared in AI answers on the project, each with its share of voice percentage (and period-over-period delta), rank, visibility percentage, and mention count. Each brand includes display metadata (logo, domain).

get_share_of_voice_over_time

ChatGPT
Returns a daily time series of share of voice for every brand observed on the project, one entry per (brand, date) with its share-of-voice percentage and mention count. Each brand includes display metadata. Shaped for stacked-area or multi-line charts.

get_topic_uptime

ChatGPT
Returns per-topic "uptime": for every topic on the project, on how many days the brand was mentioned out of the total days in the reporting window (mentioned_days / total_days), plus the per-day mention counts and total mention count.

get_url_over_time

ChatGPT
Returns a daily time series of retrieval and citation counts for a single URL over the reporting window.

get_url_report

ChatGPT
Returns a detailed per-provider breakdown for a single cited URL: how many citations each AI provider contributed, their share of the total, and associated mentions.

get_visibility_by_location

ChatGPT
Returns aggregated visibility metrics per location for the project's primary brand, as a map keyed by location (entries with no location are grouped under "The World"). Aggregates across all prompts in each location. No period-over-period deltas.

get_visibility_by_prompt_and_location

ChatGPT
Returns visibility metrics per (prompt, location) for the project's primary brand, as a nested map { location: { prompt_id: metrics } }. A prompt with data in several locations produces one entry per location. No deltas. Pass a non-empty prompt_ids array.

get_visibility_by_topic_and_prompt

ChatGPT
Returns headline visibility metrics for many topics and prompts in one call, as a single map keyed by topic_id and prompt_id (their namespaces are disjoint). Pass topic_ids and/or prompt_ids arrays. Requested ids with no data come back as null, so the key set is stable. The bulk companion to get_visibility_summary — use it to render a per-topic / per-prompt table without one request per row.

get_visibility_heatmap

ChatGPT
Returns a day-by-day series of visibility percentage and mention count for the selected brand over the reporting window, shaped for a calendar-style heatmap. Each entry is one calendar day with the brand's visibility pct and the mention count on that day.

get_visibility_over_time

ChatGPT
Returns a daily visibility time series for the selected brand, with one point per (date, model_provider). value is the visibility percentage on that day for that provider.

get_visibility_over_time_by_brand

ChatGPT
Returns a daily visibility-percentage time series for every brand observed on the project, one entry per (brand, date), each with display metadata. Shaped for comparative multi-line charts against competitors.

get_visibility_summary

ChatGPT
Returns headline visibility KPIs for a project over a date window: visibility %, share of voice, avg mentions per prompt, total mentions, and rank — each with a period-over-period delta. Optionally scoped to one or more topics or locations, or an AI model.

invite_organization_member

ChatGPT
Invites a user to the organization by email at the given role (defaults to member). Sends an invite email and returns the invitation, including an accept link you can share.

list_brands

ChatGPT
Returns every brand that appeared in AI answers on the project over the reporting window, each with its visibility percentage. Display metadata (name, aliases, logo, domain, colors) is attached as info. Pass include_deleted: true to also return soft-deleted brands.

list_cited_domains

ChatGPT
Returns domains ranked by how often AI engines cited a URL on them in answers for this project, with unique-URL counts, first-seen date, providers that cited them, and which tracked brands own them. Owned domains include the brand’s display metadata.

list_cited_urls

ChatGPT
Returns every URL on the given domain that AI engines cited over the reporting window, with citation counts, page type, first-seen date, and which providers cited it.

list_models

ChatGPT
Lists the models a project may run prompts against, with the ids create_prompts and update_prompt take in modelIds. isDefault marks the models new prompts get by default.

list_models_with_answers

ChatGPT
Returns the list of model slugs that have answered at least one prompt on the project. Use these values for the model parameter of other tools.

list_organization_invitations

ChatGPT
Returns the pending (unexpired) invitations for an organization, each with a shareable accept link.

list_organization_members

ChatGPT
Returns the active members of an organization — each member’s name, email, and role.

list_organizations

ChatGPT
Returns all organizations the authenticated user is a member of.

list_projects

ChatGPT
Returns projects the authenticated user can access. Optionally filter by organization_id.

list_search_queries

ChatGPT
Returns ranked fan-out query rows grouped by query (default), topic, prompt, model, location, query type, or retrieval strategy. Query rows include both brand-led/generic and retrieval-strategy classifications. Supports pagination, search, sorting, retrieval-strategy filtering, answer-visibility filtering, and an optional rolling trend window.

list_topics

ChatGPT
Lists a project's topics. Optionally includes each topic's prompts — text, models, locations, language, and paused state.

remove_organization_member

ChatGPT
Removes a member from the organization, revoking their access. You can't remove yourself or the last super admin.

resend_organization_invitation

ChatGPT
Resends a pending invitation with a fresh link and a refreshed 7-day expiry.

restore_brand

ChatGPT
Reactivates a previously removed brand, bringing back its past data. Idempotent: returns restored for a removed brand, noop if it is already active, or created if it was never tracked. Use create_brand to add a brand-new brand by name.

revoke_organization_invitation

ChatGPT
Revokes a pending invitation so its link stops working.

update_organization_member_role

ChatGPT
Changes a member's role. You can't change your own role or demote the organization's last super admin.

update_prompt

ChatGPT
Edits a prompt's type, locations, models, or paused status. The text is immutable because report data is keyed by prompt id: to track a different wording, create a new prompt (or duplicate this one) and delete the old one. Resuming a prompt also resumes its parent topic if it was paused.

update_topic

ChatGPT
Renames a topic or changes its description or category, or pauses/resumes it. Pausing a topic stops tracking all its prompts until resumed.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

56

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily