Uses Algolia's search API to enable searching through Hacker News stories with customizable query parameters and result limits.
Click on "Install 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., "@Hacker News MCP Servershow me the top 5 stories"
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.
Hacker News MCP Server
A FastMCP server that provides access to Hacker News data for Poke integration.
🚀 Features
get_top_stories: Fetch top stories from Hacker News
get_story: Get details of a specific story by ID
get_new_stories: Fetch newest stories
search_stories: Search for stories using Algolia API
🛠️ Local Development
# Install dependencies
pip install -r requirements.txt
# Run the server
python src/server.py🚢 Deployment
Deploy to Render
Steps:
Click the "Deploy to Render" button above or go to render.com
Connect your GitHub account to Render (if you haven't already)
Create a new Web Service:
Connect this repository
Name:
hackernews-mcpEnvironment:
Python 3Plan:
FreeBuild Command:
pip install -r requirements.txtStart Command:
python src/server.py
Deploy! (No additional environment variables needed - uses public Hacker News API)
Note: On Render's free tier, services go idle after ~15 minutes of inactivity and may require a manual "Deploy" to wake or to pick up the latest commit. Unlike Vercel, pushes do not auto-deploy by default.
Your server will be available at https://hackernews-mcp.onrender.com/mcp
🎯 Poke Integration
Add the MCP URL:
https://hackernews-mcp.onrender.com/mcpGive it a name like "Hacker News"
Try: "Can you use the Hacker News MCP to get top stories?"
References
Based on the Interaction MCP server template: MCP Server Template
Discovered via Interaction’s HackMIT challenge: Interaction HackMIT Challenge
🔧 Available Tools
get_top_stories(limit=10): Get top stories (max 30)get_story(story_id): Get specific story detailsget_new_stories(limit=10): Get newest stories (max 30)search_stories(query, limit=10): Search stories (max 20)
📝 Example Usage
# Get top 5 stories
get_top_stories(limit=5)
# Get story details
get_story(story_id=12345)
# Search for Python stories
search_stories(query="python", limit=5)This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.