demandex-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRIVATE_KEY | No | Fallback for EVM_PRIVATE_KEY. 0x-prefixed wallet key with USDC on Base Mainnet. | |
| EVM_PRIVATE_KEY | No | 0x-prefixed wallet key with USDC on Base Mainnet. Required to pay the 5 paid tools on a live API. PRIVATE_KEY is accepted as a fallback. Free tools work without it; without a key the paid tools surface the 402 price terms. | |
| DEMANDEX_API_URL | No | Override the API base URL (default https://api.demandex.dev). | https://api.demandex.dev |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_categoriesA | Category index with opportunityCount, topScore, lastUpdated per category. Free. |
| get_sample_opportunityB | Real, fixed sample opportunity card showing the full paid card shape. Free. |
| get_trending_opportunitiesA | PAID $0.01 via x402. Top 20 trending opportunity cards by score as TEASERS (id, slug, title, category, score, signalCount, lastSeen) — no evidence; buy get_opportunity for the full card. Pays USDC on Base via x402. Compute-first, settle-after — you are never charged for an error. Set EVM_PRIVATE_KEY (wallet with USDC on Base Mainnet) to pay on a live API; without a key the call returns the 402 price terms. |
| get_opportunitiesA | PAID $0.02 via x402. Up to 50 opportunity cards in a category, each a teaser plus its summary. Requires category; optional minScore (0-100) filters. Unknown/missing category → no-charge 400 listing valid categories. Pays USDC on Base via x402. Compute-first, settle-after — you are never charged for an error. Set EVM_PRIVATE_KEY (wallet with USDC on Base Mainnet) to pay on a live API; without a key the call returns the 402 price terms. |
| get_opportunityA | PAID $0.05 via x402. One FULL opportunity card by id or slug (provide exactly one): all score components (freqScore, intensityScore, wtpScore), productAngle, summary, evidence[] (verbatim quotes with subreddit, upvotes, permalink), builderMomentum, firstSeen, lastSeen, signalCount, distinctAuthors. Pays USDC on Base via x402. Compute-first, settle-after — you are never charged for an error. Set EVM_PRIVATE_KEY (wallet with USDC on Base Mainnet) to pay on a live API; without a key the call returns the 402 price terms. |
| gauge_demandA | PAID $0.03 via x402. Demand verdict for any physical-product query, cached 7 days by normalized query (corpus-only synthesis + 1 LLM call). Returns { query, verdictScore (0-100), demandTemperature (cold|warm|hot), rationale, topEvidence[], relatedOpportunities[], cache, fetchedAt }. Pays USDC on Base via x402. Compute-first, settle-after — you are never charged for an error. Set EVM_PRIVATE_KEY (wallet with USDC on Base Mainnet) to pay on a live API; without a key the call returns the 402 price terms. |
| gauge_demand_liveA | PAID $0.10 via x402. Demand verdict backed by a LIVE Reddit search at request time (up to 50 posts) plus the mined corpus and one LLM synthesis call, under a ~45s budget. Same verdict shape as gauge_demand (cache always miss); timeout → no-charge 504. Pays USDC on Base via x402. Compute-first, settle-after — you are never charged for an error. Set EVM_PRIVATE_KEY (wallet with USDC on Base Mainnet) to pay on a live API; without a key the call returns the 402 price terms. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: categories, sample, trending list, category list, full detail, and two demand gauges. The only potential confusion is between get_trending_opportunities and get_opportunities, but pricing and descriptions (trending vs category-based) make them differentiable.
The verb_noun pattern is consistent, with all retrieval tools prefixed get_ and analysis tools using gauge_. The shift from get_ to gauge_ is logical and doesn't break readability, but it is a minor deviation from a uniform verb.
Seven tools is well-scoped for a demand-intelligence server, covering free samples, paid tiers, and both cached and live analysis without redundancy. Each tool earns its place in the workflow.
The surface covers categories, trending, detailed cards, and demand gauging, which covers the core use case. A minor gap is the lack of keyword-based opportunity search, though gauge_demand's relatedOpportunities partially fills this.