Skip to main content
Glama

View demand signals

demand_signals
Read-only

Lists searches that found nothing good: queries by external callers in the last 90 days that returned no provider or only weak matches (best relevance below 0.62). Use this when you want searches Agentery could not answer well, as generalised job labels ranked by distinct callers. Most entries come from a single caller: treat those as leads. These are limited coverage signals from Agentery's own callers — not proof that a product does not exist, and not proof that a market has paying demand. Not a prerequisite for choosing a product. Empty args ({}) return the current list; an empty response means insufficient qualifying evidence (status insufficient_evidence + next_step) — it is never filled from search popularity, page views or trending queries. Use market_gaps instead for jobs that few paid products serve.

Input Schema

NameRequiredDescriptionDefault
limitNoMax signals (1-50, default 20)
include_ownNoAlso list signals that come ONLY from your own searches (default false; counted in your_own_only_excluded)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "JSON result; identical to the text content block.",
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / include_own
      Added value: +{
      +  "description": "Also list signals that come ONLY from your own searches (default false; counted in your_own_only_excluded)",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds real context beyond them: the 90-day/0.62 thresholds, the single-caller interpretation warning, and the fact that an empty response returns insufficient_evidence + next_step rather than being backfilled. However, it never explains ordering beyond "ranked by distinct callers" interplay with limit/pagination, and the "generalised job labels" output shape is only loosely described.

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?

The core definition is front-loaded in the first sentence, and every subsequent clause carries a caveat an agent would otherwise get wrong (single-caller leads, insufficient_evidence, no popularity fallback). It runs long and stacks several parenthetical qualifications, but none is 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, so return-value structure needn't be described, and the description covers the one output case an agent must handle (empty response meaning insufficient evidence). With annotations, thresholds, sibling routing and the include_own default caveat all present, nothing needed to call it 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 description coverage is 100%, so both limit (1-50, default 20) and include_own (default false, counted in your_own_only_excluded) are already documented. The description adds only the empty-args case, which the schema does not state; it says nothing new about limit range or the effect of include_own. 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?

"Lists searches that found nothing good" gives a specific verb and resource, then sharpens it with a precise definition (external callers, last 90 days, no provider or best relevance below 0.62). It explicitly contrasts itself with market_gaps, so an agent can separate the two sibling tools without reading either 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?

States when to use it ("when you want searches Agentery could not answer well"), when not to lean on it ("not a prerequisite for choosing a product"), and names the alternative for the adjacent case (market_gaps). It even specifies the empty-args invocation behavior, leaving nothing to inference.

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.

Resources