hackertube-mcp
Provides recommendations and semantic search over a local dataset of YouTube videos frequently recommended on Hacker News, returning video summaries, links, thumbnails, commenter reasons, related videos, and topic-based rankings.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
hackertube-mcp
An MCP server that answers "what should I watch for this?" with the YouTube videos Hacker News keeps telling each other to watch.
It runs over the open data export from HackerTube: 6,454 videos that at least three different HN commenters recommended across at least three different months, from 2007 to 2026, with LLM-written cards, 39,834 labeled HN comments, a 150-category topic tree and the "same people also recommended" graph. Ask your agent something like "I'm about to give my first conference talk, what should I watch?" and it gets back the two best picks, each with links and the reasons real HN commenters gave for watching it.
Everything runs locally. There are no API keys and no LLM calls on the server, and queries take a few milliseconds.
Unofficial. Not affiliated with HackerTube, Hacker News, Y Combinator, YouTube or Google.
Quick start
Requires uv.
git clone https://github.com/alexmartiguiu/hackertube-mcp
cd hackertube-mcp
uv run hackertube-mcp --warmup # one-off: downloads the 18 MB export + a 70 MB embedding model
uv run hackertube-mcp -q "I need to learn how transformers work" # try it from the terminalClaude Code
claude mcp add hackertube -- uv --directory /path/to/hackertube-mcp run hackertube-mcpClaude Desktop / Cursor / any MCP client
{
"mcpServers": {
"hackertube": {
"command": "uv",
"args": ["--directory", "/path/to/hackertube-mcp", "run", "hackertube-mcp"]
}
}
}Related MCP server: YouTube for AI Agents
Tools
tool | what it does |
| The k best picks for a situation or goal: summary, why HN likes it, up to 5 commenter reasons, pull quote, thumbnail. |
| A broader semantic search that returns compact cards. |
| One video's full card plus the actual HN comments about it, recommendations first, with thread links. |
| Videos with similar content, and other videos the same HN commenters also recommended. |
| The topic tree: 16 areas and 150 categories, with video counts. |
| HN's most consistently recommended videos in a category or area. |
All tools take optional levels and content_types filters. Videos that only matter around a
single news event, and videos HN only cited without recommending, are hidden by default.
How ranking works
The query is embedded with
BAAI/bge-small-en-v1.5, the model HackerTube used forembeddings.npy.recommendalso embeds eachalso_phrasedrephrasing, and a video scores by its best-matching phrasing.Cosine similarity is mapped to a relevance score in [0, 1].
That relevance is scaled by HackerTube's quality score: the number of distinct months HN recommended the video, log-squashed, with weight 0.3. Quality reorders relevant videos, but it can't push an off-topic classic to the top.
Re-uploads are removed by deduplicating on normalized title.
A cross-encoder reranker (jinaai/jina-reranker-v1-turbo-en) is available with
HACKERTUBE_RERANK=1. It's off by default. In testing it was better on exact titles but scored
situation-style questions ("I'm becoming an engineering manager") close to zero, and it adds a 130 MB
model and about 600 ms per query.
scripts/try_queries.py runs 24 sample questions so you can eyeball the results.
What it's good at: technical topics HN loves, such as distributed systems, performance, compilers, cryptography, ML, computing history and math intuition.
What's thin: career and soft skills (salary negotiation, management), and anything HN doesn't link
to much. Situation-style questions work much better when the agent passes topical rephrasings in
also_phrased, and the tool description tells it to.
Configuration
env var | default | meaning |
|
| where the export is downloaded and read from |
|
| set to |
Tests
uv run python tests/test_stdio.py # launches the server over stdio and calls every tool
uv run python scripts/try_queries.py # eyeball ranking qualityRoadmap
The export has no transcripts, so the current "tips" are what HN commenters said about each video, not what the video itself says. Next steps:
Transcripts → tips with timestamps. Fetch captions, have a small model (for example Gemini Flash-Lite) write 5–10 concrete takeaways per video with timestamp links, and embed transcript chunks for passage-level search. Rough cost for the whole corpus is about 60M input tokens, or roughly $5–30 depending on the model. Raw transcripts won't be redistributed; each user regenerates them locally.
YouTube metadata (durations, so you can filter by "under 20 minutes") through a free YouTube Data API key. See
DATA.mdin the export.An infographic tool that renders the tips from the top-k picks as a single visual.
License and credits
Code: MIT.
The data isn't included in this repo. It's downloaded at runtime from hackertube.org/data under ODC-By 1.0. Credit goes to HackerTube (https://hackertube.org) and the open-index/hacker-news dataset. HN comments remain the work of their authors. Video titles and channel names belong to their creators. The summaries and labels were written by an LLM, so expect a few to be off.
This server cannot be deployed
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
YouTube transcripts, video search, chapters and extractive summaries. No YouTube API key, no LLM.
YouTube transcripts, comments, video details, heatmaps, search, channels and playlists.
Related MCP Servers
- AlicenseBqualityDmaintenanceTransforms YouTube into a queryable knowledge source with search, video details, transcript analysis, and AI-powered tools for summaries, learning paths, and knowledge graphs. Features quota-aware API access with caching and optional OpenAI/Anthropic integration for advanced content analysis.1014 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search, watch, summarize, clip, and extract transcripts from YouTube videos, all without needing an API key or leaving the chat.927 npm61Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables search across videos you've watched via transcripts, on-screen text, and frames, citing exact timestamps. Point it at videos, channels, or playlists; it indexes everything locally and answers queries with deep links to the exact second.3MIT
- FlicenseNot gradedqualityCmaintenanceEnables natural-language access to YouTube features such as transcripts, search, metadata, channels, playlists, comments, trending videos, engagement analytics, chapters, SponsorBlock filtering, and heatmaps.14 npm-