amazing_web_url_reader

paullesiak/amazing_web_url_reader

3.1

If you are the rightful owner of amazing_web_url_reader and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Amazing Web URL Reader is a Playwright-backed MCP server designed to render modern web apps in Chromium, strip noise, convert the DOM to Markdown, and optionally summarize the result for downstream LLM tooling.

Amazing Web URL Reader

Playwright-backed MCP server that renders modern web apps in Chromium, strips noise, converts the DOM to Markdown, and (optionally) summarizes the result for downstream LLM tooling. By default we send Accept: text/markdown, text/plain;q=0.99, text/html;q=0.9, */*;q=0.8; override via AMAZING_READER_ACCEPT_HEADER if your client needs something else.

Quick Start

  1. Install the Playwright Chromium binary once:
    uvx --from git+https://github.com/paullesiak/amazing_web_url_reader python -m amazing_web_url_reader --install-browser
    
  2. Point your MCP-aware agent at the same uvx command (see examples below). Using python -m amazing_web_url_reader works from any working directory, so hosts like LM Studio don’t have to know where the repo lives. The executable automatically stays current with the repository’s main branch. To force uvx to refresh the Git checkout each time, add UVX_ALWAYS_REFRESH=1 to the MCP server environment (or run uvx --upgrade ... manually when you want to pull the latest changes).

Configuration Options

VariableRequired?DefaultPurpose
AMAZING_READER_ACCEPT_HEADERoptionaltext/markdown, text/plain;q=0.99, text/html;q=0.9, */*;q=0.8Advertise a different Accept header to the target site.
AMAZING_READER_SUMMARY_TOKENSoptionalunset (no summarization)Global fallback token target when use_ollama_summarization is true but the request omits summary_target_tokens.
OLLAMA_HOSToptionalhttp://ollamalb.local:11434Default host for the summarization backend.
OLLAMA_MODELoptionalgpt-oss:20bDefault LLM for summarization.
MCP_DEBUGoptionalunsetSet to 1 for verbose logging (stdio wiring, tracing, etc.).

Tool arguments (read_web_url_amazing) mirror the MCP schema: url (required) plus optional wait_for_selector, wait_time, scroll_to_bottom, truncate, max_length, use_ollama_summarization, summary_target_tokens, ollama_host, and ollama_model.

MCP Agent Examples

OpenAI Codex (configuration.toml)

[[mcp_servers]]
name = "amazing-web-url-reader"
type = "stdio"
command = "uvx"
args = [
  "--from",  # required: tell uvx to pull straight from GitHub
  "git+https://github.com/paullesiak/amazing_web_url_reader",
  "python",
  "-m",
  "amazing_web_url_reader"
]

[mcp_servers.env]
# Optional overrides — delete the ones you don't need.
AMAZING_READER_ACCEPT_HEADER = "text/markdown, text/plain;q=0.99, text/html;q=0.9, */*;q=0.8"
AMAZING_READER_SUMMARY_TOKENS = "1500"
OLLAMA_HOST = "http://localhost:11434"
OLLAMA_MODEL = "gpt-oss:20b"
MCP_DEBUG = "0"

Claude Code (mcpServers JSON)

{
  "mcpServers": {
    "amazing-web-reader": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/paullesiak/amazing_web_url_reader",
        "python",
        "-m",
        "amazing_web_url_reader"
      ],
      "env": {
        "AMAZING_READER_SUMMARY_TOKENS": "0",
        "AMAZING_READER_ACCEPT_HEADER": "text/markdown, text/plain;q=0.99, text/html;q=0.9, */*;q=0.8",
        "OLLAMA_HOST": "http://localhost:11434",
        "OLLAMA_MODEL": "gpt-oss:20b"
      }
    }
  }
}

These snippets demonstrate every environment variable the server understands; feel free to strip them back to only the ones you care about. Re-running your agent automatically fetches the latest code from GitHub via uvx.