Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

hn-server

MCP.Pizza Chef: pskill9

The hn-server is a Model Context Protocol (MCP) server designed to fetch and parse stories from Hacker News (news.ycombinator.com). It provides structured data for various story types including top, new, ask, show, and jobs, delivering details such as titles, URLs, points, authors, timestamps, and comment counts. The server supports configurable limits on the number of stories returned and includes robust error handling and validation. This makes it ideal for integrating real-time Hacker News content into AI workflows, agents, or applications that require up-to-date tech news and community discussions.

Use This MCP server To

Fetch top Hacker News stories for real-time news updates Retrieve new stories for trend analysis Access ask HN posts for community questions Get show HN posts for product launches Fetch jobs listings from Hacker News Integrate structured HN data into AI agents Enable real-time news feeds in applications Analyze Hacker News story metadata programmatically

README

Hacker News MCP Server

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).

Hacker News MCP server

Features

  • Fetch different types of stories (top, new, ask, show, jobs)
  • Get structured data including titles, URLs, points, authors, timestamps, and comment counts
  • Configurable limit on number of stories returned
  • Clean error handling and validation

Installation

  1. Clone the repository:
git clone https://github.com/pskill9/hn-server
cd hn-server
  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. Add to your MCP settings configuration file (location depends on your system):

For VSCode Claude extension:

{
  "mcpServers": {
    "hacker-news": {
      "command": "node",
      "args": ["/path/to/hn-server/build/index.js"]
    }
  }
}

Usage

The server provides a tool called get_stories that can be used to fetch stories from Hacker News.

Tool: get_stories

Parameters:

  • type (string): Type of stories to fetch
    • Options: 'top', 'new', 'ask', 'show', 'jobs'
    • Default: 'top'
  • limit (number): Number of stories to return
    • Range: 1-30
    • Default: 10

Example 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
]

Integrating with Claude

To use this MCP server with Claude, you'll need to:

  1. Have the Claude desktop app or VSCode Claude extension installed
  2. Configure the MCP server in your settings
  3. Use Claude's natural language interface to interact with Hacker News

Configuration

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"]
    }
  }
}

Example Interactions

Once configured, you can interact with Claude using natural language to fetch Hacker News stories. Examples:

  • "Show me the top 5 stories from Hacker News"
  • "What are the latest Ask HN posts?"
  • "Get me the top Show HN submissions from today"

Claude will automatically use the appropriate parameters to fetch the stories you want.

Claude using the Hacker News MCP server

Story Object Structure

Each story object contains:

  • title (string): The story title
  • url (string, optional): URL of the story (may be internal HN URL for text posts)
  • points (number): Number of upvotes
  • author (string): Username of the poster
  • time (string): Timestamp of when the story was posted
  • commentCount (number): Number of comments
  • rank (number): Position in the list

Development

The server is built using:

  • TypeScript
  • Model Context Protocol SDK
  • Axios for HTTP requests
  • Cheerio for HTML parsing

To modify the server:

  1. Make changes to src/index.ts
  2. Rebuild:
npm run build

Error Handling

The server includes robust error handling for:

  • Invalid story types
  • Network failures
  • HTML parsing errors
  • Invalid parameter values

Errors are returned with appropriate error codes and descriptive messages.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - feel free to use this in your own projects.

hn-server FAQ

How do I install the hn-server?
Clone the repository from GitHub, install dependencies with npm install, then build the server using npm run build.
Can I limit the number of stories returned by hn-server?
Yes, the server supports configurable limits on the number of stories fetched per request.
What types of Hacker News stories does hn-server support?
It supports top, new, ask, show, and jobs story categories.
How does hn-server provide story data?
It parses HTML from news.ycombinator.com and returns structured data including titles, URLs, points, authors, timestamps, and comment counts.
Is error handling included in hn-server?
Yes, the server includes clean error handling and validation to ensure reliable responses.
How do I add hn-server to my MCP configuration?
After building, add the server details to your MCP settings configuration file according to your system's location.
Can hn-server be used with different LLM providers?
Yes, hn-server can be integrated with models from OpenAI, Anthropic Claude, and Google Gemini via MCP.
Does hn-server require API keys or authentication?
No, it scrapes publicly available Hacker News content without requiring authentication.