loadingβ¦
Search for a command to run...
loadingβ¦
π βοΈ Parses the HTML content from news.ycombinator.com (Hacker News) and provides structured data for different types of stories (top, new, ask, show, jobs).
π βοΈ Parses the HTML content from news.ycombinator.com (Hacker News) and provides structured data for different types of stories (top, new, ask, show, jobs).
A Model Context Protocol (MCP) server that provides tools for fetching stories from Hacker News. This server parses the HTML content from news.ycombinator.com and provides structured data for different types of stories (top, new, ask, show, jobs).
git clone https://github.com/pskill9/hn-server
cd hn-server
npm install
npm run build
For VSCode Claude extension:
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
The server provides a tool called get_stories that can be used to fetch stories from Hacker News.
Parameters:
type (string): Type of stories to fetchlimit (number): Number of stories to returnExample usage:
use_mcp_tool with:
server_name: "hacker-news"
tool_name: "get_stories"
arguments: {
"type": "top",
"limit": 5
}
Sample output:
[
{
"title": "Example Story Title",
"url": "https://example.com/story",
"points": 100,
"author": "username",
"time": "2024-12-28T00:03:05",
"commentCount": 50,
"rank": 1
},
// ... more stories
]
To use this MCP server with Claude, you'll need to:
For the Claude desktop app, add the server configuration to:
// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
// %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
For the VSCode Claude extension, add to:
// VSCode Settings JSON
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
Once configured, you can interact with Claude using natural language to fetch Hacker News stories. Examples:
Claude will automatically use the appropriate parameters to fetch the stories you want.

Each story object contains:
title (string): The story titleurl (string, optional): URL of the story (may be internal HN URL for text posts)points (number): Number of upvotesauthor (string): Username of the postertime (string): Timestamp of when the story was postedcommentCount (number): Number of commentsrank (number): Position in the listThe server is built using:
To modify the server:
src/index.tsnpm run build
The server includes robust error handling for:
Errors are returned with appropriate error codes and descriptive messages.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - feel free to use this in your own projects.
Run in your terminal:
claude mcp add pskill9-hn-server -- npx Yes, pskill9/hn-server MCP is free β one-click install via Unyly at no cost.
No, pskill9/hn-server runs without API keys or environment variables.
Self-hosted: the server runs locally on your machine via the install command above.
Open pskill9/hn-server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install β the config is generated automatically, no JSON editing.
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs