Deterministic Hacker News developer sentiment, themes & feature requests via MCP. No API key.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
What developers really think about your tool.
A deterministic read on Hacker News developer sentiment for any brand, tool, or library โ sentiment, mention volume, recurring themes, and feature requests across HN stories and comments, exposed as four agent-callable MCP tools. The differentiator is judgment and aggregation, not raw access: it scores, clusters, and mines public HN discussion so an AI agent can act in a single call, and returns the raw matched items alongside the aggregates so every number is auditable.
Zero setup โ no API key. The Hacker News (Algolia) API is open, so this Actor boots and returns data immediately. No credentials, no approval queue, no first-run friction.
No LLM in the analysis layer โ sentiment is a transparent lexicon-plus-rules scorer, so the same posts always produce the same answer.
https://<your-standby-url>/mcp) using the Streamable HTTP transport.get_sentiment_summary with a query (a brand, tool, or topic) for the headline read.search_mentions, get_feature_requests, or get_trending_discussions when you need detail. The query tools share the same cached payload per query.query is a brand/tool/topic string (e.g. "prisma", "tailwind"). channels, windowDays, and limit are optional and fall back to the Actor's configured defaults. channels selects HN post types โ story, ask_hn, show_hn, comment โ and defaults to all (stories and comments, since HN opinion lives in the comments).
get_sentiment_summary โ the headline readAggregate sentiment, mention volume, top themes, and representative samples for a query. Input: query (required), channels?, windowDays?.
netSentiment is the mean compound score in [-1, 1]; sentimentLabel buckets it at ยฑ0.05. topSamples are the three highest-engagement items. topThemes are stopword- and query-term-filtered unigrams/bigrams ranked by frequency.
search_mentions โ matched items with per-item sentimentStories and comments mentioning the query, each scored, ranked by score then recency. Input: query (required), channels?, windowDays?, limit?.
excerpt is the item text truncated to 280 characters. sentimentScore is the per-item compound in [-1, 1]. Comments have an empty title and numComments: 0.
get_feature_requests โ requests and pain points, groupedItems that voice a feature request, wish, gap, roadmap question, or pain point about the query โ grouped by cue category. Input: query (required), channels?, windowDays?, limit?.
cueCategory is one of request / wish / missing / plans / painpoint (matched by priority in that order). excerpt is the matching sentence. byCategory totals always sum to count.
get_trending_discussions โ highest-engagement stories (no query)Top Hacker News stories by engagement, no query required. Input: windowDays?, limit?.
engagement is score + numComments; items are ranked by it descending. Trending is story-level (comments excluded โ they have no thread engagement).
The server boots with no input required and returns data immediately โ the Hacker News (Algolia) API needs no credentials. All fields below are optional.
| Field | Type | Default | Description |
|---|---|---|---|
defaultChannels | array | ["story","ask_hn","show_hn","comment"] | HN post types searched when a tool call doesn't specify its own. Allowed: story, ask_hn, show_hn, comment. |
windowDays | integer | 30 | Default trailing look-back window in days (1โ90). |
cacheTtlMinutes | integer | 20 | How long a query's fetched payload is reused before refetching (1โ240). |
maxItems | integer | 100 | Upper bound on items per call; per-call limit is clamped to this (10โ250). |
Each tool returns a single structured JSON object (shown above per tool). Responses are deterministic โ the same posts plus the same config always produce the same result. Every response includes a fetchedAt timestamp reflecting when the underlying Hacker News payload was pulled; a cached read returns the same payload (and timestamp) for that TTL window.
| Field | What it tells you |
|---|---|
netSentiment | Mean compound sentiment across matched items, in [-1, 1] |
sentimentLabel | Positive / Neutral / Negative, bucketed at ยฑ0.05 |
breakdown | Count of positive / neutral / negative items |
mentionVolume | Number of matched items in the window |
topThemes | Most frequent unigrams/bigrams (stopword- and query-term-filtered) |
topSamples | The three highest-engagement matched items |
sentimentScore | Per-item compound sentiment, in [-1, 1] |
channel | HN post type: story / ask_hn / show_hn / comment |
cueCategory | Feature-request category: request / wish / missing / plans / painpoint |
byCategory | Count of feature-request items per cue category |
engagement | score + numComments for a story (trending rank key) |
fetchedAt | When the underlying Hacker News payload was fetched |
This Actor runs in Standby mode and is billed for the compute used while warm and serving requests. Reads are lightweight โ each query's HN data is fetched once, cached (default 20 minutes), and shared across the query tools, so calling several tools for the same query costs a single upstream fetch. There is no LLM in the analysis path, so no per-call model cost, and the Hacker News API is free.
get_sentiment_summary for the headline, then call a detail tool only when you need it โ the query tools share the same cached payload.channels (e.g. ["ask_hn"]) to focus on solicitation threads, or drop comment to look only at story-level signal.cacheTtlMinutes when batching many queries; lower it when you need fresh reads.windowDays (up to 90) to capture a steadier baseline.No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hn-developer-sentiment-mcp)<a href="https://allmcps.com/mcp/hn-developer-sentiment-mcp"><img src="https://allmcps.com/api/badge/hn-developer-sentiment-mcp?style=directory" alt="Hn Developer Sentiment MCP on AllMCPs" /></a>