hn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HN_MCP_DATA | No | Optional path to store the local DuckDB story index somewhere other than the default ~/.hn-mcp/stories/. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_storiesA | Search archived HN stories by title words (all must match, case-insensitive). |
| topic_trendB | How often each term appears in story titles over time (whole-word match, trailing * for prefix match). |
| domain_reportB | Track record of a website on HN: volume per year, score stats, best stories. |
| on_this_dayB | The top stories posted on this calendar day in every year of HN history. |
| run_sqlA | Run one read-only DuckDB SELECT over the |
| get_threadA | Fetch a story and its comment tree live from HN, in HN's ranking order. |
| search_recentB | Search stories from the last N days live (Algolia HN Search). |
| index_statusB | What the local index covers: story count, first and last story time, data folder. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct use case: archived search, live search, term trends, domain stats, on-this-day, thread fetching, raw SQL, and index status. The only real overlap is search_stories vs search_recent (clarified by the 'newer than the local index' note) and run_sql, which can replicate almost any other tool's output but is framed as a custom-analysis escape hatch.
All names are snake_case, but conventions are mixed: verb_noun (search_stories, run_sql, get_thread) alongside noun_noun or descriptive phrases (topic_trend, domain_report, index_status, on_this_day). Still readable and fairly predictable in intent.
Eight tools is well-scoped for an HN analysis server, with each tool covering a genuinely different query shape (keyword, trend, domain, date, SQL, live thread, live search, index health). No filler tools.
The surface covers search, trends, sources, date-based browsing, threads, and raw SQL for custom work. The main gap is an author/user report analogous to domain_report (authors are only reachable via run_sql), plus comments aren't searchable in the index, though get_thread mitigates that.