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 Reader MCP Serverget the hacker news discussion for item 46130187"
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 Reader MCP Server
A Model Context Protocol (MCP) server that fetches Hacker News discussions and article content. Optimized for LLM consumption with compact, token-efficient formatting.
Features
✅ Fetch complete Hacker News discussion threads
✅ Scrape linked article content in markdown format
✅ LLM-optimized output (compact nested replies)
✅ Accepts both HN URLs and item IDs
✅ Handles edge cases (text posts, Ask HN, deleted comments)
✅ Powered by Firecrawl for robust article extraction
Installation
Using uvx from GitHub (Recommended)
uvx --from git+https://github.com/Malayke/hackernews-mcp.git hackernews-mcpUsing uv pip
uv pip install git+https://github.com/Malayke/hackernews-mcp.gitUsing pip
pip install git+https://github.com/Malayke/hackernews-mcp.gitUsage
As an MCP Server
Add to your MCP settings configuration (e.g., in Claude Desktop or other MCP clients):
{
"mcpServers": {
"hackernews-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Malayke/hackernews-mcp.git",
"hackernews-mcp"
],
"env": {
"FIRECRAWL_API_KEY": "your_api_key_here"
}
}
}
}Or if you've installed it with pip/uv pip:
{
"mcpServers": {
"hackernews-mcp": {
"command": "hackernews-mcp",
"env": {
"FIRECRAWL_API_KEY": "your_api_key_here"
}
}
}
}Environment Variables
Required:
FIRECRAWL_API_KEY- Your Firecrawl API key
Create a .env file:
FIRECRAWL_API_KEY=your_api_key_hereAvailable Tools
get_hn_content
Fetches Hacker News comments and the linked article content.
Input:
hn_url: HN URL or item IDFull URL:
https://news.ycombinator.com/item?id=46130187Just ID:
46130187
Output: Combined markdown with:
Article Content - Scraped article in markdown format
HN Discussion - Formatted comment threads with metadata
Example:
{
"hn_url": "https://news.ycombinator.com/item?id=46130187"
}Output Format
The tool returns LLM-optimized content:
# ARTICLE CONTENT
[Article markdown content here...]
---
# HACKER NEWS DISCUSSION
STORY: Article Title
URL: https://example.com/article
AUTHOR: username | POINTS: 123 | TIME: 2 hours ago
TOTAL_COMMENTS: 45
COMMENT #1
COMMENT [author @ time] ID: 123456
Comment text here...
REPLY [author2 @ time] ID: 123457
Reply text here...
REPLY [author3 @ time] ID: 123458
Nested reply text...
COMMENT #2
...Development
Local Setup
# Clone the repository
git clone https://github.com/Malayke/hackernews-mcp.git
cd hackernews-mcp
# Install dependencies with uv
uv sync
# Set up environment
echo "FIRECRAWL_API_KEY=your_api_key_here" > .env
# Run the server
uv run server.pyTesting
# Test the MCP server
uv run python test_mcp_server.pyUsing in Development Mode
For local development with live changes:
{
"mcpServers": {
"hackernews-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/hackernews-mcp",
"python",
"server.py"
],
"env": {
"FIRECRAWL_API_KEY": "your_api_key_here"
}
}
}
}Requirements
Python 3.11+
Firecrawl API key (for article scraping)
Dependencies
mcp- Model Context Protocol SDKrequests- HTTP requestsbeautifulsoup4- HTML parsingfirecrawl-py- Article content extractionpython-dotenv- Environment variable management
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Links
Support
For issues, questions, or contributions, please visit the GitHub repository.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.