Hacker News Mcp Server
Übersicht
Was ist hn-server?
Der ### hn-server ist ein öffentliches Repository, das vom Benutzer ### pskill9 auf GitHub erstellt wurde. Es dient als Serverimplementierung für Hacker News, eine beliebte soziale Nachrichten-Website, die sich auf Informatik und Unternehmertum konzentriert. Dieses Projekt ermöglicht es Benutzern, über eine serverseitige Anwendung mit Hacker News zu interagieren, wodurch Funktionen wie das Abrufen von Nachrichtenartikeln, das Einreichen von Geschichten und das Kommentieren ermöglicht werden, während die Hacker News API eingehalten wird.
Funktionen von hn-server
- Öffentlicher Zugang: Das Repository ist für die Öffentlichkeit zugänglich, sodass jeder das Projekt einsehen, forken oder dazu beitragen kann.
- MIT-Lizenz: Das Projekt ist unter der MIT-Lizenz lizenziert, die es Benutzern erlaubt, die Software zu verwenden, zu kopieren, zu modifizieren und zu verteilen.
- Aktive Community: Das Repository hat mit 35 Sternen und 8 Forks Aufmerksamkeit erregt, was auf ein wachsendes Interesse und Engagement der Community hinweist.
- Einfache Integration: Der Server kann problemlos in verschiedene Anwendungen integriert werden, was Entwicklern eine nahtlose Erfahrung beim Nutzen von Hacker News-Daten bietet.
- Dokumentation: Umfassende Dokumentation ist verfügbar, um Benutzern zu helfen, den Server effektiv einzurichten und zu verwenden.
So verwenden Sie hn-server
-
Klonen Sie das Repository: Beginnen Sie damit, das hn-server-Repository auf Ihren lokalen Computer zu klonen, indem Sie den Befehl verwenden:
git clone https://github.com/pskill9/hn-server.git
-
Abhängigkeiten installieren: Navigieren Sie zum Projektverzeichnis und installieren Sie die erforderlichen Abhängigkeiten. Dies kann in der Regel mit einem Paketmanager wie npm oder yarn erfolgen, abhängig von der Einrichtung des Projekts.
-
Server starten: Nachdem Sie die Abhängigkeiten installiert haben, können Sie den Server mit dem in der Dokumentation angegebenen Befehl (normalerweise etwas wie
npm start
) starten. -
Mit der API interagieren: Sobald der Server läuft, können Sie mit den API-Endpunkten von Hacker News interagieren, um Nachrichtenartikel abzurufen, Geschichten einzureichen und mehr.
-
Beitragen: Wenn Sie zum Projekt beitragen möchten, können Sie das Repository forken, Ihre Änderungen vornehmen und eine Pull-Anfrage zur Überprüfung einreichen.
Häufig gestellte Fragen
Welche Technologien werden in hn-server verwendet?
hn-server wird typischerweise mit JavaScript und Node.js erstellt, wobei verschiedene Bibliotheken und Frameworks genutzt werden, um serverseitige Operationen zu erleichtern.
Kann ich zum hn-server-Projekt beitragen?
Ja! Beiträge sind willkommen. Sie können das Repository forken, Änderungen vornehmen und eine Pull-Anfrage zur Überprüfung einreichen.
Gibt es eine Möglichkeit, hn-server lokal auszuführen?
Absolut! Sie können das Repository klonen und die Einrichtungsanweisungen in der Dokumentation befolgen, um es auf Ihrem lokalen Computer auszuführen.
Was ist der Zweck der MIT-Lizenz?
Die MIT-Lizenz erlaubt es Benutzern, die Software frei zu verwenden, zu modifizieren und zu verteilen, was die Zusammenarbeit und Innovation im Open-Source-Bereich fördert.
Wie kann ich Probleme oder Fehler melden?
Sie können Probleme melden, indem Sie zum Tab "Issues" im hn-server GitHub-Repository navigieren und ein neues Problem mit Details zu dem Problem, das Sie haben, einreichen.
Detail
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).
<a href="https://glama.ai/mcp/servers/oge85xl22f"><img width="380" height="200" src="https://glama.ai/mcp/servers/oge85xl22f/badge" alt="Hacker News MCP server" /></a>
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
- Clone the repository:
git clone https://github.com/pskill9/hn-server
cd hn-server
- Install dependencies:
npm install
- Build the server:
npm run build
- 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:
- Have the Claude desktop app or VSCode Claude extension installed
- Configure the MCP server in your settings
- 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.
Story Object Structure
Each story object contains:
title
(string): The story titleurl
(string, optional): URL of the story (may be internal HN URL for text posts)points
(number): Number of upvotesauthor
(string): Username of the postertime
(string): Timestamp of when the story was postedcommentCount
(number): Number of commentsrank
(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:
- Make changes to
src/index.ts
- 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.
Serverkonfiguration
{
"mcpServers": {
"hn-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--pskill9--hn-server--hn-server",
"node ./build/index.js"
],
"env": {}
}
}
}