Skip to main content
Glama
Unilytics MCP Server

Unilytics MCP Server

Official

brand_visibility

Read-only

Measure whether ChatGPT, Claude, and Perplexity mention or recommend a brand in AI answers, rank it against competitors, and report sentiment and cited sources.

Instructions

Measure how ChatGPT (OpenAI), Claude (Anthropic) and Perplexity represent a brand when asked one prompt.

Each engine answers the prompt, and Unilytics analyzes each answer. Returns, per engine: status, model,
whether the brand is mentioned, its position among the brands named (1 = named first), sentiment toward the
brand (positive / neutral / negative), which of the given competitors the answer names and their positions,
and the URLs and domains the engine cited (Perplexity is the only engine that returns citations). Also returns
a summary (engines analyzed, engines mentioning the brand, engines failed). The answer text itself is not
returned, and competitors that weren't given aren't listed. An engine that fails is reported with a status code
(engine_failed, analysis_failed, timed_out), never as "not mentioned"; when no engine can be analyzed the call
is an error and is not charged.

Use when the user asks whether AI assistants mention or recommend a brand, where it ranks against competitors
in AI answers, how AI describes it, or which sources Perplexity cites for a query. One prompt per call; flat
credit cost.

Args:
    prompt: The question a customer might ask an AI assistant (e.g. "What is the best CRM for startups?"),
        up to 2,000 characters.
    brand: The brand to look for in the answers (e.g. "HubSpot"), up to 100 characters.
    competitors: Optional competitor brand names to track in the same answers (up to 20); only these are
        reported in competitors_named.

[Provider: OpenAI, Anthropic, Perplexity (answers); OpenAI (analysis)]

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "prompt": "<prompt>",
      "brand": "<brand>"
    },
    "name": "brand_visibility"
  }
}

Input Schema

NameRequiredDescriptionDefault
brandYes
promptYes
competitorsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.1.0
    • removedInput schema / properties / brand / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / brand / default
      Removed value: -null
    • addedInput schema / properties / brand / type
      Added value: +"string"
    • addedInput schema / properties / competitors
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Competitors"
      +}
    • removedInput schema / properties / config
      Removed value: -{
      -  "default": null,
      -  "title": "config",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "prompt"
      -]New value: +[
      +  "prompt",
      +  "brand"
      +]
  2. First observedv1.0.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: documents per-engine return fields, that only Perplexity returns citations, that answer text is not returned, that unlisted competitors are omitted, and that failures surface as engine_failed/analysis_failed/timed_out rather than as 'not mentioned'. It also states that an all-engine failure is an error and is not charged, which is a meaningful cost/side-effect disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then returns, then usage, then args — a sensible order with no filler sentences. Slightly long and the Args block partially duplicates what a schema would normally hold, plus the trailing provider note is incidental noise, but nothing is genuinely wasted given the 0% schema coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, multi-provider analysis tool with no output schema, the description covers inputs, per-engine outputs, summary shape, partial-failure semantics, and billing behavior. An agent can call it and interpret results without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full burden and does so: prompt is the consumer-style question (2,000 char cap), brand is the string to look for (100 char cap), competitors is an optional list up to 20 that scopes what appears in competitors_named. Each parameter gets meaning, an example, and a bound.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (measure), resource (brand representation), named engines (ChatGPT/OpenAI, Claude/Anthropic, Perplexity), and the granularity (one prompt per call). An agent knows exactly what this produces without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions: whether AI assistants mention/recommend a brand, rank against competitors, how AI describes it, or which sources Perplexity cites. Also states the one-prompt-per-call constraint and flat credit cost. It does not name or exclude sibling tools (e.g. ai_citation_check, aeo_audit_prompts), so alternatives are left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools