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

prompteye-mcp

Official

Describe the brand better in the knowledge base

update_knowledge_base

Updates what the project knows about the brand — who buys it, where it sells, and what makes it distinct. Everything PromptEye generates for the project (prompts, suggestions, analyses) leans on these fields, so keeping them accurate…

Instructions

Updates what the project knows about the brand — who buys it, where it sells, and what makes it distinct. Everything PromptEye generates for the project (prompts, suggestions, analyses) leans on these fields, so keeping them accurate ensures generated content and evaluation criteria match reality.

Only provided fields are updated; omitted fields keep their current values.

Input Schema

NameRequiredDescriptionDefault
icpNoIdeal customer profile: the target buyer persona.
industryNoThe industry the brand sells into, e.g. 'AI search analytics'.
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.
descriptionNoFull description of what the brand does. Prompt generation leans heavily on this.
operatingAreaNoWhere the brand sells, e.g. 'Europe, US'.
targetAudienceNoWho buys it, e.g. 'Marketing and SEO teams at B2B software companies'.
productCategoryNoWhat kind of product or service it is, in buyer words, e.g. 'Brand visibility monitoring for AI assistants'.

Output Schema

NameRequiredDescriptionDefault
textYesThe whole profile as stored, one `Label: value` block per field. null = not described yet.
profileNoOne field per question about the brand; null where nothing is written yet.
updatedAtYesWhen the profile was last written, ISO 8601 in UTC. null = no profile yet.

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": {
      +    "profile": {
      +      "additionalProperties": false,
      +      "description": "One field per question about the brand; null where nothing is written yet.",
      +      "properties": {
      +        "description": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "icp": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "industry": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "operatingArea": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "productCategory": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "targetAudience": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "industry",
      +        "productCategory",
      +        "targetAudience",
      +        "icp",
      +        "operatingArea",
      +        "description"
      +      ],
      +      "type": "object"
      +    },
      +    "text": {
      +      "description": "The whole profile as stored, one `Label: value` block per field. null = not described yet.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "updatedAt": {
      +      "description": "When the profile was last written, ISO 8601 in UTC. null = no profile yet.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "text",
      +    "updatedAt"
      +  ],
      +  "type": "object"
      +}
  3. Addedv1.0.12

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, open-world, and non-idempotent behavior. The description adds useful partial-update semantics: only provided fields are updated, while omitted fields retain current values. It does not detail permissions or rate limits, but the output schema exists for response structure.

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

Conciseness5/5

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

Front-loads the update operation, then briefly explains downstream importance and partial-update behavior. The two short paragraphs are appropriately sized and contain no filler.

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 output schema exists, annotations cover the safety profile, and the schema documents all parameters. The description supplies purpose, downstream relevance, and partial-update semantics; the lack of an explicit read-before-update suggestion is minor and not needed to invoke the tool 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%, so each parameter is already documented in the input schema. The description groups the fields by brand concepts and adds the partial-update rule, but it does not add per-parameter syntax or format detail beyond what the schema provides.

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?

States a specific verb and resource: updates the project's brand knowledge fields such as ICP, audience, operating area, and description. The scope is clear and field themes are named. It does not explicitly differentiate from get_knowledge_base or update_project, so it falls 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?

Explains why these fields matter for generated prompts, suggestions, and analyses, implying use when brand knowledge needs correction. However, it gives no explicit when-to-use or when-not guidance and does not name an alternative such as get_knowledge_base for reading current values.

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