exNiche
Server Details
Unmet shopper demand: products people ask for and can't buy, checked against 2M+ retail listings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools have a clear primary role, but there is real overlap: check_demand, list_gaps and search_products all retrieve gap/listing data, and get_gap with detail=full competes with get_dossier as the 'deep dive on one gap' path. The descriptions differentiate cost and scope, but an agent must read carefully to pick correctly.
All seven tools follow a snake_case verb_noun convention (check_demand, get_gap, list_gaps, search_products, report_not_found), which is predictable. get_setup_and_upgrade_links is an unusually long compound outlier but still fits the pattern.
Seven tools is well-scoped for a gap-research service: discovery, listing, single-gap detail, dossier, product search, reporting, and onboarding links each earn a slot. Nothing feels padded or missing at this granularity.
The surface covers the core lifecycle: find gaps (check_demand/list_gaps), inspect them (get_gap/get_dossier), search live retail (search_products), and report misses (report_not_found), plus setup/upgrade help. Minor gaps exist — no way to check credit balance or track/save gaps across sessions — but agents can work around these.
Available Tools
7 toolscheck_demandCheck demand for a product ideaAInspect
Start here. Check whether people have asked for a product and could not buy it. Returns matching exNiche gaps at summary level (verdict, score band, class, trend, source counts, one linked ask) and records your ask as one AI agent search. 1 credit. Never send personal details or synthetic asks.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Short product idea, e.g. 'waterproof dog backpack'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| query | No | |
| licence | No | |
| matches | No | |
| message | No | |
| recorded | No | |
| upgrade_url | No | |
| human_message | No | |
| credits_charged | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the non-obvious cost ('1 credit') and the side effect that the call records the ask as one AI agent search, which is exactly why readOnlyHint=false and idempotentHint=false matter. It also enumerates what the summary-level response contains, so the agent knows what it gets before spending a credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the ordering cue, then purpose, return shape, cost, and a safety constraint in four tight sentences. The parenthetical list of return fields earns its space by letting the agent judge sufficiency without opening the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema already present, the description covers purpose, entry-point role, cost, side effect, and a data-safety rule. Nothing an agent needs in order to call it correctly and safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single query parameter already carries a length bound and an example, so the schema does the heavy lifting. The description adds a content constraint ('never send personal details or synthetic asks') but no syntax or scoping detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific check ('whether people have asked for a product and could not buy it') and names the resource as 'exNiche gaps at summary level', which implicitly separates it from detail-oriented siblings like get_gap and get_dossier. It never names a sibling explicitly, so the differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Start here' gives an explicit entry-point ordering, and 'Never send personal details or synthetic asks' is a clear when-not constraint. It stops short of naming the sibling to use for follow-up detail (get_gap/get_dossier), so the routing is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dossierGet a gap dossierAIdempotentInspect
Full dossier for a scored gap: product-by-product checks, live closest products, supplier candidates and a suggested spec. Needs a workspace key. Unlocking costs 19,000 credits once per account; an already unlocked dossier costs 0. Ask the user before unlocking.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| dossier | No | |
| licence | No | |
| upgrade_url | No | |
| human_message | No | |
| credits_charged | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations covering safety (readOnly=false, idempotent=true, destructive=false), the description adds critical economics the annotations cannot express: unlocking costs 19,000 credits once per account, and an already-unlocked dossier costs 0. It also discloses the workspace-key requirement and mandates user confirmation before spending, which is exactly the context an agent needs before invoking a costly non-read-only call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with zero filler: what you get, what it requires, what it costs. The cost and confirmation warning are placed where they will be read before the call, not buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers auth, cost, and user-consent behavior. It stops short of stating what occurs when credits are insufficient or when the underlying gap is not found, minor gaps for an otherwise well-covered definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter meaning. It implies the single 'id' refers to a scored gap, which is useful, but it doesn't state the id format, where to obtain it (e.g., from list_gaps or get_gap), or what happens if an unscored id is passed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific resource (a full dossier for a scored gap) and enumerates its contents: product-by-product checks, live closest products, supplier candidates, and a suggested spec. It is clear what the tool returns, but it never explicitly contrasts itself with the sibling get_gap, so the agent must infer that get_gap is the lighter-weight read and this is the expensive deep-dive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite (needs a workspace key) and a procedural rule (ask the user before unlocking), which is real usage guidance. However, it gives no explicit when-to-use-this-vs-alternatives rule against get_gap, list_gaps, or check_demand, leaving the cost-driven selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gapGet one gapARead-onlyIdempotentInspect
Get one gap by id or slug. detail=summary costs 1 credit; detail=full (exact score parts, every ask with link and attribution, requirements, 8-week ask counts) costs 100 credits. Unscored leads only return summary.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Gap id or slug from list_gaps or check_demand. | |
| detail | No | summary = L0 (1 credit per call); full = L1 (1 + 10 credits per scored row). | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
| gap | No | |
| code | No | |
| licence | No | |
| upgrade_url | No | |
| human_message | No | |
| credits_charged | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, closed-world), and the description adds real behavioral context: a 1-credit vs 100-credit price wall and the fallback behavior for unscored leads. However, the flat "costs 100 credits" conflicts with the schema's "1 + 10 credits per scored row", leaving the true cost model ambiguous for expensive calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the cost tradeoff, then the one surprising caveat. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers purpose, cost, and the summary-only edge case. The unresolved discrepancy between "100 credits" and the per-row formula is the one gap an agent could stumble on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description earns an extra point by enumerating what `full` actually returns (exact score parts, every ask with link and attribution, requirements, 8-week ask counts) rather than restating the enum. The `id` parameter gets no added meaning in the description beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get one gap by id or slug") and implicitly contrasts with the collection-level list_gaps sibling by emphasizing singular retrieval. An agent can tell immediately this is a single-record fetch keyed by identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational context: two detail levels with sharply different credit costs and the constraint that unscored leads only return summary, which tells the agent when the cheap call suffices. It does not explicitly name check_demand or get_dossier as alternatives or state when not to call it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_setup_and_upgrade_linksGet setup and upgrade linksARead-onlyIdempotentInspect
Free. Return exNiche install commands for MCP clients, the agent guide, and the signup and prepaid-credit links to hand the user when free credits run out. Free: 1,000 credits a month. Credits: A$10 = 10,000. No automatic charges.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| install | No | |
| mcp_url | No | |
| signup_url | No | |
| credits_checkout_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds genuine business context the agent needs for downstream conversation: the free tier (1,000 credits/month), the prepaid rate (A$10 = 10,000), and the absence of automatic charges. It does not cover return formatting, but an output schema exists so that burden is not on the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The functional sentence is front-loaded and dense with useful detail, and the pricing sentences are short. Minor waste: 'Free.' appears as a standalone lead-in and again as 'Free: 1,000 credits a month', which is mildly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and a full output schema, the description only needs to justify why an agent would call it and what the agent should do with the result, and it does both (hand links to the user on credit exhaustion). The pricing context rounds it out; nothing critical is missing for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly implies no input is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and enumerates exactly what comes back: install commands for MCP clients, the agent guide, and signup/prepaid-credit links. It is unambiguous and clearly distinct from the sibling tools (search_products, list_gaps, get_dossier, etc.), which are product/catalog oriented. Only mild gap is the unexplained product name 'exNiche'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: fetch these links for setup/onboarding and hand them to the user when free credits run out. There is no overlap with siblings so no exclusion is needed, but it stops short of explicitly stating when not to call it or naming an alternative path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gapsList scored product gapsARead-onlyIdempotentInspect
List the exNiche gap ledger with filters. detail=summary costs 1 credit per call; detail=full adds exact scores, all linked asks and requirements for 10 credits per scored row. Scores mean 'worth a closer look', not verified demand.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Words that must appear in the gap label or requirements. | |
| sort | No | score | |
| class | No | Comma list of absent, exists_hard_to_find, unverified. | |
| limit | No | ||
| since | No | ISO date or epoch ms; only gaps with an ask since then. | |
| trend | No | Comma list of rising, steady, cooling. | |
| cursor | No | next_cursor from the previous page. | |
| detail | No | summary = L0 (1 credit per call); full = L1 (1 + 10 credits per scored row). | summary |
| source | No | Comma list of community_ask, agent_search, store_search, bot_research. | |
| include | No | Also return unscored leads (L0 only, verdict null). | |
| verdict | No | Comma list of go, maybe, no-go. | |
| category | No | ||
| min_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| gaps | No | |
| detail | No | |
| licence | No | |
| next_cursor | No | |
| upgrade_url | No | |
| human_message | No | |
| credits_charged | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, closed-world behavior, and the description adds genuinely new context: the credit cost model (1 per call, +10 per scored row for full detail) and the caveat that scores signal 'worth a closer look', not verified demand. That disclaimer meaningfully shapes how an agent should interpret results. It omits pagination behavior and result-set sizing, so it falls short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it lists, then the cost model, then the critical interpretive caveat. The most decision-relevant facts (cost and score meaning) are front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 optional parameters, an output schema, and full annotation coverage, the description supplies the two things structured fields cannot: the credit cost model and the semantics of scores. It leaves out pagination guidance and how filters combine, but nothing critical is missing for a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 69%, so most parameters are already documented in the schema. The description adds meaning only for 'detail' (clarifying it costs 1 credit per call vs 10 per scored row) and implicitly for score-related params via the 'worth a closer look' note; filters like q, verdict, class, source, and cursor get nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the exNiche gap ledger') plus its scoping ('with filters'), which is enough to distinguish this list tool from get_gap. It never names a sibling explicitly, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance on the detail=summary vs detail=full tradeoff and its credit cost, which implicitly steers the agent's choice. It never says when to prefer this listing over get_gap, check_demand, or get_dossier, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_not_foundReport unsatisfied shopping requestAInspect
Free. Report a genuine shopper mismatch after a search. Do not send synthetic reports or personal details. Response states whether the agent observation was saved; it is not verified human demand.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| note | No | |
| saved | No | |
| evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag a non-read-only, non-destructive, non-idempotent write; the description adds real value on top by disclosing cost ("Free"), the response semantics (saved vs. not), and the important caveat that the report is not verified human demand. It doesn't mention duplicate/idempotency behavior, which matters given idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with cost and action, then constraints, then return semantics — nothing wasted and no repetition of annotation or schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The caveat about verification and the saved/not-saved response are covered, and an output schema exists so return shape needn't be spelled out. However, a write tool with an undocumented required argument should define what constitutes a "mismatch" and what to put in query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is never explained — "query" could plausibly mean the original search string, the product sought, or a free-text mismatch description (maxLength 500 suggests the latter). Only the phrase "after a search" hints at its content, leaving the required argument genuinely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb (report) plus a scoped object (a genuine shopper mismatch after a search), which an agent can distinguish from check_demand/list_gaps. It never names a sibling outright, so sibling routing is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"after a search" establishes the precondition, and "Do not send synthetic reports or personal details" gives an explicit when-not rule that most tools lack. It stops short of naming which alternative to use (e.g., check_demand) when the agent wants demand data instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch retail productsARead-onlyIdempotentInspect
Search recorded retail listings across stores using explicit budget, currency, size, color and stock filters. 1 credit. Returns ranked purchase links with observed availability; unknown facts stay unknown. Misses may be saved as agent observations, never verified human demand.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Required recorded size, e.g. M. | |
| sort | No | relevance | |
| color | No | Required recorded color, e.g. black. | |
| limit | No | ||
| query | Yes | Short product category or name, e.g. keyboards, shoes or coffee. Put constraints in separate fields. | |
| currency | No | Three-letter currency code, e.g. AUD. | |
| in_stock | No | Filter recorded availability. Availability must be checked at retailer. | |
| max_price | No | Maximum recorded price. Supply currency too; no currency conversion. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| found | No | |
| results | No | |
| upgrade_url | No | |
| human_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, yet the description still adds real behavioral value: a 1-credit cost, ranked purchase-link output with only observed availability, the disclaimer that unknown facts stay unknown, and that misses are logged as agent observations rather than verified demand. It could go further on what 'ranked' means or pagination, but this is well beyond annotation restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and filter scope, and the cost/return/caveat information is packed without filler. The final clause about saved observations is terse to the point of slight opacity but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter open-world search with an output schema (so return shape needn't be spelled out) and annotations covering safety, the description supplies cost, reliability caveats and filter intent. Missing only explicit sibling routing, which keeps it short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 75% schema description coverage the schema already documents query, size, color, currency, max_price and in_stock. The description only echoes the filter families ('budget, currency, size, color and stock') without adding format or interaction detail (e.g. that max_price requires a matching currency), so it lands at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Search recorded retail listings across stores') plus the filter axes it accepts, which is enough for an agent to recognize a product-listing search. The closing clause about observations vs verified human demand implicitly carves out space from siblings like check_demand, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'using explicit budget, currency, size, color and stock filters' – it tells you this is the constrained-search path – but it never states when to prefer check_demand, get_gap or report_not_found instead, nor any prerequisite or exclusion. Adequate implication, no explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
check_demand - First observed
get_dossier - First observed
get_gap - First observed
get_setup_and_upgrade_links - First observed
list_gaps - First observed
report_not_found - First observed
search_products
Related MCP Connectors
Consumer demand signals across search, shopping and social. Free key at trendsapi.ai
Search 3,000+ researched business opportunities from real demand signals. Premium plan required.
Product intel: Amazon, AliExpress, Shopify, TikTok Shop, ads and search interest.
Cross-merchant product search with real price history, comparisons, and demand signals.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides Amazon search volume trends and growth signals to measure real consumer purchase intent, queryable by AI assistants.20 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceEnables evaluation of digital marketplaces by classifying demand signals, scoring commercial viability, sanity-checking claims, and comparing candidate channels.-
- AlicenseAqualityCmaintenanceQuery PainSpotter to discover validated business opportunities and trending pain points mined from Reddit, Hacker News, and Product Hunt.41MIT
- AlicenseAqualityBmaintenanceStructured product data from the open web — where platform APIs don't reach. Schema.org + AI extraction. Pay per call via Stripe MPP.241 npm3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.