---
name: aeometer
description: Track whether ChatGPT, Claude, Perplexity and Google AI Overviews mention and cite a brand versus its competitors, using the AEOmeter MCP server or REST API on the user's behalf.
---

# AEOmeter

AEOmeter monitors AI visibility. A Chrome extension sends a user's buyer prompts to ChatGPT, Claude, Perplexity and Google AI Overviews in their own browser, saves each answer with its cited sources, and reports mention rate, owned citation rate, share of voice, position (order of first mention) and sentiment against competitors.

## When to use this skill

- The user asks whether AI assistants recommend or mention their brand, product or company.
- The user wants to compare their AI visibility against named competitors, or find the prompts competitors win.
- The user wants to know which pages or domains AI answers cite for their category.
- The user wants to add or change the questions (prompts) being tracked, or queue a fresh check.
- The user wants to know where their brand is positioned in AI answers (named first, second, …) and how positively answers describe it.

Do not use it to estimate search volume or impressions; AEOmeter does not measure those.

## Connect

Preferred: the remote MCP server at https://aeometer.com/mcp (Streamable HTTP). It uses OAuth 2.1; the MCP client discovers the authorization server from the `WWW-Authenticate` header of the first 401 response, and the user signs in and approves the `mcp:tools` scope. Accounts are free to create at https://aeometer.com/sign-up.

Alternative: the REST API at https://aeometer.com/api/v1, described by https://aeometer.com/openapi.json. Rate limits, error format and versioning are documented at https://aeometer.com/help/api.md.

## Tools

- `cancel_job`: Cancel a queued (not yet started) or attention-state job in an owned project. Cannot cancel actively collecting jobs.
- `cancel_queued_jobs`: Cancel all queued jobs no browser has started yet in an owned project, optionally only for one run. Running and finished jobs are untouched.
- `retry_failed_checks`: Queue a fresh check for each failed prompt × engine in an owned brand whose newest attempt failed (last 7 days), optionally only for one engine or one job. Answered, queued and running checks are left alone.
- `get_analytics` (read-only): Inspect owned-project visibility, competitor comparisons, matched trends, cited domains/pages, answer history and collection counts. Use cohort=current for current brand and exact prompt definitions; all includes historical definitions. Rates describe captured answers, not market demand.
- `get_overview` (read-only): Read period and engine-scoped brand visibility and citation rates, daily observations, latest prompt/engine misses, competitor-cited domains and failed checks. Only successful captured answers contribute to answer metrics; no-overview and failed jobs are not misses.
- `get_prompt_matrix` (read-only): Read each enabled prompt's latest completed or no-overview result by engine, with all-answer visibility rates. Failed jobs and no-overview outcomes are excluded from answer denominators.
- `get_prompt_detail` (read-only): Read period-scoped visibility and citation rates, latest engine results, competitor mentions and paginated captured-answer history for one exact prompt.
- `reanalyze_project`: Recompute derived analyses from immutable answers using their original run brand snapshots. Does not change raw answers or apply current brand definitions to historical captures.
- `get_answer` (read-only): Inspect an original captured answer with brand highlights, citations, capture context, warnings and source inspection status in an owned project.
- `get_browser_status` (read-only): Read your authorized browsers, advertised engine permissions, collection-enabled state and recent contact. Availability does not guarantee engine login or a fresh answer.
- `get_engine_health` (read-only): Per engine, whether the organization's newest finished check answered (ok), was blocked by a sign-in, verification or usage limit, or failed otherwise, with the failure count since the last answer.
- `update_project`: Replace an organization's brand definitions. Preserve brand IDs; designate one own brand with role=brand and others competitor. Name, role and website edits start a new current measurement baseline; alias edits also apply to saved answers. Saved answers remain intact.
- `update_answer_checks`: Set the traits to look for in how AI answers describe each tracked brand (for example "expensive", "easy to use") and a short fact sheet about the own brand that answers should not contradict. Applies to answers from the last 90 days; changing them starts a fresh set of results.
- `suggest_brand_names` (read-only): Suggest other names AI answers may use for a brand (spacing variants, misspellings, abbreviations, former names) so they can be added as aliases. With a projectId and brandId, also returns names found in saved answers that mention the brand under an untracked name. Changes nothing.
- `list_projects` (read-only): List brands in an organization the authenticated user belongs to.
- `create_project`: Create a brand in an organization the authenticated user belongs to. Daily checks start on, on every engine, at 09:00 in the given timezone (UTC by default).
- `get_project` (read-only): Read a brand in an organization the authenticated user belongs to.
- `list_organizations` (read-only): List organizations and the current user’s role in each.
- `add_starter_prompts`: Generate about 8 starter prompts for an owned brand (discovery, branded and comparison questions), add them as enabled prompts, and by default queue a first run on the brand's scheduled engines for connected browsers. Skips exact duplicates.
- `import_prompts`: Import reviewed exact prompts and tags into an owned project atomically, skipping exact duplicates. Limit 200 total project prompts including paused prompts. Does not submit prompts to engines.
- `bulk_update_prompts`: Atomically enable/pause selected owned-project prompts or add tags without removing existing tags. Pausing affects future runs, not already queued checks.
- `update_prompt`: Replace exact text, tags and enabled state of an owned-project prompt. Text edits start a new baseline; previous answers remain saved. Pausing affects future runs.
- `list_prompts` (read-only): List exact prompts configured for a project you own.
- `create_prompt`: Add an exact monitoring prompt to an owned project. This does not submit it to AI engines.
- `get_schedule` (read-only): Read an owned project daily schedule, timezone, engines and next queue time. A schedule queues work; an available browser and engine sessions are required to collect.
- `update_schedule`: Configure or disable daily monitoring for a brand in an organization you belong to.
- `list_runs` (read-only): List recent browser monitoring runs, including job completion and failures.
- `create_run`: Snapshot enabled prompts and brands into a browser run. Eligible connected browsers claim jobs; this API does not scrape engines.
- `list_observations` (read-only): Review recent captured answers, citations, mentioned URLs, and privacy evidence for an owned project.

## Typical workflow

1. Call `list_organizations`, then `list_projects` to find the brand the user means. A project is one tracked brand with its competitors.
2. Call `list_prompts` to see which buyer questions are tracked. Use `create_prompt` to add the exact wording the user asks for; do not paraphrase it.
3. Call `list_observations` to read recent answers: which brands each answer mentioned, the cited URLs, and the engine.
4. To refresh results, call `create_run`. It queues jobs; checks only run while the user's Chrome with the AEOmeter extension is open, so results can take minutes. Poll `list_runs` rather than calling `create_run` again.

## Rules

- Report rates with their denominators (for example "mentioned in 4 of 9 answers"). Failed or blocked checks are not brand misses.
- Ask before creating projects, prompts or runs; they count against the user's plan limits.
- If a tool returns an error about plan limits or a disconnected browser, tell the user what to change in https://aeometer.com/app instead of retrying.
