Skip to main content
Glama

AI visibility

onelence_get_ai_visibility
Read-onlyIdempotent

How AI assistants read the site and send visitors: score, platforms, top pages, the previous period and suggested actions (with robots.txt text where relevant). With AI answers set up, also what ChatGPT, Perplexity, Gemini and other engines answer for the questions the site tracks: whether they name the site, which brands they name before or instead of it, and the pages they cite. Needs a plan with AI visibility.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "onelence_get_ai_visibility"
  }
}

Input Schema

NameRequiredDescriptionDefault
endNoWindow end, inclusive for a date. Defaults to now.
siteNoSite domain (e.g. example.com) or site id. Defaults to the workspace's newest active site.
startNoWindow start: a date (YYYY-MM-DD) or ISO 8601 date-time. Defaults to 30 days before end.
response_formatNoconcise (default) keeps what is needed to answer and to chain the next call; detailed returns every field.

Output Schema

NameRequiredDescriptionDefault
siteYes
scoreYes
objectYes
totalsYes
windowYes
actionsYes
answersYes
bot_poolYes
has_dataYes
previousYes
platformsYes
top_pagesYes
crawler_coverageYes
ai_crawlers_not_keptYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / previous / properties / score / properties / crawls_scored
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / previous / properties / score / required
      Previous value: -[
      -  "value",
      -  "max",
      -  "grade",
      -  "early"
      -]New value: +[
      +  "value",
      +  "max",
      +  "crawls_scored",
      +  "grade",
      +  "early"
      +]
    • addedOutput schema / properties / score / properties / crawls_scored
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / score / required
      Previous value: -[
      -  "value",
      -  "max",
      -  "grade",
      -  "early"
      -]New value: +[
      +  "value",
      +  "max",
      +  "crawls_scored",
      +  "grade",
      +  "early"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "actions": {
      +      "items": {
      +        "properties": {
      +          "check": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "confidence": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "high",
      +                  "medium",
      +                  "low"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "effort": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "low",
      +                  "medium",
      +                  "high"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "interpretation": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "kind": {
      +            "type": "string"
      +          },
      +          "observed": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "pages": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "robots_txt": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "steps": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "kind",
      +          "title",
      +          "confidence",
      +          "effort",
      +          "steps",
      +          "pages"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "ai_crawlers_not_kept": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "enum": [
      +              "answers",
      +              "indexing",
      +              "training"
      +            ],
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "answers": {
      +      "properties": {
      +        "cited_domains": {
      +          "items": {
      +            "properties": {
      +              "answers": {
      +                "type": "number"
      +              },
      +              "answers_naming_competitors_only": {
      +                "type": "number"
      +              },
      +              "domain": {
      +                "type": "string"
      +              },
      +              "pages": {
      +                "items": {
      +                  "properties": {
      +                    "answers": {
      +                      "type": "number"
      +                    },
      +                    "title": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "url": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "url",
      +                    "title",
      +                    "answers"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "role": {
      +                "enum": [
      +                  "site",
      +                  "competitor",
      +                  "third_party"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "domain",
      +              "role",
      +              "answers",
      +              "answers_naming_competitors_only",
      +              "pages"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "engines": {
      +          "items": {
      +            "properties": {
      +              "answered": {
      +                "type": "number"
      +              },
      +              "id": {
      +                "type": "string"
      +              },
      +              "linked": {
      +                "type": "number"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "named": {
      +                "type": "number"
      +              },
      +              "no_answer": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "answered",
      +              "named",
      +              "linked",
      +              "no_answer"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "next_step": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "questions": {
      +          "items": {
      +            "properties": {
      +              "answers": {
      +                "items": {
      +                  "properties": {
      +                    "brands_ahead": {
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "engine": {
      +                      "type": "string"
      +                    },
      +                    "engine_name": {
      +                      "type": "string"
      +                    },
      +                    "linked": {
      +                      "anyOf": [
      +                        {
      +                          "type": "boolean"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "named": {
      +                      "anyOf": [
      +                        {
      +                          "type": "boolean"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "position": {
      +                      "anyOf": [
      +                        {
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "status": {
      +                      "enum": [
      +                        "answered",
      +                        "no_answer",
      +                        "failed",
      +                        "skipped"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "engine_name",
      +                    "status",
      +                    "named",
      +                    "position",
      +                    "linked",
      +                    "brands_ahead"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "names_brand": {
      +                "type": "boolean"
      +              },
      +              "page_path": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "question": {
      +                "type": "string"
      +              },
      +              "recent": {
      +                "properties": {
      +                  "answered": {
      +                    "type": "number"
      +                  },
      +                  "linked": {
      +                    "type": "number"
      +                  },
      +                  "named": {
      +                    "type": "number"
      +                  },
      +                  "no_answer": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "answered",
      +                  "named",
      +                  "linked",
      +                  "no_answer"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "question",
      +              "page_path",
      +              "names_brand",
      +              "answers"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "run": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "engines": {
      +                  "items": {
      +                    "properties": {
      +                      "id": {
      +                        "type": "string"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "name"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "started_at": {
      +                  "type": "string"
      +                },
      +                "status": {
      +                  "enum": [
      +                    "completed",
      +                    "partial"
      +                  ],
      +                  "type": "string"
      +                },
      +                "week_of": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "started_at",
      +                "week_of",
      +                "engines",
      +                "status"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "share_of_voice": {
      +          "items": {
      +            "properties": {
      +              "answers": {
      +                "type": "number"
      +              },
      +              "first_place": {
      +                "type": "number"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "role": {
      +                "enum": [
      +                  "site",
      +                  "competitor",
      +                  "other"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "role",
      +              "answers",
      +              "first_place"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "state": {
      +          "enum": [
      +            "ready",
      +            "waiting_for_first_run",
      +            "not_set_up",
      +            "not_available",
      +            "not_readable"
      +          ],
      +          "type": "string"
      +        },
      +        "totals": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "answered": {
      +                  "type": "number"
      +                },
      +                "linked": {
      +                  "type": "number"
      +                },
      +                "named": {
      +                  "type": "number"
      +                },
      +                "no_answer": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "answered",
      +                "named",
      +                "linked",
      +                "no_answer"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "trend": {
      +          "items": {
      +            "properties": {
      +              "answered": {
      +                "type": "number"
      +              },
      +              "linked": {
      +                "type": "number"
      +              },
      +              "named": {
      +                "type": "number"
      +              },
      +              "no_answer": {
      +                "type": "number"
      +              },
      +              "started_at": {
      +                "type": "string"
      +              },
      +              "week_of": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "week_of",
      +              "started_at",
      +              "answered",
      +              "named",
      +              "linked",
      +              "no_answer"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "state",
      +        "run",
      +        "totals",
      +        "engines",
      +        "trend",
      +        "share_of_voice",
      +        "questions",
      +        "cited_domains",
      +        "note",
      +        "next_step"
      +      ],
      +      "type": "object"
      +    },
      +    "bot_pool": {
      +      "anyOf": [
      +        {
      +          "properties": {
      +            "note": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "renews_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "used_up": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "used_up",
      +            "renews_at",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "crawler_coverage": {
      +      "enum": [
      +        "observed",
      +        "not_recorded"
      +      ],
      +      "type": "string"
      +    },
      +    "has_data": {
      +      "type": "boolean"
      +    },
      +    "object": {
      +      "const": "ai_visibility",
      +      "type": "string"
      +    },
      +    "platforms": {
      +      "items": {
      +        "properties": {
      +          "ai_search_crawls": {
      +            "type": "number"
      +          },
      +          "answer_fetches": {
      +            "type": "number"
      +          },
      +          "company": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "conversions": {
      +            "type": "number"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "last_seen": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "training_crawls": {
      +            "type": "number"
      +          },
      +          "visitors": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "company",
      +          "status",
      +          "answer_fetches",
      +          "ai_search_crawls",
      +          "training_crawls",
      +          "visitors",
      +          "conversions",
      +          "last_seen"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "previous": {
      +      "properties": {
      +        "score": {
      +          "properties": {
      +            "early": {
      +              "type": "boolean"
      +            },
      +            "grade": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "leading",
      +                    "strong",
      +                    "emerging",
      +                    "weak",
      +                    "barely_visible"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "max": {
      +              "type": "number"
      +            },
      +            "value": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "max",
      +            "grade",
      +            "early"
      +          ],
      +          "type": "object"
      +        },
      +        "totals": {
      +          "properties": {
      +            "active_platforms": {
      +              "type": "number"
      +            },
      +            "ai_conversions": {
      +              "type": "number"
      +            },
      +            "ai_search_crawls": {
      +              "type": "number"
      +            },
      +            "ai_visitor_share": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "ai_visitors": {
      +              "type": "number"
      +            },
      +            "answer_fetches": {
      +              "type": "number"
      +            },
      +            "pages_fetched_for_answers": {
      +              "type": "number"
      +            },
      +            "training_crawls": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "answer_fetches",
      +            "ai_search_crawls",
      +            "training_crawls",
      +            "ai_visitors",
      +            "ai_conversions",
      +            "ai_visitor_share",
      +            "pages_fetched_for_answers",
      +            "active_platforms"
      +          ],
      +          "type": "object"
      +        },
      +        "window": {
      +          "properties": {
      +            "end": {
      +              "type": "string"
      +            },
      +            "start": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "start",
      +            "end"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "window",
      +        "score",
      +        "totals"
      +      ],
      +      "type": "object"
      +    },
      +    "score": {
      +      "properties": {
      +        "early": {
      +          "type": "boolean"
      +        },
      +        "grade": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "leading",
      +                "strong",
      +                "emerging",
      +                "weak",
      +                "barely_visible"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "max": {
      +          "type": "number"
      +        },
      +        "value": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "value",
      +        "max",
      +        "grade",
      +        "early"
      +      ],
      +      "type": "object"
      +    },
      +    "site": {
      +      "properties": {
      +        "domain": {
      +          "type": "string"
      +        },
      +        "id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "domain"
      +      ],
      +      "type": "object"
      +    },
      +    "top_pages": {
      +      "items": {
      +        "properties": {
      +          "ai_visitors": {
      +            "type": "number"
      +          },
      +          "answer_fetches": {
      +            "type": "number"
      +          },
      +          "conversions": {
      +            "type": "number"
      +          },
      +          "path": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "path",
      +          "status",
      +          "answer_fetches",
      +          "ai_visitors",
      +          "conversions"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "totals": {
      +      "properties": {
      +        "active_platforms": {
      +          "type": "number"
      +        },
      +        "ai_conversions": {
      +          "type": "number"
      +        },
      +        "ai_search_crawls": {
      +          "type": "number"
      +        },
      +        "ai_visitor_share": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "ai_visitors": {
      +          "type": "number"
      +        },
      +        "answer_fetches": {
      +          "type": "number"
      +        },
      +        "pages_fetched_for_answers": {
      +          "type": "number"
      +        },
      +        "training_crawls": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "answer_fetches",
      +        "ai_search_crawls",
      +        "training_crawls",
      +        "ai_visitors",
      +        "ai_conversions",
      +        "ai_visitor_share",
      +        "pages_fetched_for_answers",
      +        "active_platforms"
      +      ],
      +      "type": "object"
      +    },
      +    "window": {
      +      "properties": {
      +        "end": {
      +          "type": "string"
      +        },
      +        "start": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "start",
      +        "end"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "object",
      +    "site",
      +    "window",
      +    "has_data",
      +    "crawler_coverage",
      +    "bot_pool",
      +    "ai_crawlers_not_kept",
      +    "score",
      +    "totals",
      +    "platforms",
      +    "top_pages",
      +    "actions",
      +    "previous",
      +    "answers"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior, so the description doesn't need to repeat safety. It adds genuinely useful context beyond that: the plan entitlement prerequisite, the conditional second half that only returns AI-answer data when AI answers are set up, and the inclusion of robots.txt text. It doesn't mention rate limits or what happens when the site has no data, which keeps it from a 5.

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?

It is front-loaded with the core result set and the second, conditional capability follows the first. Every clause refers to real returned content rather than filler. It is dense and runs long in a single sentence-like flow, but nothing is truly wasted.

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

Completeness4/5

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

With an output schema present, the description doesn't have to explain return shapes, yet the enumerated contents help the agent decide whether this answers the question. The entitlement requirement and the conditional AI-answers behavior are the key operational facts an agent needs. Missing only edge-case behavior such as empty-data or out-of-plan responses.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema documents the date window defaults, site default, and the concise vs detailed enum. The description adds nothing about parameters, not even which window is used or that response_format controls depth. Baseline 3 is appropriate when the schema does all the work.

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

Purpose4/5

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

The description names the specific resource (AI visibility) and enumerates exactly what it covers: score, platforms, top pages, previous period, suggested actions with robots.txt text, plus AI-engine answers, brand mentions and cited pages. That is far more concrete than the title alone. It doesn't explicitly distinguish itself from near-siblings like onelence_get_bot_traffic or onelence_get_breakdown, so it stops short of a 5.

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

Usage Guidelines3/5

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

There is one real gating condition stated: 'Needs a plan with AI visibility.' That tells the agent when the call will fail. However, there is no guidance on when to choose this over adjacent tools such as bot traffic, breakdown or briefing, and no note on whether calling it without AI answers configured yields partial results. Usage is implied but not routed.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.