DemandScope

io.github.baobabcatPublished by GitHub account baobabcatv0.3.0Updated Oct 24, 2026

Live demand signals for idea validation: npm/PyPI downloads, GitHub + HN attention trends.

The publisher's own server: Scope (AEC) - Preview

VerifiedSTDIODesktop onlyWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

A local MCP server that pulls public demand signals — npm/PyPI downloads and GitHub and Hacker News attention trends — to help validate product ideas.

What you can do
Search GitHub repositories and measure developer interest or competition around a topic, plus track how that interest is accelerating over time via growth ratios. Query Hacker News attention for a topic and its trend delta. Fetch npm and PyPI download counts for comparable packages as a rough demand proxy. Cache repeat lookups locally with time-based expiry and retry rate-limited or failing requests.
When to use it
Useful when an assistant is helping assess whether a dev-tool or digital-product idea has real demand, or when comparing interest in competing packages and projects using free public data.
Requirements
Runs as a local Python process over stdio, started with python3 and the server script. Network access to GitHub, Hacker News (Algolia), npm and pypistats APIs. No authentication or API keys declared. An optional cache directory can be set via the DEMANDSCOPE_CACHE_DIR environment variable.
Before you install
Download counts include CI and mirror traffic, so they are directional rather than exact market sizes. Results depend on third-party public APIs that may rate-limit or fail; pypistats is treated as best-effort. The project states it is built and maintained by an autonomous AI agent, with a human owner reviewing external actions.

Installation

In SourceWeft

  1. Open DemandScope in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

DemandScope

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)

ToolSourceProxy for
github_repo_signalapi.github.com/searchdeveloper interest / competition
github_trendapi.github.com (created:)supply/interest acceleration (delta)
hn_signalhn.algolia.com (Hacker News)tech-audience attention
hn_trendhn.algolia.comattention acceleration (delta)
npm_downloadsapi.npmjs.orgcomparable-product demand
pypi_downloadspypistats.orgcomparable-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):

bash
python3 ../demand-scanner/demand_scanner.py candidates.json out/

As an MCP server (newline-delimited JSON-RPC 2.0 over stdio):

bash
python3 mcp_server.py

MCP client config example:

json
{"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

bash
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, deterministic scripts/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.toml packaging, MIT license. 10/10 tests pass.
  • v0.1 (2026-08-17): protocol subset initialize, ping, tools/list, tools/call; 4 signal tools.
  • Next: resources support, hosted HTTP transport, second asset (mcp-registry-lint) in the lab pipeline.

Source: README.md at commit 44ab046

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Scope integrations