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.
- Cache: file-based TTL cache (
DEMANDSCOPE_CACHE_DIR, default.cache/demandscope). TTLs: GitHub/HN 1h, npm/PyPI 24h. Repeat calls are free and instant. - Backoff: exponential retry (max 4) on HTTP 429/5xx, honoring
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.pyMCP 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.py10 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.
- v0.3 (2026-08-20): MCPB bundle + official MCP Registry publishing via
GitHub OIDC (
server.json, deterministicscripts/build_mcpb.py, tag-triggered publish workflow with rollback). 10/10 tests pass. - v0.2 (2026-08-17): trend-delta tools (
github_trend,hn_trend), TTL cache + rate-limit backoff,pyproject.tomlpackaging, MIT license. 10/10 tests pass. - v0.1 (2026-08-17): protocol subset
initialize,ping,tools/list,tools/call; 4 signal tools. - Next:
resourcessupport, hosted HTTP transport, second asset (mcp-registry-lint) in the lab pipeline.