MCP server readability python
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.
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: - Extracts only relevant content using Readability algorithm - Eliminates noise like ads, popups, and navigation menus - Reduces token usage by removing unnecessary HTML/CSS - Provides consistent Markdown formatting for better LLM processing - Handles complex web pages with dynamic content
Clone the repository:
git clone https://github.com/jmh108/MCP-server-readability-python.git
cd MCP-server-readability-python
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use: venvScriptsactivate
Install dependencies:
pip install -r requirements.txt
Start the server:
fastmcp run server.py
Example request:
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.