hn-mcp
hn-mcp
MCP server for Hacker News research. Gives AI agents structured access to HN stories, discussions, and the full 47M-item archive.
Works with Claude Code, ChatGPT, Cursor, and any MCP-compatible client.
Tools
search -- find stories and comments
{ "query": "rust vs go backend", "min_points": 50 }
{ "query": "react", "type": "comment", "author": "gaearon" }
{ "query": "bitcoin", "date_from": "2017-01", "date_to": "2017-12" }Uses Algolia for fast, ranked full-text search. Specify date_from/date_to
to search the local archive instead (DuckDB over Parquet, 2006-present).
browse -- current front-page listings
{ "list": "top", "count": 30 }
{ "list": "show" }Lists: top, new, best, ask, show, job.
thread -- read a full discussion
{ "id": 27016630 }
{ "id": 27016630, "max_comments": 0 }Returns the story and its full comment tree (threaded, not flat). Comments are fetched in parallel. Default limit: 200 comments, depth 8.
user -- look up a user
{ "username": "pg" }Returns karma, account age, about text, and recent submission IDs.
Data Sources
Source | Coverage | Speed | Used by |
Algolia API | Indexed stories + comments | Fast |
|
Firebase API | Real-time items, users, lists | Fast |
|
Local Parquet + DuckDB | 47M+ items, 2006-present | Slower |
|
Deploy
npm install
npm run build
npm start
# listening on http://localhost:8787/mcpWith Docker:
docker compose up -dThe Docker setup binds ./data as the Parquet archive directory. To download
the historical archive:
bash scripts/sync-data.shThis fetches monthly Parquet shards from HuggingFace (~12 GB total). It skips files already downloaded and re-downloads the current month.
Production (nginx + certbot)
Copy hn-mcp.conf to /etc/nginx/sites-enabled/, update server_name, then:
certbot --nginx -d your-domain.comConnect
# Claude Code (local)
claude mcp add hn-research --url http://localhost:8787/mcp
# Claude Code (remote)
claude mcp add hn-research --url https://your-domain.com/mcp
# Cursor / VS Code -- add to .cursor/mcp.json or .vscode/mcp.json:
# { "mcpServers": { "hn-research": { "url": "http://localhost:8787/mcp" } } }Environment
Var | Default | Description |
|
| HTTP server port |
|
| Path to Parquet archive files |
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thevibeworks/hn-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server