DemandScope MCP server
Commit Sep 3, 2026Validates digital product ideas by scanning demand signals from GitHub, Hacker News, npm, and PyPI.
Also known as baobabcat/demandscope
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.3.0
- Last commit
- Sep 3, 2026
- License
- MIT
What is DemandScope MCP?
DemandScope validates digital product ideas by scanning demand signals from GitHub, Hacker News, npm, and PyPI.
Summary generated from the project's README
About DemandScope MCP server
DemandScope provides a way for developers and indie builders to validate digital product ideas by analyzing demand signals from various public platforms. It functions as a dependency-free MCP server using stdio, allowing any MCP-compatible agent to access real-time data through specific tools. The server connects to GitHub, Hacker News, npm, and PyPI to gather insights without requiring API keys or authentication.
Users can interact with the server via a CLI for batch scanning or integrate it into an MCP client configuration. The system includes a file-based TTL cache to ensure repeat calls are instant, with specific expiration times for different sources. It also features exponential backoff to handle rate limits and provides trend analysis through growth ratios. Concrete tools available include github_repo_signal, github_trend, hn_signal, hn_trend, npm_downloads, and pypi_downloads.
What you can do with it
- 1Analyze developer interestAsk the AI to check GitHub repository signals to gauge competition or interest in a specific niche.
- 2Identify accelerating trendsRequest a trend analysis on Hacker News to see if technical attention is increasing for a topic.
- 3Compare product demandHave the agent check npm or PyPI download counts to estimate demand for comparable products.
- 4Validate niche tool ideasUse the server to scan multiple signals to confirm if a new dev tool concept has market traction.
Written from the project's README. Every use case is checked against a quote from it.
README
View on GitHubDemandScope
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.
Why
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).
Signals (all free, no-auth, ToS-friendly APIs)
| 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.
Reliability (v0.2)
- 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.
Usage
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"]}}}
MCP Registry / MCPB bundle
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.
Tests
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.
Status / roadmap
- 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.
DemandScope MCP questions
What kind of data does DemandScope provide?
It provides demand signals including GitHub repository interest, Hacker News attention trends, and npm/PyPI download counts.
How does the server handle rate limits and repeated requests?
The server uses a file-based TTL cache to make repeat calls instant and free, and implements exponential backoff for HTTP errors.
How can I interpret the trend tool results?
Trend tools return a growth ratio where a value greater than 1 indicates accelerating interest.