GeekNews MCP Server
Obtiene y almacena en caché artículos diarios de GeekNews mediante web scraping.
Documentación
GeekNews MCP Server
Este proyecto es un servidor de Model Context Protocol (MCP) que obtiene artículos de GeekNews. Está implementado en Python y utiliza BeautifulSoup para realizar el web scraping. Para reducir la carga del servidor, ofrece la funcionalidad de analizar los datos automáticamente una vez al día y almacenarlos en caché.
Características
![]() | ![]() |
|---|---|
![]() | ![]() |
Herramientas (Tools)
-
Herramienta
get_articles: Función para obtener artículos de GeekNews- Se puede especificar el tipo de artículo (top, new, ask, show) y la cantidad de artículos a devolver
- Cada respuesta incluye título, URL, puntos, autor, hora, número de comentarios e información de clasificación
- Utiliza datos en caché para reducir la carga del servidor
-
Herramienta
get_weekly_news: Función para obtener las noticias semanales de GeekNews- Se puede especificar un ID de noticia semanal concreto u obtener la noticia semanal más reciente
- Proporciona información como título, número, ID, contenido, URL y lista de elementos de la noticia semanal
- Cada elemento incluye título, URL e información de clasificación
- Utiliza datos en caché para reducir la carga del servidor
Función de caché
- Analiza los datos automáticamente una vez al día y los almacena en caché
- Si los datos en caché son válidos, se utilizan sin realizar solicitudes al servidor de GeekNews
- Los datos en caché son válidos durante 24 horas y se renuevan automáticamente después de ese período
- El programador verifica periódicamente la validez de la caché y la renueva si es necesario
Uso
-
Instalación mediante Smithery
-
Añadir la información del servidor al archivo de configuración de MCP
{ "mcpServers": { "geeknews-mcp-server": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@the0807/geeknews-mcp-server", "--key", "smithery에서 발급 받은 키" ] } } }
Método de instalación local
-
Git Clone
git clone https://github.com/the0807/GeekNews-MCP-Server cd GeekNews-MCP-Server -
Configurar el entorno con uv
uv sync -
Ejecutar el entorno virtual
uv venv source .venv/bin/activate -
Probar el servidor con MCP Inspector
uv run mcp mcp dev main.py # 터미널에 나오는 URL(MCP Inspector)로 접속하여 서버 테스트
Estructura del código
src/models.py: Definición de la clase de datos para almacenar información de artículossrc/parser.py: Analiza el HTML del sitio web de GeekNews para extraer información de artículossrc/client.py: Cliente HTTP para obtener datos del sitio web de GeekNewssrc/config.py: Definición de configuración y constantessrc/cache.py: Proporciona la funcionalidad de gestión de cachésrc/scheduler.py: Programador para la renovación periódica de datossrc/server.py: Implementación del servidor MCPmain.py: Punto de entrada para la ejecución del servidor
[!Note]
- Este servidor depende de la estructura HTML del sitio web de GeekNews. Si la estructura del sitio cambia, es posible que sea necesario actualizar la lógica de análisis.
- Los datos en caché se almacenan en la carpeta
.cache/geeknews-mcpdentro del directorio de inicio del usuario.



