Hn Developer Sentiment MCP
What it does
Deterministic Hacker News developer sentiment, themes & feature requests via MCP. No API key.
- Connects 클라우드에서 실행
- Account or key May need a key; not confirmed (our check was refused)
- Category 검색 및 AI 기억
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 3/5 통과 · 내가 묻는 내용은 제작자 서버(joeslade--hn-developer-sentiment-mcp.apify.actor)를 거쳐요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
Claude의 Connectors 페이지 열기
CustomizeConnectors
“+ Add” → “Add custom connector”를 누르고 이 2칸 채우기
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Name · 이름Hn Developer Sentiment MCPRemote MCP server URL · 주소https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcpAuthentication은 Claude가 찾은 그대로 두고 Add를 누르세요
채팅에서 켜기
+ConnectorsHn Developer Sentiment MCP
해 보기
Hn Developer Sentiment MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Hn Developer Sentiment MCP을 쓰고 있다고 하거나 답에 Hn Developer Sentiment MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 기업용 요금제에서만 연결돼요
웹의 ChatGPT Business, Enterprise, Edu에서 워크스페이스 관리자나 소유자가 추가해요 · Free, Plus, Pro를 쓰면: 내 ChatGPT 요금제로는 아직 MCP를 직접 연결할 수 없어요
웹 ChatGPT에서 MCP 추가 페이지 열기
Plugins+Add custom MCP server
이름과 주소 입력
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Name · 이름Hn Developer Sentiment MCPConnection · 주소https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcp채팅에서 Hn Developer Sentiment MCP 고르기
새 채팅을 열고 입력 전에 플러그인 목록에서 Hn Developer Sentiment MCP을 고르세요
해 보기
Hn Developer Sentiment MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Hn Developer Sentiment MCP을 쓰고 있다고 하거나 답에 Hn Developer Sentiment MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --transport http --scope user hn-developer-sentiment https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcpClaude Code에서 /mcp 입력
Hn Developer Sentiment MCP이 목록에 있고 연결됨으로 보이면 돼요
해 보기
Hn Developer Sentiment MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Hn Developer Sentiment MCP을 쓰고 있다고 하거나 답에 Hn Developer Sentiment MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
Hn Developer Sentiment MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Hn Developer Sentiment MCP을 쓰고 있다고 하거나 답에 Hn Developer Sentiment MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
Hn Developer Sentiment MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Hn Developer Sentiment MCP을 쓰고 있다고 하거나 답에 Hn Developer Sentiment MCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcpJSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
웹으로 연결
Claude Code
claude mcp add --transport http --scope user hn-developer-sentiment https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"hn-developer-sentiment": {
"url": "https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"hn-developer-sentiment": {
"type": "http",
"url": "https://joeslade--hn-developer-sentiment-mcp.apify.actor/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
할 수 있는 일
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 12일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 digitalgremlin 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- ✓ 통과
계속 관리되고 있음
코드 마지막 변경: 4개월 전
- ✓ 통과
라이선스 있음
AGPL-3.0 사용
- ! 주의
- ! 주의
OAuth로 로그인
키나 토큰을 직접 복사해서 붙여 넣어야 해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
검색 및 AI 기억 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5997개 중 76%보다 스타가 많아요
- 이 카테고리의 다른 서버 5997개 중 25%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5997개 중 11%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Hn Developer Sentiment MCP, 안전한가요?
해당하는 기본 점검 5개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 4개월 전 변경됐고, 최신 버전(0.1.0)은 3개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 지원하는 앱에서도 쓸 수 있어요. 예: ChatGPT Business 이상.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Context7, Codebase Memory, Ruflo
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
_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.
Who is this for?
- AI agents that need a one-call read on how developers feel about a product before drafting a comparison, a launch post, or a support reply.
- DevRel and product teams tracking how a tool, framework, or release is landing with the Hacker News crowd.
- Founders and marketers validating positioning against what developers actually say in public.
Why use Hacker News Developer Sentiment?
- Zero setup — no API key, no login, no approval process. Deploy and call.
- One call, a usable answer — sentiment label, net score, volume, top themes, and representative samples in a single structured response.
- Deterministic and auditable — no model temperature, no per-call drift. Same posts plus same config always produce the same output, and the raw items ship alongside the aggregates.
- Built for agents — a Standby MCP server speaking the Streamable HTTP transport, so any MCP client can connect and call it directly.
- Cheap and fast — one HN payload per query, cached and shared across the query tools. No LLM cost in the analysis path.
How to use Hacker News Developer Sentiment
- Deploy the Actor — run it in Standby mode on Apify. It boots with no input required and returns data immediately.
- Connect your MCP client to the Standby endpoint (
https:// /mcp) using the Streamable HTTP transport. - Call `get_sentiment_summary` with a
query(a brand, tool, or topic) for the headline read. - Drill in with
search_mentions,get_feature_requests, orget_trending_discussionswhen you need detail. The query tools share the same cached payload per query.
The four tools
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 read
Aggregate sentiment, mention volume, top themes, and representative samples for a query. Input: query (required), channels?, windowDays?.
{
"query": "prisma", "channelsQueried": ["story", "ask_hn", "show_hn", "comment"], "windowDays": 30, "mentionVolume": 52, "netSentiment": 0.18, "sentimentLabel": "Positive", "breakdown": { "positive": 29, "neutral": 16, "negative": 7 }, "topThemes": [ { "term": "type safety", "count": 15 }, { "term": "migrations", "count": 12 }, { "term": "query performance", "count": 7 } ], "topSamples": [ { "title": "Prisma 6 made our migrations painless", "channel": "story", "score": 312, "url": "https://news.ycombinator.com/item?id=48800001", "createdAt": "2026-06-02T14:11:00.000Z", "sentiment": "Positive" } ], "fetchedAt": "2026-07-14T00:00:00.000Z" }
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 sentiment
Stories and comments mentioning the query, each scored, ranked by score then recency. Input: query (required), channels?, windowDays?, limit?.
{
"query": "prisma", "channelsQueried": ["story", "comment"], "windowDays": 30, "count": 2, "items": [ { "id": "48800001", "title": "Prisma 6 made our migrations painless", "excerpt": "We migrated a 40-table schema with zero downtime and the typed client caught three bugs before...", "channel": "story", "score": 312, "numComments": 88, "url": "https://news.ycombinator.com/item?id=48800001", "createdAt": "2026-06-02T14:11:00.000Z", "sentiment": "Positive", "sentimentScore": 0.74 } ], "fetchedAt": "2026-07-14T00:00:00.000Z" }
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, grouped
Items 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?.
{
"query": "prisma", "channelsQueried": ["story", "ask_hn", "comment"], "windowDays": 30, "count": 3, "items": [ { "id": "48800042", "title": "Ask HN: does Prisma support deep JSON filtering yet?", "excerpt": "Please add deep JSON path filters to the query API.", "cueCategory": "request", "channel": "ask_hn", "score": 54, "url": "https://news.ycombinator.com/item?id=48800042", "createdAt": "2026-06-09T18:30:00.000Z" } ], "byCategory": { "wish": 1, "missing": 1, "request": 1, "plans": 0, "painpoint": 0 }, "fetchedAt": "2026-07-14T00:00:00.000Z" }
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?.
{
"channelsQueried": ["story"], "windowDays": 7, "count": 2, "items": [ { "id": "48841676", "title": "Postgres rewritten in Rust, now passing 100% of the regression tests", "channel": "story", "score": 980, "numComments": 240, "engagement": 1220, "url": "https://news.ycombinator.com/item?id=48841676", "createdAt": "2026-07-12T09:02:00.000Z", "sentiment": "Neutral" } ], "fetchedAt": "2026-07-14T00:00:00.000Z" }
engagement is score + numComments; items are ranked by it descending. Trending is story-level (comments excluded — they have no thread engagement).
Input
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). |
Output
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.
Data fields reference
| 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 |
Pricing
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.
Tips
- Start with `get_sentiment_summary` for the headline, then call a detail tool only when you need it — the query tools share the same cached payload.
- Narrow `channels` (e.g.
["ask_hn"]) to focus on solicitation threads, or dropcommentto look only at story-level signal. - Raise `cacheTtlMinutes` when batching many queries; lower it when you need fresh reads.
- Widen `windowDays` (up to 90) to capture a steadier baseline.
How it works
- An MCP client sends a tool call (e.g.
get_sentiment_summary) with aquery. - The server checks an in-memory LRU + TTL cache. On a miss, it makes one request to the open Hacker News (Algolia) search API across the selected channels and caches the raw items.
- HN text (which arrives HTML-ish) is stripped of tags and decoded, then pure analysis functions score sentiment (lexicon + negation/intensifier/emoji rules), aggregate it, extract themes, mine feature-request cues, and rank — with no further network calls.
- The matched window is filtered to the exact day count, and the tool's structured result — aggregates plus raw items plus
fetchedAt— is returned to the MCP client.
All analysis is deterministic and clock-injected (testable without network). Transient errors (network blips, 5xx) are retried with bounded backoff; rate limits (429) surface a resetAt for the caller to handle.
Works well with
Part of a small slate of agent-focused Apify Actors:
- [GitHub Repo Intelligence MCP](https://apify.com/joeslade/github-repo-intelligence-mcp) — opinionated maintainability verdicts for any GitHub repo across five MCP tools.
- [SERP Topic Gap Monitor](https://apify.com/joeslade/serp-topic-gap-monitor) — finds topic gaps in search-result coverage and produces scored gap reports.
- [Docs MCP Server](https://apify.com/joeslade/docs-mcp-server-starter) — an MCP server giving AI assistants queryable access to framework documentation.
FAQ and support
Do I need an API key or account? No. The Hacker News (Algolia) search API is open — the Actor boots and returns data with zero setup.
Is the sentiment from an LLM? No. Sentiment is a transparent lexicon-plus-rules scorer (negation, intensifiers, emoji, VADER-style normalization). There is no model in the analysis layer, which is what makes every call deterministic and auditable.
Does it read comments or just stories? Both, by default — HN opinion lives in the comments. Use the channels argument to narrow to specific post types.
Is the output stable? Yes. Same items plus same config always yield the same