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

prompteye-mcp

Official

List the prompt groups of the project

list_prompt_groups
Read-only

List a project's prompt groups with visibility metrics over a date range to compare performance and find group IDs for filtering prompts.

Instructions

How the active project's prompts are grouped — comparison queries, problem queries, brand queries — with the visibility of each group over the period. A group is the unit a strategy is judged by. Use a group id to narrow list_prompts. Ungrouped prompts have no row here; they show up in list_prompts with groupId null. upsert_prompt_group renames, describes or reorders a group, and delete_prompt_group removes an empty one.

Changes are signed so that positive always means improvement. For average position that means the brand was named earlier in the answer, so a positive change goes with a lower position number.

aiTrafficTotal adds up the demand behind the prompts of the group that are still being asked, so a paused prompt contributes nothing. It is null when none of those prompts has a measured figure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many entries to return, at most 200. Defaults to 50.
cursorNoThe nextCursor of the previous page. Omit it to start from the first one.
endDateNoLast day to report on, inclusive. Defaults to today, and must be within 366 days of startDate.
startDateNoFirst day to report on, inclusive. Defaults to 30 days before today.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
nextCursorYesPass as cursor to read the next page. null = this was the last page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.22
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "aiTrafficTotal": {
      +            "description": "Monthly searches behind the group's prompts still being asked, added up; paused prompts add nothing. null = none of them has a measured figure.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "What the group is for. null = nobody described it.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "metrics": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "averagePosition": {
      +                "description": "Mean place the brand was named at in the answers that named it, counting from 1; lower is earlier. null = not measured.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "reachIndex": {
      +                "description": "Visibility weighted by how much of the market each assistant carries, 0-100, whole number. null = not measured.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "visibility": {
      +                "description": "Share of answers that named the brand in the period, in percent 0-100. null = not measured.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "visibility",
      +              "reachIndex",
      +              "averagePosition"
      +            ],
      +            "type": "object"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "order": {
      +            "description": "Where the group sits in the project's own ordering, lowest first.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "promptCount": {
      +            "description": "Prompts in the group, paused ones included.",
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "order",
      +          "promptCount",
      +          "aiTrafficTotal",
      +          "metrics"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "nextCursor": {
      +      "description": "Pass as cursor to read the next page. null = this was the last page.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "nextCursor"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.0.5

TDQS

A4/5.0
Behavior5/5

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

Beyond the thin readOnlyHint/openWorldHint annotations, the description supplies genuinely non-obvious semantics: change values are signed so positive always means improvement, positive average-position change means the brand was named earlier (lower number), and aiTrafficTotal is null when no measured prompt exists while paused prompts contribute nothing. These are behavioral facts an agent cannot derive from annotations.

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

Conciseness3/5

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

Purpose and routing are front-loaded, but the definition is long and mixes three concerns — routing, output-field semantics, and sign conventions — in one block. Since an output schema already exists, the extended explanation of aiTrafficTotal and change signs arguably exceeds what this field needs to do, making it denser than necessary.

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 and annotations covering the safety profile, the description only needs to add routing and interpretation, which it does. It is nearly complete; the only soft spot is that parameter-level behavior (pagination, date span limits) is left entirely to the schema.

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%, so the schema already documents limit, cursor, startDate and endDate. The description's 'over the period' phrasing loosely ties to the date parameters but adds no format, default, or pagination guidance beyond the schema, so the baseline of 3 applies.

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 clearly establishes the resource (the active project's prompt groups) and gives concrete examples of what a group is (comparison queries, problem queries, brand queries) plus the visibility-over-period payload. It never uses a plain 'List...' verb, but the intent is unambiguous and it is distinguishable from list_prompts by framing groups as 'the unit a strategy is judged by'.

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?

It explicitly routes the agent: use a group id to narrow list_prompts, use upsert_prompt_group to rename/describe/reorder, and delete_prompt_group to remove an empty one. It also explains the edge case that ungrouped prompts have no row here. No explicit 'when not to use this tool' statement, but the surrounding workflow is well covered.

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