Skip to main content
Glama

StackRadar MCP

A small MCP server so you can ask which developer tools are heating up. It uses the same 0 to 100 momentum math as StackRadar: GitHub stars 60 percent, forks 15 percent, community mentions 25 percent. Each answer includes a short line you can say out loud.

The server is the official Python MCP SDK on Streamable HTTP. It speaks spec 2025-11-25 and 2026-07-28. If a public API is down, a saved snapshot still answers.

Tools

  • trending_tools: category and window. Ranked list, plus a spoken top three.

  • compare_tools: two names. Scores, the gap, and which part of the formula caused it.

  • tool_score: one name. Score, stage, and the points from stars, forks, and mentions.

  • weekly_digest: optional category. Score leaders, and who got louder this week.

Categories: all, web, ai, data, cloud, devops, systems, security, web3.

Windows: 24h, 7d, 30d.

Related MCP server: Trends MCP

How a request moves

sequenceDiagram
  participant Host as Alexa+ or MCP host
  participant Server as StackRadar MCP
  participant Score as Scorer
  participant Live as GitHub HN Dev.to Reddit RSS
  participant Seed as Snapshot
  Host->>Server: Streamable HTTP
  Server->>Score: tool call
  Score->>Live: fetch when live
  Score->>Seed: fallback

The text you hear is the spoken line. The structured result holds the breakdown and whether the numbers came from live data, the snapshot, or a mix.

Alexa+

This is a self hosted MCP server for the Alexa+ track. The entry point is stackradar-mcp, which is python -m stackradar_mcp. It imports the official SDK and serves Streamable HTTP at /mcp. Sample host config: clients/mcp.json.

Amazon's Alexa+ add-on tools (CLI, MCP Toolkit, web simulator) are partner preview only. The hackathon FAQ says you cannot get access, and you do not need them. Demo with the included client, or any MCP host pointed at http://127.0.0.1:8741/mcp.

When Amazon opens registration, use that URL path /mcp. Responses are one JSON body per call, with no session, so a plain HTTPS endpoint is enough.

Things you can say:

  • What's trending in AI this week?

  • Compare FastAPI and Next.js.

  • What's the score for Ollama?

  • Give me the weekly developer digest.

Spoken lines are plain sentences. No markdown. No emoji.

Run it

Python 3.10 or newer. Tested on 3.12.

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
STACKRADAR_MODE=seed STACKRADAR_PORT=8741 stackradar-mcp

Other terminal:

python clients/demo_client.py

You should see protocol 2025-11-25 or later, then a spoken line for each tool.

STACKRADAR_MODE=auto tries live APIs and fills gaps from the snapshot. Optional GITHUB_TOKEN raises the GitHub rate limit. Cache lives in .cache/stackradar for six hours.

Health: http://127.0.0.1:8741/health

Landing page: http://127.0.0.1:8741/

Settings:

  • STACKRADAR_MODE: auto fetches live data. seed uses only the snapshot. Default is auto.

  • STACKRADAR_HOST: bind address. Default 127.0.0.1. Docker uses 0.0.0.0.

  • STACKRADAR_PORT: default 8741.

  • STACKRADAR_CACHE_DIR: default .cache/stackradar. Lambda uses /tmp/stackradar-cache.

  • STACKRADAR_CACHE_TTL_SECONDS: default 6 hours.

  • STACKRADAR_LIVE_BUDGET_SECONDS: default 8. A slow API does not stall the reply.

  • GITHUB_TOKEN: optional.

  • STACKRADAR_MCP_URL: demo client target. Default http://127.0.0.1:8741/mcp.

Docker

docker build -t stackradar-mcp .
docker run -p 8741:8741 -e STACKRADAR_MODE=seed stackradar-mcp

The image listens on port 8741. The same image can run on App Runner. The SAM template is the path that does not need a registry.

AWS Lambda

template.yaml packages this repo as a Python 3.12 function and puts a Function URL in front of it. stackradar_mcp/lambda_handler.py wraps the same app with Mangum.

Each POST returns one JSON body, and the server keeps no session, so a buffered Function URL can host it. The URL is public so a judge can call it. Switch the auth type to AWS_IAM if you leave it up.

sam build
sam deploy

sam deploy will ask you the usual questions the first time. Copy samconfig.toml.example to samconfig.toml if you want a starting point. The MCP path is the function URL plus mcp. Health is the function URL plus health.

Deploy needs your AWS account. It is not deployed from here.

Tests

pytest

The tests lock the StackRadar formula, check the spoken lines, prove snapshot mode makes no HTTP calls, prove a live merge when Reddit is blocked, and call all four tools in process and over Streamable HTTP.

Layout

  • stackradar_mcp/server.py: MCP entry point and HTTP routes

  • stackradar_mcp/scoring.py: the StackRadar formula

  • stackradar_mcp/signals.py: live fetches, cache, snapshot fallback

  • stackradar_mcp/data/seed_signals.json: the snapshot

  • clients/demo_client.py: Streamable HTTP demo

  • clients/mcp.json: sample host config

  • template.yaml: Lambda Function URL

  • Dockerfile: container image

  • DEVPOST.md: draft submission and video script

  • FRICTION_LOG.md: what got in the way

Refresh star and fork counts with:

python scripts/build_seed.py live

Mention baselines stay put, so the weekly line still has a prior week.

License

MIT. See LICENSE. GitHub shows it in the About section when this file sits at the repo root.

Live endpoint

Deployed on AWS Lambda (ap-south-1) with a Function URL:

Try it: STACKRADAR_MCP_URL=https://54v2yptdgkqlv7bu2mfjbcjaaa0raiuw.lambda-url.ap-south-1.on.aws/mcp python clients/demo_client.py

Related MCP Connectors

  • Cross-source trend signals from 10 developer communities, scored every 30 minutes.

  • The posts rising fastest right now on Hacker News, GitHub, Product Hunt and more, for any topic.

  • Trend data from Google, TikTok, Amazon, Reddit, YouTube, Steam, npm and more as JSON

  • Your agent needs to know where a brand or a phrase is being talked about across the web — with the trend line, the sentiment and the ratings attached. **What you can ask for** • "Where is our brand cited across the web this quarter, and is that rising?" • "What is the sentiment around this phrase?" • "How do ratings for this product distribute?" • "Which categories is this topic trending in?" • "Summarise everything published about this term." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-content/mcp and sign in with OAuth — there is no key to create or paste. 10 tools: content search, summary, phrase and category trends, sentiment analysis, rating distribution, plus the filters, categories, languages and locations behind them. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find where you are mentioned here, then ask the same agent who links to those pages — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Real-time trend data from Google Trends (Search, Images, News, Shopping), YouTube, TikTok, Reddit, Amazon, Wikipedia, npm, Steam, Spotify, X (Twitter), App Store, Google Play, web traffic, and news sentiment via one MCP connection. Works with Claude, Cursor, VS Code, Windsurf, ChatGPT, and any MCP-compatible AI.
    28
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Discover, rank, and compare GitHub repositories from any MCP-compatible AI client. Enables searching, filtering, ranking, and evaluating open-source repositories by topic, language, stars, license, activity, and relevance.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that gives AI agents a ranked, evidence-backed board of what's trending in AI — repos, models, papers, news — and a daily brief, using fused signals from GitHub, Hacker News, npm, and more.
    332 PyPI
    3
    Apache 2.0