GeekNews
📰 GeekNews MCP Server
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
-
Clone the repository: git clone https://github.com/the0807/GeekNews-MCP-Server cd GeekNews-MCP-Server
-
Set up a local environment (optional but recommended): python -m venv .venv source .venv/bin/activate
-
Install dependencies: pip install -r requirements.txt
-
Run the MCP server: uv run mcp # if using UV, or python main.py
-
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
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP