|
An integration that allows Claude Desktop to interact with Hacker News using the Model Context Protocol (MCP). |
|
- Browse latest stories from Hacker News
- View top and best-rated stories
- Get story details
- Read comments for stories
- Clean formatting of Hacker News content for better readability
- Node.js 16 or higher
- Claude Desktop
- Internet connection to access Hacker News API
- Clone or download this repository:
git clone https://github.com/imprvhub/mcp-claude-hackernews
cd mcp-claude-hackernews
- Install dependencies:
npm install
- Build the project:
npm run build
There are two ways to run the MCP server:
- Open a terminal or command prompt
- Navigate to the project directory
- Run the server directly:
node build/index.js
Keep this terminal window open while using Claude Desktop. The server will run until you close the terminal.
The Claude Desktop can automatically start the MCP server when needed. To set this up:
The Claude Desktop configuration file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.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-hackernews
- Windows 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.
- 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
The Hacker News MCP provides 5 specialized tools for different functions:
Tool | Description | Parameters | Example Usage |
---|---|---|---|
hn_latest |
Get the most recent stories from Hacker News | limit : Optional number of stories (1-50, default: 10) |
Get 20 latest stories |
hn_top |
Get the top-ranked stories from Hacker News | limit : Optional number of stories (1-50, default: 10) |
Get 15 top stories |
hn_best |
Get the best stories from Hacker News | limit : Optional number of stories (1-50, default: 10) |
Get 25 best stories |
hn_story |
Get detailed information about a specific story | story_id : Required story ID (number) |
Get story details by ID |
hn_comments |
Get comments for a story | story_id : Story ID (number) OR story_index : Index from last list (1-based) |
Get comments by story ID or index |
limit
(optional): Number of stories to fetch- Type: Number
- Range: 1-50
- Default: 10
story_id
(required): The ID of the story to fetch- Type: Number
- Example: 12345678
story_id
(optional): The ID of the story to get comments for- Type: Number
- Example: 12345678
story_index
(optional): The index of the story from the last fetched list- Type: Number (1-based)
- Example: 3 (for the 3rd story in the last list)
Note: For hn_comments
, you must provide either story_id
OR story_index
Here are various examples of how to use the Hacker News MCP with Claude:
"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_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"
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"
- "Show me 20 Hacker News 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"
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"
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.js
from the project directory - If the server starts successfully, use Claude while keeping this terminal open
- Open a terminal and manually run
-
Check your configuration:
- Ensure the absolute path in
claude_desktop_config.json
is correct for your system - Double-check that you've used double backslashes (
\\
) for Windows paths - Verify you're using the complete path from the root of your filesystem
- Ensure the absolute path in
-
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
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
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.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.