Servidor Mcp de Hacker News
Resumen
¿Qué es hn-server?
El ### hn-server es un repositorio público creado por el usuario ### pskill9 en GitHub. Sirve como una implementación de servidor para Hacker News, un popular sitio web de noticias sociales que se centra en la informática y el emprendimiento. Este proyecto permite a los usuarios interactuar con Hacker News a través de una aplicación del lado del servidor, habilitando funcionalidades como la obtención de artículos de noticias, la presentación de historias y los comentarios, todo mientras se adhiere a la API de Hacker News.
Características de hn-server
- Acceso Público: El repositorio está abierto al público, lo que permite a cualquiera ver, bifurcar o contribuir al proyecto.
- Licencia MIT: El proyecto está licenciado bajo la licencia MIT, que permite a los usuarios usar, copiar, modificar y distribuir el software.
- Comunidad Activa: El repositorio ha atraído atención con 35 estrellas y 8 bifurcaciones, lo que indica un creciente interés y participación de la comunidad.
- Integración Fácil: El servidor se puede integrar fácilmente con varias aplicaciones, proporcionando una experiencia fluida para los desarrolladores que buscan utilizar datos de Hacker News.
- Documentación: Hay documentación completa disponible para ayudar a los usuarios a entender cómo configurar y usar el servidor de manera efectiva.
Cómo Usar hn-server
-
Clona el Repositorio: Comienza clonando el repositorio hn-server en tu máquina local usando el comando:
git clone https://github.com/pskill9/hn-server.git
-
Instala Dependencias: Navega al directorio del proyecto e instala las dependencias necesarias. Esto se puede hacer típicamente usando un gestor de paquetes como npm o yarn, dependiendo de la configuración del proyecto.
-
Ejecuta el Servidor: Después de instalar las dependencias, puedes ejecutar el servidor usando el comando especificado en la documentación (generalmente algo como
npm start
). -
Interactúa con la API: Una vez que el servidor esté en funcionamiento, puedes interactuar con los puntos finales de la API de Hacker News para obtener artículos de noticias, presentar historias y más.
-
Contribuye: Si deseas contribuir al proyecto, siéntete libre de bifurcar el repositorio, hacer tus cambios y enviar una solicitud de extracción.
Preguntas Frecuentes
¿Qué tecnologías se utilizan en hn-server?
hn-server se construye típicamente utilizando JavaScript y Node.js, aprovechando varias bibliotecas y marcos para facilitar las operaciones del lado del servidor.
¿Puedo contribuir al proyecto hn-server?
¡Sí! Las contribuciones son bienvenidas. Puedes bifurcar el repositorio, hacer cambios y enviar una solicitud de extracción para revisión.
¿Hay alguna forma de ejecutar hn-server localmente?
¡Absolutamente! Puedes clonar el repositorio y seguir las instrucciones de configuración en la documentación para ejecutarlo en tu máquina local.
¿Cuál es el propósito de la licencia MIT?
La licencia MIT permite a los usuarios usar, modificar y distribuir el software libremente, promoviendo la colaboración e innovación de código abierto.
¿Cómo puedo reportar problemas o errores?
Puedes reportar problemas navegando a la pestaña "Issues" en el repositorio de GitHub de hn-server y enviando un nuevo problema con detalles sobre el problema que estás encontrando.
Detalle
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.
Configuración del Servidor
{
"mcpServers": {
"hn-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--pskill9--hn-server--hn-server",
"node ./build/index.js"
],
"env": {}
}
}
}