Skip to main content
Glama
prompteye-mcp

prompteye-mcp

Official

List the prompts worth adding next

list_prompt_suggestions
Read-only

The prompts PromptEye proposes the project start tracking, still awaiting a decision. This is the recommended way to add prompts — each suggestion is generated from real demand and carries why it was proposed: a gap in the funnel, or a…

Instructions

The prompts PromptEye proposes the project start tracking, still awaiting a decision. This is the recommended way to add prompts — each suggestion is generated from real demand and carries why it was proposed: a gap in the funnel, or a theme close to prompts that already perform. Grouped by the prompt group each would join, strongest demand first. Call this when asked what to monitor next, and before ever writing prompts by hand.

aiTraffic is the demand behind a prompt: PromptEye expands the question into the phrasings people actually use for it, weighs each one by how much of the question it carries, and adds up how much demand they attract per month. It is a property of the prompt, not a measurement of a period. 0 means it was measured and the demand is below the reporting floor of 50 searches a month. null means there is no figure: with aiTrafficMeasuredAt null it has not been measured yet, with a date it was measured and none of the phrasings came back with a volume, so it is unknown rather than zero. aiTrafficMeasuredAt is when the figure was last measured; a failed refresh keeps the earlier figure and its date. It is not what get_ai_traffic reports: that tool counts sessions that actually reached the site from an assistant, while this counts the demand behind the question.

relativeVolumeScore places the demand among the other prompts of the same group, 0 for the lowest and 1 for the highest, and relativeVolumeLabel bands it as very_high, high or standard. It is relative to the group, so high means high for this group and says nothing about the market.

purchaseIntentLevel is the funnel stage the question is asked at: 1 awareness (educational), 2 consideration (looking for a solution), 3 comparison (weighing options), 4 decision (ready to buy). A group with no prompts at a stage is a blind spot, not a tidy funnel: customers ask there and nobody sees what the assistants answer.

companyFitScore is how well the question fits what the brand sells, 0 unrelated to 1 squarely on topic, with companyFitReason saying what that verdict was read off.

accept_prompt_suggestion turns one into a tracked prompt; generate_prompt_suggestions asks PromptEye for new ones for a group.

Input Schema

NameRequiredDescriptionDefault
groupIdNoOnly suggestions for this prompt group, by the group id the suggestions carry.
projectIdYesThe project to work on — its id from list_projects. Required on every call, so that parallel conversations never read or write each other's project.

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.0.28
    • addedInput schema / properties / projectId
      Added value: +{
      +  "description": "The project to work on — its id from list_projects. Required on every call, so that parallel conversations never read or write each other's project.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / required
      Added value: +[
      +  "projectId"
      +]
  2. 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": {
      +          "aiTraffic": {
      +            "description": "Estimated monthly searches behind the prompt, on the scale tracked prompts use. null = the phrases came back with no data.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "companyFitReason": {
      +            "type": "string"
      +          },
      +          "companyFitScore": {
      +            "description": "How well the question fits what the brand sells, 0 unrelated to 1 squarely on topic.",
      +            "type": "number"
      +          },
      +          "createdAt": {
      +            "description": "When the suggestion was generated, ISO 8601 in UTC.",
      +            "type": "string"
      +          },
      +          "expiresAt": {
      +            "description": "When it lapses if nobody decides on it, ISO 8601 in UTC.",
      +            "type": "string"
      +          },
      +          "groupId": {
      +            "type": "string"
      +          },
      +          "groupName": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "mode": {
      +            "description": "gap = fills a funnel stage the group does not cover, replicate = close to prompts already performing in it.",
      +            "type": "string"
      +          },
      +          "prompt": {
      +            "type": "string"
      +          },
      +          "purchaseIntentLevel": {
      +            "description": "1 educational, 2 solution-seeking, 3 comparison, 4 decision.",
      +            "type": "number"
      +          },
      +          "relativeVolumeLabel": {
      +            "description": "very_high, high or standard, relative to the group rather than the market.",
      +            "type": "string"
      +          },
      +          "relativeVolumeScore": {
      +            "description": "Where the demand sits among the group's prompts, 0 lowest to 1 highest.",
      +            "type": "number"
      +          },
      +          "sourcePhrase": {
      +            "type": "string"
      +          },
      +          "sourcePhraseVolume": {
      +            "description": "Monthly searches for sourcePhrase as the traffic provider reports them, not an estimate of the prompt.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "whyArguments": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "whyText": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "prompt",
      +          "mode",
      +          "groupId",
      +          "groupName",
      +          "sourcePhrase",
      +          "sourcePhraseVolume",
      +          "aiTraffic",
      +          "relativeVolumeScore",
      +          "relativeVolumeLabel",
      +          "purchaseIntentLevel",
      +          "companyFitScore",
      +          "companyFitReason",
      +          "whyText",
      +          "whyArguments",
      +          "createdAt",
      +          "expiresAt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.0.5

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only and open-world, so the safety profile is covered; the description adds ordering semantics (grouped by the prompt group each would join, strongest demand first) and the provenance of each suggestion (a funnel gap or a theme near performing prompts). That is genuine context beyond the annotations. The remaining bulk is field-by-field output interpretation, which overlaps the output schema rather than disclosing new behavior.

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?

The purpose and usage guidance are front-loaded and tight, but the middle section is a long glossary of aiTraffic, relativeVolumeScore, purchaseIntentLevel and companyFitScore that substantially duplicates the output schema. Useful context, yet it bloats a two-parameter list tool to roughly 350 words and dilutes the actionable call guidance.

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?

An agent knows what the tool returns, how results are ordered and grouped, what each score means, when to call it, and which sibling to use afterwards. Combined with a present output schema and full annotation coverage, nothing needed to invoke this correctly is missing.

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 coverage is 100% with only two parameters, and both are already documented in the schema, including groupId's 'only suggestions for this prompt group' scoping. The description adds no additional meaning about either parameter, so the baseline 3 applies rather than a higher mark.

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 and resource (list the prompt suggestions awaiting a decision) and immediately distinguishes the resource from tracked prompts: suggestions are proposals generated from real demand, not prompts already in the project. It also names the two adjacent siblings, accept_prompt_suggestion and generate_prompt_suggestions, so the agent can locate this tool in the workflow without opening any schema.

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?

"Call this when asked what to monitor next, and before ever writing prompts by hand" gives an explicit trigger and an explicit exclusion (don't hand-author prompts). The closing line routes the agent correctly: accept_prompt_suggestion to commit one, generate_prompt_suggestions to request new ones, leaving no ambiguity about which sibling to pick.

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