Get the FREE Ultimate OpenClaw Setup Guide →

GeekNews

📰 GeekNews MCP Server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio the0807-geeknews-mcp-server python main.py \
  --env DEBUG="Enable debug logging (true/false)" \
  --env CACHE_DIR="Path to cache directory; defaults to ~/.cache/geeknews-mcp" \
  --env GEEKNEWS_BASE_URL="Base URL for GeekNews (if configurable)"

How to use

GeekNews MCP Server is a Python-based MCP service that scrapes GeekNews articles and weekly news using BeautifulSoup, then caches results to minimize load on the source site. The server exposes tools for fetching articles (get_articles) and weekly news (get_weekly_news). The cached data is refreshed automatically every 24 hours, with a scheduler ensuring the cache stays fresh. To use, run the MCP server locally or in your environment, then interact with the tools via the MCP Inspector or your own MCP client, using the defined commands to retrieve top, new, ask, or show articles, or weekly news by ID or latest. The server prioritizes cache data when valid, reducing unnecessary network requests to GeekNews.

How to install

Prerequisites:

  • Python 3.8+ installed
  • Basic shell access
  1. Clone the repository: git clone https://github.com/the0807/GeekNews-MCP-Server cd GeekNews-MCP-Server

  2. Set up a local environment (optional but recommended): python -m venv .venv source .venv/bin/activate

  3. Install dependencies: pip install -r requirements.txt

  4. Run the MCP server: uv run mcp # if using UV, or python main.py

  5. Verify the server is running by visiting the MCP Inspector URL provided in the console output.

Notes:

  • The server relies on GeekNews HTML structure; changes to the site may require parsing updates.
  • Cache data is stored under ~/.cache/geeknews-mcp by default.

Additional notes

Tips and caveats:

  • The server uses a scheduler to refresh cache every 24 hours. Ensure the hosting environment maintains a stable clock and allows scheduled tasks.
  • If you deploy behind a firewall, ensure the server can reach GeekNews for the initial fetch when the cache is empty.
  • Configure environment variables as needed:
    • CACHE_DIR: where cache is stored
    • GEekNEWS_BASE_URL: base URL override if GeekNews changes domain paths
    • DEBUG: set to true to enable verbose logs
  • If parsing fails due to site changes, inspect src/parser.py and src/cache.py for potential adjustments to selectors or cache invalidation logic.

Related MCP Servers

Sponsor this space

Reach thousands of developers ↗