Skip to main content
Glama
PROMPTEYE-SP-Z-O-O

prompteye-mcp

Official

List the domains assistants cite

list_sources
Read-only

See which domains AI assistants cite most when answering your project's prompts, ranked by source occurrences. Use it to find the pages shaping brand answers and where to improve them.

Instructions

The domains the assistants leaned on when answering the active project's prompts, ranked by how often they were cited. Call this to see which pages shape what the assistants say about the brand, and where to go to change it.

A cited domain is a site an assistant leaned on while answering the project's prompts. sourceOccurrences counts every time a page on that exact host appeared among an answer's sources, so one answer citing two of its pages counts twice, and other domains of the same brand are not added in. It is a count of sources, not of answers, so it is not comparable with citedAnswers from list_competitors. share is the domain's slice of every source occurrence on those prompts, so the domains describe one pie. ownDomain marks the project's own domain and the alternatives registered with it: a small own share means the assistants are describing the brand from other people's pages rather than its own, which is where the story about it is being written.

When the own domain holds a small share, create_content_brief starts an article of the brand's own for the assistants to cite on the prompt it targets.

The ranking answers with the most cited domains rather than a list to walk to the end of, so raise limit to see further down. model narrows it to one assistant, which is how to tell a source every assistant trusts from one that only a single assistant leans on.

Narrow the count to one prompt (promptId), one prompt group (groupId), or one category — categoryId alone, or categoryId with subcategoryId — the same way the app's own screens narrow it. Give at most one of these; combining them fails. list_source_pages does not take them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many domains to return, at most 200.
modelNoReport on this assistant alone instead of all of them.
endDateNoLast day to report on, inclusive. Defaults to today, and must be within 366 days of startDate.
groupIdNoCount citations from this prompt group alone instead of every prompt in the project.
promptIdNoCount citations from this prompt alone instead of every prompt in the project.
startDateNoFirst day to report on, inclusive. Defaults to 30 days before today.
categoryIdNoCount citations from only the prompts filed under this category, subcategories included.
subcategoryIdNoNarrow `categoryId` further, to one of its subcategories. Needs `categoryId` alongside it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
brandYes
modelYesThe assistant the ranking is narrowed to. null = all assistants.
nextCursorYesPass as cursor to read the next page. null = this was the last page.
projectNameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.0.22
    • addedInput schema / properties / categoryId
      Added value: +{
      +  "description": "Count citations from only the prompts filed under this category, subcategories included.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / groupId
      Added value: +{
      +  "description": "Count citations from this prompt group alone instead of every prompt in the project.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / promptId
      Added value: +{
      +  "description": "Count citations from this prompt alone instead of every prompt in the project.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / subcategoryId
      Added value: +{
      +  "description": "Narrow `categoryId` further, to one of its subcategories. Needs `categoryId` alongside it.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "brand": {
      +      "type": "string"
      +    },
      +    "data": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "domain": {
      +            "type": "string"
      +          },
      +          "ownDomain": {
      +            "description": "Whether it is the project's own domain or one of its alternatives.",
      +            "type": "boolean"
      +          },
      +          "share": {
      +            "description": "The domain's share of the source occurrences across the domains reported, in percent 0-100 with up to five decimals.",
      +            "type": "number"
      +          },
      +          "sourceOccurrences": {
      +            "description": "Times a page on this exact host appeared among an answer's sources; a count of sources, not answers.",
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "domain",
      +          "sourceOccurrences",
      +          "share",
      +          "ownDomain"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "model": {
      +      "description": "The assistant the ranking is narrowed to. null = all assistants.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "nextCursor": {
      +      "description": "Pass as cursor to read the next page. null = this was the last page.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "projectName": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "nextCursor",
      +    "projectName",
      +    "brand",
      +    "model"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.0.5

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover safety (readOnlyHint, openWorldHint), and the description goes well beyond them: it defines how sourceOccurrences counts (per source occurrence, not per answer, other brand domains excluded), explains that share describes a single pie, and warns the ranking is not exhaustive so limit must be raised. This is exactly the behavioral context an agent needs.

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?

Purpose is front-loaded in the first sentence and every paragraph carries usable information, but the definition is notably long and the sourceOccurrences/share/ownDomain exposition could be tightened without losing meaning.

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?

With an output schema present, the description need not explain return values, yet it still interprets the key metrics and states all counting/scoping caveats. For an 8-parameter read tool with no required params, nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics the schema lacks: the mutual-exclusivity constraint across promptId/groupId/categoryId/subcategoryId, the meaning of `model` narrowing (trusted-by-all vs single-assistant), and that raising `limit` reaches further down the ranking.

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?

Opens with a specific verb+resource and scope: 'The domains the assistants leaned on when answering the active project's prompts, ranked by how often they were cited.' It further distinguishes itself from siblings by name — it clarifies that list_source_pages does not accept these filters and that its count is not comparable with citedAnswers from list_competitors.

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

Usage Guidelines5/5

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

Explicit when-to-use ('Call this to see which pages shape what the assistants say about the brand, and where to go to change it'), an alternative pathway ('When the own domain holds a small share, create_content_brief starts an article...'), and a concrete exclusion rule ('Give at most one of these; combining them fails'). Nothing is left to inference.

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