GeekNews MCP Server
This project is a Model Context Protocol (MCP) server that fetches articles from GeekNews . It is implemented in Python and uses BeautifulSoup to perform web scraping.
function
Tools
get_articles
tool: Ability to fetch articles from GeekNews- You can specify the article type (top, new, ask, show) and the number of articles to return.
- Each response contains title, URL, points, author, time, number of comments, and ranking information.
get_weekly_news
tool: Ability to fetch weekly news from GeekNews- You can specify a specific weekly news ID or retrieve the most recent weekly news.
- Provides information such as the title, number, ID, content, URL, and list of items of weekly news.
- Each item contains a title, URL, and ranking information.
How to use
- Installation using Smithery🚀 geeknews-mcp-server
- Add server information to the MCP settings fileCopy
How to install locally
- Git CloneCopy
- Setting the environment with uvCopy
- Running a virtual environmentCopy
- Testing your server with MCP InspectorCopy
Code Structure
src/models.py
: Define a data class that stores article information.src/parser.py
: Parses HTML from the GeekNews website to extract article information.src/client.py
: HTTP client that fetches data from the GeekNews website.src/config.py
: Define settings and constantssrc/server.py
: MCP server implementationmain.py
: Server execution entry point
[!Note]
- This server relies on the HTML structure of the GeekNews website. If the website structure changes, you may need to update your parsing logic.
This server cannot be installed
This project is a Model Context Protocol (MCP) server that fetches articles from GeekNews. It is implemented in Python, and performs web scraping using BeautifulSoup.