SuperAPI AI Directory

GeekNews-MCP-Server

Retrieve and process news from GeekNews.

Open website

About this tool

GeekNews MCP Server is a Model Context Protocol (MCP)-based server designed to fetch articles and weekly news from the GeekNews website. The project is implemented in Python and uses BeautifulSoup for web scraping. To reduce server load, it provides a feature that automatically parses data and caches it every day.

Main Capabilities

  • get_articles tool: Fetches articles from GeekNews. You can specify the article type (top, new, ask, show) and the number of articles to return. Each response contains the title, URL, points, author, time, comment count, and ranking information. Uses cached data to reduce server load.
  • get_weekly_news tool: Fetches weekly news from GeekNews. You can specify a specific weekly news ID or fetch the latest weekly news. Provides information such as the title, number, ID, content, URL, and item list of the weekly news. Each item contains the title, URL, and ranking information. It also uses cached data to reduce server load.
  • Caching mechanism: Automatically parses data and caches it every day. If the cached data is valid, no request is sent to the GeekNews server, and the cached data is used instead. The cached data is valid for 24 hours, after which it is automatically updated. The scheduler periodically checks cache validity and updates it when needed.

Usage

Install via Smithery: Add the server information to the MCP configuration file:

{
  "mcpServers": {
    "geeknews-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@the0807/geeknews-mcp-server",
        "--key",
        "smithery에서 발급 받은 키"
      ]
    }
  }
}

Install via Git Clone:

git clone https://github.com/the0807/GeekNews-MCP-Server
cd GeekNews-MCP-Server
uv sync
uv venv
source .venv/bin/activate
uv run mcp mcp dev main.py

Access the displayed URL (MCP Inspector) in the terminal to test the server.

Project Structure

  • src/models.py: Defines the data classes for storing article information.
  • src/parser.py: Parses the HTML of the GeekNews website and extracts article information.
  • src/client.py: HTTP client for fetching data from the GeekNews website.
  • src/config.py: Defines configuration and constants.
  • src/cache.py: Provides cache management functionality.
  • src/scheduler.py: Scheduler that periodically updates data.
  • src/server.py: MCP server implementation.
  • main.py: Server execution entry point.

Applicable Scenarios

Suitable for MCP clients that need to fetch articles or weekly news from GeekNews, such as AI assistants or automation tools. It can help users quickly obtain news summaries without directly visiting the website.

Limitations

  • This server depends on the HTML structure of the GeekNews website. If the website structure changes, the parsing logic may need to be updated.
  • Cached data is stored in the .cache/geeknews-mcp folder under the user's home directory.
  • Currently, no information on other features or platform support is provided.