Labsco
MCP SERVER

Hn MCP Server

by cyanheads

Read Hacker News properly — feeds, whole comment threads, user history and full-text search.

News, Feeds & Trend Monitoring
Summary
A thread read as a thread, not as a list of comment ids.

hn_get_thread walks the tree breadth-first in HN's own ranking order and returns depth and parentId per comment, so an agent can summarise a discussion rather than a heap of replies. Depth 0 doubles as a single-item lookup, which saves a separate tool for the same job.

What it is

A TypeScript server over the Hacker News Firebase API and Algolia search. Four read-only tools; no key, because both APIs are public.

What you get
  • Stories from any of six feeds — top, new, best, ask, show and jobs — with a count from 1 to 100 and an offset for paging — hn_get_stories
  • An item and its comment tree by ranked breadth-first traversal, depth 0 to 10 and up to 200 comments, flattened with depth and parentId so the tree can be rebuilt — hn_get_thread
  • A user profile with karma, creation date and about text, optionally resolving up to 50 submissions per page — hn_get_user
  • Full-text search over stories and comments through Algolia, filtered by type, author, date range and minimum points — hn_search_content
  • A compact search view that drops the two body-text fields, which otherwise repeat a long comment twice per hit
  • Server instructions delivered on initialize — item types, id reuse across tools, case-sensitive usernames and field sparsity
Requirements

Nothing to authenticate. Run npx -y @cyanheads/hn-mcp-server over stdio, use the published Docker image, or point a Streamable HTTP client at the public instance at https://hn.caseyjhand.com/mcp. A local install wants Bun v1.3.0 or Node.js 24 and above; HN_CONCURRENCY_LIMIT defaults to 10 and caps batch item fetches.

Setup effort

One command — npx -y @cyanheads/hn-mcp-server