MCPFerramentas MCP/AEO

AEO

Relatórios de otimização para mecanismos de resposta de IA.

get_aeo_report

Readlistings:read

AI answer-engine visibility report for a SINGLE location — how visible the business is across AI assistants (ChatGPT, Gemini, Perplexity). Requires locationId. Returns: generatedAt; configuredEngines (engines with an API key); the overall visibility score (0–100) + per-engine scores; the keyword map (prompts where each engine surfaces the business, with a % hit-rate bubble per prompt); the prompt × engine matrix (per cell: score, whether you were mentioned, your rank, and the verbatim answer excerpt); a competitor gap table; the ranking-gap distribution (share of answers where you rank 1–3 / 4–10 / 11+, per engine + All); the optimization-insight radar (Relevance / Reviews / Engagement / Freshness / Citations, per engine); citations coverage (sources AI engines cite, each active/detected/missing, per engine); and sentiment mentions. Pass `prompt` to drill into ONE row of the matrix — you get that prompt's cells plus the headline scores and nothing else, which is what you want when the caller clicked a single cell. Backs the AEO single-location page.

Parâmetros
locationIdstringobrigatório
Location id — the id from list_locations. Either id shape works.
promptstringopcional
Narrow to ONE discovery prompt from the matrix (exact text). Omit for the whole report.
Exemplo de solicitação
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_aeo_report",
    "arguments": {
      "locationId": "string"
    }
  }
}
Exemplo de resposta
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.

MCPFerramentas MCP/AEO/get_aeo_rollup

get_aeo_rollup

Readlistings:read

AI-visibility roll-up across a client's (or the whole agency's) locations — the AEO 'all locations' table. Optional clientId scopes to one client; omit for agency-wide. Optional tags narrows to locations carrying ANY of the given internal tags (discover them with list_location_tags). Returns rows (per location: name, city, tags, overall AI-visibility score 0–100, per-engine ChatGPT/Gemini/Perplexity scores, latest report generatedAt + yearMonth; null score = no report generated yet) plus configuredEngines. Backs the AEO all-locations rollup.

Parâmetros
clientIdstringopcional
Scope to one client (from list_clients; omit for agency-wide)
tagsstring[]opcional
Internal tags — narrow to locations carrying ANY of these (from list_location_tags). Each row also carries its location's tags.
Exemplo de solicitação
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_aeo_rollup",
    "arguments": {}
  }
}
Exemplo de resposta
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.

MCPFerramentas MCP/AEO/enqueue_aeo_report

enqueue_aeo_report

Writelistings:write

Trigger (re)generation of a SINGLE location's AI answer-engine visibility report in the BACKGROUND. Requires locationId. Queues the same concurrency-capped job the app uses (queries each configured engine — ChatGPT/Gemini/Perplexity — across discovery prompts, then scores). Idempotent per month: skips a location that already has a report for the current year-month unless force=true. Returns immediately with { enqueued: true } — the report is written asynchronously, so poll get_aeo_report afterwards to read the result. Use this to create or refresh AEO data for a location.

Parâmetros
locationIdstringobrigatório
The location's id (from list_locations).
forcebooleanopcional
Regenerate even if a report already exists for the current month (default false)
Exemplo de solicitação
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "enqueue_aeo_report",
    "arguments": {
      "locationId": "string"
    }
  }
}
Exemplo de resposta
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.