A Python implementation of an MCP server that extracts webpage content, removes ads and non-essential elements, and transforms it into clean, LLM-optimized Markdown.
This project is based on the original server-moz-readability implementation of emzimmer. (For the original README documentation, please refer to the original README.md.)
This Python implementation adapts the original concept to run as python based MCP using FastMCP
A Python implementation of the Model Context Protocol (MCP) server that extracts and transforms webpage content into clean, LLM-optimized Markdown.
Unlike simple fetch requests, this server:
git clone https://github.com/jmh108/MCP-server-readability-python.git cd MCP-server-readability-python
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt
fastmcp run server.py
curl -X POST http://localhost:8000/tools/extract_content \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/article"}'
extract_content
Fetches and transforms webpage content into clean Markdown.
Arguments:
{ "url": { "type": "string", "description": "The website URL to parse", "required": true } }
Returns:
{ "content": "Markdown content..." }
To configure the MCP server, add the following to your MCP settings file:
{ "mcpServers": { "readability": { "command": "fastmcp", "args": ["run", "server.py"], "env": {} } } }
The server can then be started using the MCP protocol and accessed via the parse
tool.
MIT License - See LICENSE for details.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!