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

prompteye-mcp

Official

List projects

list_projects
Read-only

Every project the API key reaches, newest first, with the access the key has to each. A project is one brand tracked in one market, and it is the root of everything else PromptEye measures.

Instructions

Every project the API key reaches, newest first, with the access the key has to each. A project is one brand tracked in one market, and it is the root of everything else PromptEye measures. Call this first and pass the id of the project in question as projectId to every other tool. Each row includes its label, brand/name and domain; use these fields together to identify a project. Projects with different labels are distinct: do not call them duplicates based only on similar brand names. When unsure which one the user means, ask using the labels and domains shown, and use the id of the confirmed one.

Input Schema

NameRequiredDescriptionDefault
workspaceIdNoOnly the projects of this workspace, as list_workspaces reports it. A workspace the key does not reach lists nothing.

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.28
    • addedOutput schema / properties / data / items / properties / publicUrl
      Added value: +{
      +  "description": "Link anyone can open without logging in to view the project. null = the project is not shared.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed3 schema fields changedv1.0.22
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / workspaceId
      Added value: +{
      +  "description": "Only the projects of this workspace, as list_workspaces reports it. A workspace the key does not reach lists nothing.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "accessRole": {
      +            "description": "OWNER manages the project, FULL_ACCESS edits it, READ_ONLY reads it.",
      +            "type": "string"
      +          },
      +          "alternativeBrandNames": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "alternativeDomains": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "brand": {
      +            "type": "string"
      +          },
      +          "country": {
      +            "type": "string"
      +          },
      +          "createdAt": {
      +            "description": "When the project was created, ISO 8601 in UTC.",
      +            "type": "string"
      +          },
      +          "domain": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "description": "Grouping label. null = the project has none.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "brand",
      +          "domain",
      +          "country",
      +          "label",
      +          "alternativeBrandNames",
      +          "alternativeDomains",
      +          "accessRole",
      +          "createdAt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.0.5

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds real behavioral context beyond them: key-scoped visibility, 'newest first' ordering, and the caveat that projects with different labels are distinct. It does not discuss pagination or result volume, 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?

Front-loaded with what it returns and why it matters, then the call-first directive. The disambiguation guidance is valuable but the label/duplicate warning is somewhat verbose; still, each sentence carries routing information.

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, return-value shape needn't be explained, yet the description helpfully names key row fields (label, brand/name, domain) for identification. Combined with the sequencing instruction, an agent has everything needed to call it and use the result correctly.

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% and workspaceId's semantics (scope, empty result for unreachable workspaces) are fully documented in the schema itself. The description never mentions workspaceId, so it adds no meaning beyond the schema — baseline 3 applies.

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 ('Every project the API key reaches') and defines the domain concept: 'A project is one brand tracked in one market, and it is the root of everything else PromptEye measures.' This clearly separates it from siblings like create_project, update_project, and list_workspaces.

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 sequencing: 'Call this first and pass the id of the project in question as projectId to every other tool.' It also gives disambiguation protocol — ask about labels/domains when unsure, don't treat similar brand names as duplicates, and use the id of the confirmed project.

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