mcp-claude-hackernews
Fetch and read Hacker News content via MCP tools.
Get latest/newest stories (
hn_latest) with optionallimit(1–50, default 10).Get top-ranked stories (
hn_top) with optionallimit(1–50, default 10).Get best stories (
hn_best) with optionallimit(1–50, default 10).Get details for a specific story by ID (
hn_story).Get comments for a story by ID or 1-based index from the last fetched list (
hn_comments).
Allows Claude Desktop to browse and interact with Hacker News content, including viewing latest/top/best stories, reading story details and comments, and formatting Hacker News content for better readability.
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., "@mcp-claude-hackernewsshow me the top 10 stories from 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.
MCP Claude Hacker News
Features
Browse latest stories from Hacker News
View top and best-rated stories
Search stories by keyword, by relevance or most recent (Algolia HN Search API)
Get story details
Read comments for stories, capped so a busy thread cannot flood the context
Clean formatting of Hacker News content for better readability, including HTML entity decoding
Related MCP server: MCP Hacker News
Demo
Requirements
Node.js 20 or higher
Claude Desktop
Internet connection to access Hacker News API
Installation
Installing via Smithery
Install the packaged bundle from the Smithery server page, or from the CLI:
npx -y @smithery/cli@latest mcp add imprvhub/mcp-claude-hackernews --client claudeInstalling Manually
Clone or download this repository:
git clone https://github.com/imprvhub/mcp-claude-hackernews
cd mcp-claude-hackernewsInstall dependencies:
npm installBuild the project:
npm run buildRunning the MCP Server
There are two ways to run the MCP server:
Option 1: Running manually
Open a terminal or command prompt
Navigate to the project directory
Run the server directly:
node build/index.jsKeep this terminal window open while using Claude Desktop. The server will run until you close the terminal.
Option 2: Auto-starting with Claude Desktop (recommended for regular use)
The Claude Desktop can automatically start the MCP server when needed. To set this up:
Configuration
The Claude Desktop configuration file is located at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Edit this file to add the Hacker News MCP configuration. If the file doesn't exist, create it:
{
"mcpServers": {
"hackerNews": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-hackernews/build/index.js"]
}
}
}Important: Replace ABSOLUTE_PATH_TO_DIRECTORY with the complete absolute path where you installed the MCP
macOS/Linux example:
/Users/username/mcp-claude-hackernewsWindows example:
C:\\Users\\username\\mcp-claude-hackernews
If you already have other MCPs configured, simply add the "hackerNews" section inside the "mcpServers" object. Here's an example of a configuration with multiple MCPs:
{
"mcpServers": {
"otherMcp1": {
"command": "...",
"args": ["..."]
},
"otherMcp2": {
"command": "...",
"args": ["..."]
},
"hackerNews": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-hackernews/build/index.js"
]
}
}
}The MCP server will automatically start when Claude Desktop needs it, based on the configuration in your claude_desktop_config.json file.
Usage
Restart Claude Desktop after modifying the configuration
In Claude, use the Hacker News tools to interact with Hacker News
The MCP server runs as a child process managed by Claude Desktop
Available Tools
The Hacker News MCP provides 6 specialized tools for different functions:
Tool | Description | Parameters | Example Usage |
| Get the most recent stories from Hacker News |
| Get 20 latest stories |
| Get the top-ranked stories from Hacker News |
| Get 15 top stories |
| Get the best stories from Hacker News |
| Get 25 best stories |
| Search stories by keyword |
| Search "rust async" sorted by date |
| Get detailed information about a specific story |
| Get story details by ID |
| Get top-level comments for a story |
| Get comments by story ID or index |
Tool Parameters Details
hn_latest, hn_top, hn_best
limit(optional): Number of stories to fetchType: Number
Range: 1-50
Default: 10
hn_search
query(required): Search termsType: String
Example:
"model context protocol"
limit(optional): Number of results, 1-50, default 10sort(optional):relevance(default) ordatefor newest first
hn_story
story_id(required): The ID of the story to fetchType: Number
Example: 12345678
hn_comments
story_id(optional): The ID of the story to get comments forType: Number
Example: 12345678
story_index(optional): The index of the story from the last fetched listType: Number (1-based)
Example: 3 (for the 3rd story in the last list)
limit(optional): Maximum number of top-level comments to returnType: Number
Range: 1-50
Default: 20
Note: For hn_comments, you must provide either story_id OR story_index. Only top-level
comments are fetched; the reply count is reported per comment. The response states how many of
the thread's top-level comments were returned.
Example Usage
Here are various examples of how to use the Hacker News MCP with Claude:
Direct Tool Usage:
"Use hn_latest to get 20 recent stories"
"Use hn_top with limit 15 to get top stories"
"Use hn_best to get 25 best stories"
"Use hn_search with query 'model context protocol' to find related stories"
"Use hn_search with query 'rust' and sort date to see the newest posts"
"Use hn_story with story_id 29384756 to get story details"
"Use hn_comments with story_index 3 to get comments for the 3rd story"
"Use hn_comments with story_id 12345678 to get comments for that story"Natural Language Queries:
You can also interact with the MCP using natural language. Claude will interpret these requests and use the appropriate tools:
"Show me the top 30 stories on Hacker News today"
"What are the 40 latest posts on Hacker News?"
"I'd like to see the 20 best articles from Hacker News"
"Can you fetch me 30 recent tech news stories from Hacker News?"
"Tell me what's the top 50 trending topics on Hacker News"
"Search Hacker News for stories about machine learning"
"Get me the 40 most recent Hacker News headlines"
"What are the 30 most active discussions on Hacker News right now?"
"I'm interested in reading the 40 most popular Hacker News articles this week"
"Show me a list of 20 best programming articles from Hacker News"
"Get the comments for story number 5 from the last list"
"Show me the details of story ID 12345678"
Language Translation Requests:
You can request Hacker News content to be translated into different languages:
"Show me the top 30 stories on Hacker News today in Spanish"
"Get the 20 latest Hacker News posts and translate them to French"
"I'd like to see the 40 best articles from Hacker News in German"
"Show me 30 recent Hacker News stories translated to Japanese"
"Get the top 20 Hacker News articles and present them in Portuguese"
Troubleshooting
"Server disconnected" error
If you see the error "MCP Hacker News: Server disconnected" in Claude Desktop:
Verify the server is running:
Open a terminal and manually run
node build/index.jsfrom the project directoryIf the server starts successfully, use Claude while keeping this terminal open
Check your configuration:
Ensure the absolute path in
claude_desktop_config.jsonis correct for your systemDouble-check that you've used double backslashes (
\\) for Windows pathsVerify you're using the complete path from the root of your filesystem
Try the auto-start option:
Set up the auto-start script for your operating system as described in the "Setting up auto-start scripts" section
This ensures the server is always running when you need it
Tools not appearing in Claude
If the Hacker News tools don't appear in Claude:
Make sure you've restarted Claude Desktop after configuration
Check the Claude Desktop logs for any MCP communication errors
Ensure the MCP server process is running (run it manually to confirm)
Verify that the MCP server is correctly registered in the Claude Desktop MCP registry
Checking if the server is running
To check if the server is running:
Windows: Open Task Manager, go to the "Details" tab, and look for "node.exe"
macOS/Linux: Open Terminal and run
ps aux | grep node
If you don't see the server running, start it manually or use the auto-start method.
Development
Run the test suite (no network required):
npm install
npm run build
npm testContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.
Related Links
Available Tools
6 toolshn_bestC
Get the best stories from Hacker News
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items to fetch (1-50, default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It conveys only that this is a read of stories; it says nothing about ordering semantics ('best' by what ranking?), result freshness, or pagination, which matters most given the hn_top sibling.
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 zero waste. It is appropriately sized, though its brevity is part of why key distinctions are missing.
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 one-parameter list tool this is minimally adequate, and the schema covers the input. However, with no output schema and no annotation coverage, the unresolved 'best' vs 'top' ambiguity and lack of ordering information leave a meaningful gap.
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 100% and the single 'limit' parameter is fully documented in the schema (range, default), so the baseline of 3 applies. The description adds no additional meaning about the parameter.
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?
States a clear verb+resource ('Get the best stories from Hacker News'), but the sibling hn_top makes 'best' ambiguous — an agent cannot tell from the description how 'best' differs from 'top' or 'latest'. The purpose is understandable but not differentiated from its siblings.
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 guidance on when to choose this over hn_top, hn_latest, or hn_search. There is no statement of context, prerequisites, or exclusions, leaving selection between four similarly-named story-fetching tools to guesswork.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_commentsB
Get top-level comments for a story (by story ID or index from the last story list)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items to fetch (1-50, default: 20) | |
| story_id | No | The ID of the story to get comments for | |
| story_index | No | The index (1-based) of the story from the last fetched list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Top-level comments' is a useful behavioral nuance (excludes nested replies), but the description omits return format, pagination, whether the call is safe/read-only, and any rate or auth context for a tool that hits an external API.
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 compact sentence with the resource front-loaded and input modes in a parenthetical. Efficient, though the parenthetical is dense and slightly compressed.
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?
With no output schema and no annotations, the description should explain the return shape and the mutual exclusivity of story_id vs story_index for a 0-required-param tool. It covers purpose adequately but leaves these 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 100%, so the baseline is 3. The description names story ID and index as inputs but does not clarify that these are alternative selectors or which takes precedence when both are omitted (0 required params).
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?
States a specific verb (Get) and resource (top-level comments for a story), which differentiates it from siblings like hn_story and hn_latest. The parenthetical clarifies input modes but the description doesn't explicitly contrast with siblings.
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 parenthetical implies usage context ('index from the last story list'), suggesting it's meant to be called after a list tool, but no explicit when-to-use or alternatives are stated. Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_latestB
Get the latest/newest stories from Hacker News
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items to fetch (1-50, default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get' implies a read-only retrieval, but the description does not mention authentication, rate limits, pagination, return format, or any other operational behavior.
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, front-loaded sentence with no wasted words. It communicates the core purpose immediately and is appropriately sized for a simple retrieval tool.
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 tool with one optional parameter and no output schema, the description is minimally adequate. However, it omits any indication of the return shape and does not help the agent choose between this and similar sibling tools like hn_top or hn_best.
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 100% description coverage, fully documenting the single 'limit' parameter with its default and range. The description itself adds no additional parameter meaning, so the baseline of 3 is appropriate.
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 states a specific verb and resource: getting latest/newest stories from Hacker News. It distinguishes itself somewhat from hn_top and hn_best by emphasizing recency rather than ranking, but it does not explicitly name or differentiate against those sibling tools.
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?
There is no guidance on when to use this tool versus alternatives such as hn_top, hn_best, or hn_search. The agent can infer that it is for recent stories, but no conditions, exclusions, 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.
hn_searchB
Search Hacker News stories by keyword, via the Algolia HN Search API
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Rank by relevance (default) or most recent first | relevance |
| limit | No | Number of items to fetch (1-50, default: 10) | |
| query | Yes | Search terms, e.g. "rust async" or "claude mcp" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses little beyond the data source. It does not say whether results are stories only (vs. comments, which has a sibling tool), whether the index is rate-limited or eventually consistent, or what the response shape/pagination looks like.
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 the verb, resource, and source; nothing redundant or padded.
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 three-parameter search tool with full schema coverage and no output schema, the description is minimally viable but thin: it omits any behavioral notes (result set contents, rate limits, pagination) that an agent with no annotations would benefit from.
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 100%, so sort, limit, and query are all self-documented with enums, defaults, and ranges. The description adds only the confirmation that 'query' means keywords, matching the baseline of 3 when the schema does the heavy lifting.
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?
States a specific verb (Search), resource (Hacker News stories), and scope qualifier (by keyword), plus the backing data source (Algolia HN Search API). The 'by keyword' framing implicitly distinguishes it from the sibling listing tools (hn_latest, hn_top, hn_best), though it does not name them.
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?
Usage is implied: reach for this when you have search terms rather than wanting a ranked feed. There is no explicit when-to-use/when-not guidance and no reference to the sibling tools an agent must choose between (e.g., hn_latest for recent items vs. this for keyword queries).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_storyA
Get details for a specific story by ID
| Name | Required | Description | Default |
|---|---|---|---|
| story_id | Yes | The ID of the story to fetch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source. It indicates a read operation ('get details'), but does not disclose error behavior, rate limits, or response structure. Basic transparency is achieved.
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, well-structured sentence with no extraneous words or filler. It is optimally 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?
For a simple one-parameter tool with no output schema, the description provides minimal but sufficient context. It lacks detail on what 'details' includes, which is acceptable for a simple fetch.
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% as the only parameter 'story_id' has a description. The description 'by ID' aligns with the parameter, adding no new meaning. Baseline score applies.
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 ('get details'), the resource ('story'), and the identification method ('by ID'). It distinctly differentiates from sibling tools (lists like hn_best, hn_top) which fetch multiple 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 implies usage when a specific story ID is known, but does not explicitly exclude cases like fetching stories in bulk or provide alternatives. Sibling tool names indirectly suggest other use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hn_topB
Get the top-ranked stories from Hacker News
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items to fetch (1-50, default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the implied read-only nature of 'Get'. It does not say whether results are live-fetched from the HN API, cached, paginated, or what the return structure looks like for a tool with no output schema.
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 filler or redundancy. Every word earns its place, and the core purpose is stated immediately.
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 one-optional-parameter list tool with no output schema and no annotations, the description is minimally adequate: it identifies the resource but not what 'top-ranked' means (score? front page?) or what a returned item contains. Enough to attempt a call, not enough to predict the result.
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 100% for the single 'limit' parameter, including range and default, so the description need not restate it. The description adds no meaning beyond the schema, which is the expected baseline here.
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 states a specific verb and resource ('Get the top-ranked stories from Hacker News'), which is more informative than the bare name hn_top. However, it offers no differentiation from close siblings like hn_best and hn_latest, leaving 'top-ranked' nearly synonymous with 'best' and forcing the agent to guess which ranking endpoint to use.
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?
There is no guidance on when to choose this tool over hn_best, hn_latest, or hn_search, and no stated prerequisites or context. The agent must infer selection purely from the tool names.
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.
5 tool updates
v0.2.0- Changed
hn_best1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of stories to fetch (1-50, default: 10)"New value: +"Number of items to fetch (1-50, default: 10)"
- Changed
hn_comments1 field changed- added
Input schema / properties / limitAdded value: +{ + "default": 20, + "description": "Number of items to fetch (1-50, default: 20)", + "maximum": 50, + "minimum": 1, + "type": "number" +}
- Changed
hn_latest1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of stories to fetch (1-50, default: 10)"New value: +"Number of items to fetch (1-50, default: 10)"
- Added
hn_search - Changed
hn_top1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of stories to fetch (1-50, default: 10)"New value: +"Number of items to fetch (1-50, default: 10)"
5 tool updates
v1.0.0- First observed
hn_best - First observed
hn_comments - First observed
hn_latest - First observed
hn_story - First observed
hn_top
TDQS
Scored across 6 tools
hn_latest, hn_top, and hn_best target distinct Hacker News ranking feeds, while hn_search, hn_comments, and hn_story have clearly separate roles. There is no meaningful overlap or ambiguity in purpose.
All tools use the same hn_ prefix and snake_case convention. The suffixes vary semantically (feeds, search, comments, story) but the naming pattern is predictable and consistent.
Six tools are well-scoped for a read-only Hacker News server covering feeds, search, story details, and comments. Each tool earns its place without unnecessary duplication.
The surface covers the core HN read workflows: latest/top/best feeds, search, story details, and top-level comments. Minor gaps exist, such as nested comment retrieval and dedicated Ask/Show/Jobs feeds, but agents can work around them with search or story IDs.
Maintenance
Related MCP Connectors
Dive into the latest and greatest from the tech world with our Hacker News MCP server.
Hacker News MCP — search and retrieve stories from Hacker News
Deterministic Hacker News developer sentiment, themes & feature requests via MCP. No API key.
Search Hacker News, Bluesky, and Substack from a single MCP interface
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegration project for Model Context Protocol (MCP) servers with Claude Desktop App, enabling filesystem operations, development support, and file management through natural language.-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI tools like Claude and Cursor to fetch and interact with live Hacker News data (posts, comments, users) via standardized MCP endpoints.11109 npm34MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to fetch top, new, best, Ask HN, Show HN, and job stories, as well as specific posts, comments, and user information from Hacker News through the Model Context Protocol.1-
- AlicenseAqualityCmaintenanceMCP server for Hacker News that enables AI agents to search stories, read comments, and track tech trends via the public Hacker News API and Algolia HN Search.1013 npm4MIT