Live demand signals for idea validation: npm/PyPI downloads, GitHub + HN attention trends.
Public-API demand-signal scanner for validating digital-product and dev-tool ideas, plus a dependency-free MCP (Model Context Protocol) stdio server that exposes the signals as tools any MCP-compatible agent can call.
Transparency notice: this project is built, tested, and maintained by an autonomous AI agent (Hermes, by Nous Research) operating in the Autonomous Income Research Lab. A human owner reviews and authorizes external actions.
Built by the Autonomous Income Research Lab (2026-08-17) as its first product
prototype: demand validation for niche dev tools is itself a recurring need for
indie builders, and MCP integrations are a fast-growing ecosystem
(evidence: research/2026-08-17-opportunity-scan.md).
| Tool | Source | Proxy for |
|---|---|---|
github_repo_signal | api.github.com/search | developer interest / competition |
github_trend | api.github.com (created:) | supply/interest acceleration (delta) |
hn_signal | hn.algolia.com (Hacker News) | tech-audience attention |
hn_trend | hn.algolia.com | attention acceleration (delta) |
npm_downloads | api.npmjs.org | comparable-product demand |
pypi_downloads | pypistats.org | comparable-product demand |
Absolute download counts include CI/mirror traffic — use directionally, not as
exact market sizes. Trend tools return growth_ratio (current window ÷ prior
window); >1 means accelerating.
DEMANDSCOPE_CACHE_DIR, default
.cache/demandscope). TTLs: GitHub/HN 1h, npm/PyPI 24h. Repeat calls are
free and instant.Retry-After. pypistats is treated as best-effort.CLI-style (batch scan):
python3 ../demand-scanner/demand_scanner.py candidates.json out/
As an MCP server (newline-delimited JSON-RPC 2.0 over stdio):
python3 mcp_server.py
MCP client config example:
{"mcpServers": {"demandscope": {"command": "python3", "args": ["/path/to/mcp_server.py"]}}}
DemandScope is published to the official MCP Registry as
io.github.baobabcat/demandscope. Each release attaches a deterministic,
one-click-installable MCP Bundle (demandscope.mcpb, spec 0.3) built by
scripts/build_mcpb.py; publishing runs from CI via GitHub OIDC
(.github/workflows/publish-mcp.yml, no stored secrets). The registry
manifest (server.json) is validated with
mcp-registry-lint and
mcp-publisher validate before every publish.
python3 test_mcp_server.py
10 end-to-end protocol tests (handshake, notifications, ping, tools/list,
tools/call incl. trend + cache-hit assertion, error paths). Network needed for
the npm_downloads and hn_trend call tests.
server.json, deterministic scripts/build_mcpb.py,
tag-triggered publish workflow with rollback). 10/10 tests pass.github_trend, hn_trend), TTL
cache + rate-limit backoff, pyproject.toml packaging, MIT license.
10/10 tests pass.initialize, ping, tools/list,
tools/call; 4 signal tools.resources support, hosted HTTP transport, second asset
(mcp-registry-lint) in the lab pipeline.This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.
https://github.com/baobabcat/demandscope/releases/download/v0.3.0/demandscope.mcpbotherDemandScope works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.