Hacker News MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hacker News MCP ServerShow me the top stories on Hacker News"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hacker News MCP Server
A Model Context Protocol (MCP) server for Hacker News, enabling LLMs to browse stories, inspect items, and look up user profiles via the official HN Firebase API.
Features
Story Feeds: Fetch Top, New, Best, Ask HN, Show HN, and Job stories.
Detailed Inspection: Get full details for any item (story, comment, job, poll) and user profiles.
Live Updates: Access recently changed items and the current max item ID.
Optimized for LLMs:
Responses formatted in clear Markdown (or JSON when needed).
Built-in character limit to prevent context overflow.
Pagination (
limit/offset) on all list-based tools.
Modern Stack: TypeScript + official MCP SDK + Zod schema validation.
Related MCP server: HN Pulse
Available Tools
Tool | Description |
| Top stories (paginated) |
| Newest stories (paginated) |
| Best stories (paginated) |
| Ask HN stories (paginated) |
| Show HN stories (paginated) |
| Job stories (paginated) |
| Full details for a specific item ID |
| User profile by username |
| Recently updated item & profile IDs |
| Current largest item ID on HN |
All list tools accept limit (1–500, default 20), offset (default 0), and response_format (markdown or json).
Getting Started
Prerequisites
Node.js 18+ or Bun
Quick Run (no install)
# npx
npx -y @fritzprix/hn-mcp
# bunx
bunx @fritzprix/hn-mcpGlobal Install
npm install -g @fritzprix/hn-mcp
hn-mcpFrom Source
git clone https://github.com/fritzprix/hn-mcp.git
cd hn-mcp
npm install
npm run build
npm startMCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hackernews": {
"command": "npx",
"args": ["-y", "@fritzprix/hn-mcp"]
}
}
}Other MCP Clients (Cursor, Windsurf, etc.)
{
"mcpServers": {
"hackernews": {
"command": "npx",
"args": ["-y", "@fritzprix/hn-mcp"]
}
}
}Development
npm run dev # run with tsx (no build needed)
npm run build # compile TypeScript → dist/
npm run watch # watch modeLicense
MIT
Available Tools
10 toolshn_get_ask_storiesGet Ask HN StoriesARead-onlyIdempotent
Retrieve IDs of the latest Ask HN stories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, and idempotentHint. The description adds that the tool retrieves 'IDs' and 'latest' stories, which is useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with 7 words, extremely concise and front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, full schema parameter descriptions, and clear annotations (readOnly, idempotent, openWorld), the description is complete. No output schema is needed as the description indicates 'IDs' is the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description in the schema. The description does not add any additional parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'IDs of the latest Ask HN stories', distinguishing it from sibling tools like hn_get_top_stories or hn_get_new_stories by specifying 'Ask HN stories'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing Ask HN story IDs, but provides no explicit guidance on when to use this tool vs alternatives, nor any when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_best_storiesGet Best StoriesARead-onlyIdempotent
Retrieve IDs of the best stories on Hacker News.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds no extra behavioral context beyond what annotations provide, so it is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no unnecessary words, front-loading the key information effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with 3 optional parameters and no output schema, the description is sufficient. It could mention that the output is IDs only, but the schema and context imply it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to explain parameters. It avoids duplication, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieve IDs of the best stories on Hacker News' with a specific verb and resource, distinguishing it from sibling tools like hn_get_top_stories or hn_get_new_stories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description conveys its purpose but lacks when-not-to-use recommendations or mentions of other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_itemGet Item DetailsARead-onlyIdempotent
Get detailed information about a single Hacker News item (story, comment, job, poll, etc.) by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the item | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description need not repeat those. The description adds 'detailed information' but no further behavioral context. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the verb and resource. Every word is necessary and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with strong annotations, the description is complete enough. It covers the primary purpose and key input. Output format is handled by the schema. No major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% with the 'id' parameter documented. The description reinforces 'id' but adds no semantics for the 'response_format' parameter. Given the low coverage, the description should have provided more parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Get' and specifies the resource 'detailed information about a single Hacker News item' with the method 'by its ID'. It clearly distinguishes from sibling tools that retrieve lists or other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by stating it retrieves a single item by ID, implying usage when an ID is available. It does not explicitly mention when not to use it or alternatives, but the sibling tool names make the distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_job_storiesGet Job StoriesARead-onlyIdempotent
Retrieve IDs of the latest Job stories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description does not need to restate those. It adds that the tool returns 'IDs' (not full content) and that they are the 'latest' stories, which is useful context. However, no additional behavioral details (e.g., rate limits, ordering, or data freshness) are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler. It is appropriately front-loaded and efficient. It could be slightly more informative without losing conciseness, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with good annotations and fully described parameters, the description covers the essential purpose and output type. It does not explain return value structure (e.g., format of IDs), but since there is no output schema and the parameter 'response_format' hints at formatting, it is adequate. The minimal length is acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (limit, offset, response_format) are fully described in the input schema (100% coverage). The description adds no additional parameter meaning, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve IDs') and the specific resource ('latest Job stories'), distinguishing it from sibling tools that retrieve other story types (top, new, best, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., hn_get_top_stories). The description implies it is for job stories, but lacks conditions, prerequisites, or when-not-to-use advice. The context of sibling tools provides implicit differentiation, but the description itself does not contribute.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_max_itemGet Max Item IDARead-onlyIdempotent
Get the current largest item ID on Hacker News.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint) already declare safety and idempotency. The description is consistent and adds no contradictions. No extra behavioral context is needed for this simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Verb 'Get' is front-loaded. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate but does not specify the return format (e.g., integer). With no output schema, adding 'Returns an integer' would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema coverage. Per instructions, baseline is 4. No additional parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the current largest item ID on Hacker News, which is a specific verb and resource. It distinguishes well from sibling tools that retrieve lists or individual items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The purpose is self-evident, but a note about using it to determine the range for fetching items would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_new_storiesGet New StoriesARead-onlyIdempotent
Retrieve IDs of the newest stories on Hacker News.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint as true, covering the behavioral aspects. The description adds minimal value but is consistent with annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. No unnecessary words; concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (retrieving IDs with well-documented parameters and safe annotations), the description is complete enough for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are fully described in the schema. The description does not add additional context beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Retrieve' and resource 'IDs of the newest stories on Hacker News'. It specifies 'newest', distinguishing it from sibling tools like hn_get_top_stories or hn_get_best_stories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings. Usage is implied by the name and description, but no alternatives or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_show_storiesGet Show HN StoriesARead-onlyIdempotent
Retrieve IDs of the latest Show HN stories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and openWorld, reducing the burden. The description adds that only IDs are returned (not full story details) and that stories are the 'latest', which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with no output schema, the description covers the core purpose. It could mention pagination or output format, but the schema handles that, so completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description does not add new parameter meanings beyond implying that 'limit' and 'offset' control pagination of IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and resource ('IDs of the latest Show HN stories'), clearly distinguishing it from sibling tools like hn_get_top_stories or hn_get_new_stories by specifying the story category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Show HN stories, and sibling tool names make the distinction clear. However, no explicit when-to-use or when-not-to-use guidance is provided, though the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_top_storiesGet Top StoriesARead-onlyIdempotent
Retrieve IDs of the current top stories on Hacker News.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of stories to return | |
| offset | No | Offset for pagination | |
| response_format | No | Output format (markdown or json) | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, open-world, and idempotent behavior. The description adds that only IDs are returned, not full story details, which is useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the core functionality with no extraneous information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and excellent schema coverage, the description is mostly complete. It could hint at the need to use hn_get_item to fetch full story details, but the output is IDs, which is adequately conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the schema. The description does not add any additional meaning or usage context for the parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves IDs of current top stories on Hacker News. It uses a specific verb ('retrieve') and resource ('IDs of current top stories'), distinguishing it from siblings that retrieve new, best, ask, show, or job stories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., hn_get_new_stories). Usage is implied by the name and description, but no exclusions or alternative descriptions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_updatesGet UpdatesBRead-onlyIdempotent
Retrieve recently updated item and profile IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds that it retrieves IDs, but does not disclose additional behavioral traits such as update frequency or pagination. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, well-suited for a simple tool. It is front-loaded with the key action and resource. However, it lacks any structural elements like bullet points or examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one optional parameter and no output schema. The description omits important context about what 'recently updated' means (e.g., since last call, within a time window). This could lead to confusion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should explain the single parameter response_format. It does not mention it at all, leaving the agent without guidance on valid values or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('retrieve') and identifies the resource ('recently updated item and profile IDs'). It clearly distinguishes from sibling tools that fetch specific story lists or individual items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like hn_get_new_stories. There is no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_get_userGet User DetailsBRead-onlyIdempotent
Retrieve details for a Hacker News user profile by username.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The username of the user | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds only 'Retrieve details' which is redundant. It does not disclose specifics about the returned data (e.g., karma, about) or any constraints like rate limits or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. It is front-loaded and contains no superfluous information, though it could be enriched without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should hint at what fields are returned. It does not mention common user details (e.g., karma, creation date). The schema covers only id and response_format, leaving ambiguity about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 50% description coverage, with 'id' described in schema. The description adds no extra meaning for parameters like response_format. Baseline 3 is not justified because coverage is low and description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves details for a Hacker News user profile by username. It uses a specific verb and resource, and the context of sibling tools for stories, items, etc., distinguishes it effectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when user details are needed, and the sibling tool names clearly differentiate this from story/item tools. However, no explicit when-not-to-use or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v1.0.1- First observed
hn_get_ask_stories - First observed
hn_get_best_stories - First observed
hn_get_item - First observed
hn_get_job_stories - First observed
hn_get_max_item - First observed
hn_get_new_stories - First observed
hn_get_show_stories - First observed
hn_get_top_stories - First observed
hn_get_updates - First observed
hn_get_user
TDQS
Scored across 10 tools
Each tool targets a distinct data source: different story lists (top, new, best, ask, show, job), item details, user profiles, updates, and max item ID. No two tools have overlapping purposes.
All tools follow a consistent 'hn_get_<resource>' pattern, making it easy to predict tool names. No mixing of naming conventions.
With 10 tools, the set covers the main read operations of the Hacker News API without being bloated. Each tool serves a clear purpose.
The tool set covers major read operations (stories, items, users, updates) but lacks search or submission capabilities. For a typical agent use case, it is mostly complete.
Maintenance
Related MCP Connectors
Browse Hacker News feeds, threads, and user profiles with full-text search.
Hacker News MCP — search and retrieve stories from Hacker News
HN front-page, Algolia full-text search, and Show HN launch tracker.
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides programmatic access to Hacker News content via the HN Algolia API. It enables AI assistants to search stories, retrieve comments, access user profiles, and explore the front page in real-time.926MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to read and search Hacker News for top stories, comments, user profiles, and job listings using the Firebase and Algolia APIs. It facilitates natural language research into community discussions and technological trends across the HN platform.8-
- AlicenseAqualityCmaintenanceProvides AI agents with access to Hacker News data including top stories, story details, comment threads, and full-text search for content research and trend monitoring.5MIT
- AlicenseAqualityDmaintenanceEnables LLMs to search and read Hacker News posts and comments via the Algolia API.1MIT