Hacker News
Obtiene y analiza historias de Hacker News, proporcionando datos estructurados para publicaciones principales, nuevas, de preguntas, de muestra y de empleo.
Documentación
Servidor MCP de Hacker News
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para obtener historias de Hacker News. Este servidor analiza el contenido HTML de news.ycombinator.com y proporciona datos estructurados para diferentes tipos de historias (top, new, ask, show, jobs).
Características
- Obtener diferentes tipos de historias (top, new, ask, show, jobs)
- Obtener datos estructurados que incluyen títulos, URLs, puntos, autores, marcas de tiempo y recuentos de comentarios
- Límite configurable en el número de historias devueltas
- Manejo de errores y validación limpios
Instalación
- Clona el repositorio:
git clone https://github.com/pskill9/hn-server
cd hn-server
- Instala las dependencias:
npm install
- Compila el servidor:
npm run build
- Añádelo a tu archivo de configuración de ajustes de MCP (la ubicación depende de tu sistema):
Para la extensión de Claude en VSCode:
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
Uso
El servidor proporciona una herramienta llamada get_stories que se puede usar para obtener historias de Hacker News.
Herramienta: get_stories
Parámetros:
type(cadena): Tipo de historias a obtener- Opciones: 'top', 'new', 'ask', 'show', 'jobs'
- Predeterminado: 'top'
limit(número): Número de historias a devolver- Rango: 1-30
- Predeterminado: 10
Ejemplo de uso:
use_mcp_tool with:
server_name: "hacker-news"
tool_name: "get_stories"
arguments: {
"type": "top",
"limit": 5
}
Salida de muestra:
[
{
"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
]
Integración con Claude
Para usar este servidor MCP con Claude, necesitarás:
- Tener instalada la aplicación de escritorio de Claude o la extensión de Claude para VSCode
- Configurar el servidor MCP en tus ajustes
- Usar la interfaz de lenguaje natural de Claude para interactuar con Hacker News
Configuración
Para la aplicación de escritorio de Claude, añade la configuración del servidor a:
// ~/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"]
}
}
}
Para la extensión de Claude en VSCode, añade a:
// VSCode Settings JSON
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
Ejemplos de interacción
Una vez configurado, puedes interactuar con Claude usando lenguaje natural para obtener historias de Hacker News. Ejemplos:
- "Muéstrame las 5 historias principales de Hacker News"
- "¿Cuáles son las últimas publicaciones de Ask HN?"
- "Obtén las mejores presentaciones de Show HN de hoy"
Claude usará automáticamente los parámetros apropiados para obtener las historias que deseas.

Estructura del objeto de historia
Cada objeto de historia contiene:
title(cadena): El título de la historiaurl(cadena, opcional): URL de la historia (puede ser una URL interna de HN para publicaciones de texto)points(número): Número de votos positivosauthor(cadena): Nombre de usuario del autortime(cadena): Marca de tiempo de cuándo se publicó la historiacommentCount(número): Número de comentariosrank(número): Posición en la lista
Desarrollo
El servidor está construido usando:
- TypeScript
- SDK de Protocolo de Contexto de Modelo
- Axios para solicitudes HTTP
- Cheerio para análisis de HTML
Para modificar el servidor:
- Realiza cambios en
src/index.ts - Recompila:
npm run build
Manejo de errores
El servidor incluye un manejo robusto de errores para:
- Tipos de historias no válidos
- Fallos de red
- Errores de análisis de HTML
- Valores de parámetros no válidos
Los errores se devuelven con códigos de error apropiados y mensajes descriptivos.
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción (Pull Request).
Licencia
Licencia MIT: siéntete libre de usar esto en tus propios proyectos.