Skip to main content
Glama

add_product

Register a new product to monitor for buying signals.

Call `suggest_anchors` FIRST and get the user's approval on the anchors —
do not invent them silently. Then `reload_products` to activate.

`anchor_sentences` (required, 3+, each 5-40 words) is the most important
field in the system: every incoming post is scored by similarity to these.
Write them as the BUYER describing their PROBLEM, not as the seller
describing the product:
  GOOD  "looking for an alternative to X, the pricing has gotten absurd"
  GOOD  "anyone know a tool that does Y? doing it by hand is killing me"
  BAD   "enterprise-grade Y automation platform"   <- matches sellers, not buyers

`target_audience` and `value_prop` — describe ONE buyer, narrowly: who they
are and the problem they would write about. The judges read both fields when
deciding whether a post's author is a buyer, so a broad audience (a list of
groups, "any operator") makes them keep weak leads. If the product has
clearly different buyers, add each as its own product.

`buy_signal_keywords` — LEAVE THIS EMPTY unless you have a specific reason.
It is an optional COST filter, not a quality one, and it is an AND-gate: a
post matching NONE of the keywords scores 0 before embedding, before the
swarm, with nothing logged. For example, the same sentence scored 0 when it
said "people" and highly when it said "leads" — one word. Nobody can list
every phrasing a buyer might use, so a keyword list silently deletes real
buyers in proportion to how badly you guessed.
The embedding floor, vertical gate and 3-judge swarm still filter without it.

`competitor_keywords` — direct SUBSTITUTES only (tools a buyer would pick
INSTEAD of this product). A buyer-intent mention of one floors the score so
switchers always surface. Do not list adjacent-category tools that merely
sound similar; you will surface people who were never in your market.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe product's name.
value_propNoOptional. The problem the product solves for that buyer, in the words they would use. The judges read it too.
descriptionNoOptional. A longer description of the product.
target_audienceNoOptional. One buyer, described narrowly: who they are. The judges read it when deciding whether a post's author is a buyer.
anchor_sentencesYes3 or more sentences, each 5-40 words, written as the BUYER describing their problem. Get them from suggest_anchors and the user's approval.
buy_signal_keywordsNoOptional, best left empty: a post that matches none of these words is dropped before it is scored.
competitor_keywordsNoOptional. Direct substitutes only: tools a buyer would pick instead of this product.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / anchor_sentences / description
      Added value: +"3 or more sentences, each 5-40 words, written as the BUYER describing their problem. Get them from suggest_anchors and the user's approval."
    • addedInput schema / properties / buy_signal_keywords / description
      Added value: +"Optional, best left empty: a post that matches none of these words is dropped before it is scored."
    • addedInput schema / properties / competitor_keywords / description
      Added value: +"Optional. Direct substitutes only: tools a buyer would pick instead of this product."
    • addedInput schema / properties / description / description
      Added value: +"Optional. A longer description of the product."
    • addedInput schema / properties / name / description
      Added value: +"The product's name."
    • addedInput schema / properties / target_audience / description
      Added value: +"Optional. One buyer, described narrowly: who they are. The judges read it when deciding whether a post's author is a buyer."
    • addedInput schema / properties / value_prop / description
      Added value: +"Optional. The problem the product solves for that buyer, in the words they would use. The judges read it too."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare this is a non-idempotent write. The description goes far beyond that, explaining the scoring pipeline (embedding floor, vertical gate, 3-judge swarm), that buy_signal_keywords is an AND-gate that silently zeroes non-matching posts before logging, and that competitor mentions floor the score. This is exactly the behavioral context annotations cannot carry.

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 purpose and workflow, then organized per-parameter with concrete examples. It is long (~350 words), but nearly every sentence carries non-obvious guidance, so the length is largely earned rather than padded.

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?

For a 7-parameter mutation tool with no output schema and no enums, the description supplies the absent decision rules: how to source anchors, how to phrase them, how keywords gate scoring, and how to scope audience/value_prop. An agent has everything needed to call it correctly.

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

Parameters5/5

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

Schema coverage is already 100%, so the baseline would be 3, but the description adds substantial meaning: anchor_sentences constraints (3+, 5-40 words) with buyer-vs-seller GOOD/BAD examples, the narrowness requirement on target_audience/value_prop because judges read them, and the risk rationale for leaving buy_signal_keywords empty.

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?

The opening line names a specific verb and resource with scope: 'Register a new product to monitor for buying signals.' Combined with 'Then `reload_products` to activate,' an agent can distinguish this from update_product and get_products without opening a 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?

Gives an explicit required workflow: call `suggest_anchors` FIRST, get user approval, then `reload_products` to activate. It also names the conditions under which optional fields should be left empty or split into separate products, which is the when/when-not guidance the dimension asks for.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.