Hacker News MCP server

Integrates with Hacker News API to fetch top stories, retrieve detailed story information with markdown content extraction, get popular comments with filtering options, and search recent stories by keywords within specified time ranges.
Back to servers
Setup instructions
Provider
George Nance
Release date
Jun 23, 2025
Language
Go
Stats
1 star

Hacker News MCP Server provides AI assistants with tools to access real-time Hacker News content including top stories, story details, comments, and search functionality through the Model Context Protocol (MCP).

Features

Available Tools

  • get_top_stories - Fetch the latest top stories from Hacker News with configurable count, optional text content inclusion, and story metadata
  • get_story_details - Get detailed information about a specific story with optional comment inclusion and markdown content extraction
  • get_story_comments - Retrieve popular comments for a story with configurable filters and formatting
  • search_stories - Search recent stories by keywords with configurable time range and result limits

Prerequisites

  • Node.js 18+
  • npm or yarn
  • An MCP-compatible client (like Claude Desktop)

Installation

Clone the repository

git clone https://github.com/yourusername/hackernews-mcp.git
cd hackernews-mcp

Install dependencies

npm install

Build the server

npm run build

Usage

With Claude Desktop

Add the server to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "hackernews-mcp": {
      "command": "node",
      "args": ["/path/to/hackernews-mcp/build/index.js"]
    }
  }
}

With Other MCP Clients

The server communicates via stdio and can be used with any MCP-compatible client:

node build/index.js

Example Usage

Once connected, you can ask your AI assistant things like:

  • "What are the top stories on Hacker News today?"
  • "Get details about Hacker News story 12345678"
  • "Show me comments for that viral AI story"
  • "Search for recent stories about TypeScript"

API Reference

get_top_stories

{
  count?: number;        // Number of stories (1-100, default: 30)
  include_text?: boolean; // Include story text content (default: false)
}

get_story_details

{
  story_id: number;           // Required: HN story ID
  include_comments?: boolean; // Include comments (default: false)
  include_markdown?: boolean; // Extract article as markdown (default: false)
}

get_story_comments

{
  story_id: number;    // Required: HN story ID
  min_score?: number;  // Minimum comment score (default: 1)
  max_depth?: number;  // Max thread depth (1-10, default: 3)
  limit?: number;      // Max comments (1-100, default: 20)
}

search_stories

{
  query: string;              // Required: Search keywords
  limit?: number;             // Max results (1-50, default: 20)
  time_range_hours?: number;  // Hours to search back (1-168, default: 24)
}

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "hackernews-mcp" '{"command":"node","args":["/path/to/hackernews-mcp/build/index.js"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "hackernews-mcp": {
            "command": "node",
            "args": [
                "/path/to/hackernews-mcp/build/index.js"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "hackernews-mcp": {
            "command": "node",
            "args": [
                "/path/to/hackernews-mcp/build/index.js"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later