Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą: BTC, USDT, USDC, ETH, SOL, LTC
Język: Polski
Uzyskaj klucz API

Dokumentacja · MCP

Serwer MCP do czytania stron internetowych dla Claude, Cursor i innych klientów MCP

Daj dowolnemu klientowi MCP narzędzie read_url, które zamienia link w czysty Markdown. Serwer to jeden krótki plik Pythona, który uruchamiasz na własnej maszynie; Twój klucz API pozostaje w jego środowisku.

Ostatnia aktualizacja: · 4 min czytania

Szybka odpowiedź

Jak dodać czytnik stron internetowych do Claude Desktop lub Cursor przez MCP?

Uruchom mały serwer MCP, który udostępnia narzędzie read_url wywołujące WebReaderAPI, a następnie zarejestruj go w ustawieniach MCP swojego klienta, umieszczając klucz w env. Model może wtedy czytać dowolną publiczną stronę jako czysty Markdown. Każde odczytanie strony kosztuje 1 kredyt, a 2 z przeglądarką, od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą.

Serwer MCP w skrócie

JęzykPython 3.10+, z pakietami mcp i httpx
Transportstdio: klient uruchamia serwer jako lokalny proces
Narzędzieread_url(url, max_chars) → tytuł, źródłowy URL, a następnie Markdown strony
Dlaczego nie web_fetchClaude Code i OpenClaw mają już wbudowane narzędzie o tej nazwie
KluczOdczytywany z WEBREADER_API_KEY w środowisku serwera
Rozliczanie1 kredyt = 1 odczytana strona bez przeglądarki; 2 kredyty, gdy strona wymaga przeglądarki do wyrenderowania JavaScript. Zapytanie, które się nie powiedzie lub które zostanie odrzucone przez robots.txt witryny, nie jest obciążane opłatą

Dlaczego narzędzie read_url, a nie web_fetch?

Bo dwa narzędzia o tej samej nazwie mylą zarówno klienta, jak i model. Claude Code i OpenClaw zawierają już narzędzie o nazwie web_fetch. Odmienna nazwa, read_url, i jasny opis pozwalają modelowi wybrać nasze narzędzie, gdy potrzebuje głównej treści strony, w tym stron z JavaScriptem i PDF-ów.

Narzędzie zwraca tekst, nie JSON. Modele lepiej radzą sobie z krótkim nagłówkiem i Markdownem niż z zagnieżdżonymi polami, a nagłówek trzyma źródłowy URL w zasięgu wzroku, dzięki czemu odpowiedź może go zacytować.

webreader_mcp.py
import os

import httpx
from mcp.server.fastmcp import FastMCP

API = "https://webreaderapi.com/api/v1/read"
KEY = os.environ["WEBREADER_API_KEY"]
mcp = FastMCP("webreaderapi")


@mcp.tool()
def read_url(url: str, max_chars: int = 20000) -> str:
    """Read a public web page and return its main content as Markdown.

    Use it when the user gives a link or when a page must be read to answer.
    max_chars caps the length of the returned text (1,000 to 500,000).
    """
    params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))}
    try:
        resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75)
    except httpx.HTTPError as exc:
        return "Network error while reading the page: " + str(exc)
    body = resp.json()
    if resp.status_code != 200:
        err = body.get("error", {})
        return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "")
    title = body.get("title") or url
    return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "")


if __name__ == "__main__":
    mcp.run()

Jak zainstalować i przetestować serwer?

Utwórz środowisko wirtualne, zainstaluj mcp i httpx, i zapisz plik powyżej. Pakiet mcp to oficjalny Python SDK Model Context Protocol; FastMCP zamienia otypowaną funkcję Pythona w narzędzie, używając docstringa jako jego opisu.

Zanim podłączysz go do klienta, uruchom plik raz z terminala z ustawionym kluczem. Czeka w ciszy na klienta na stdin, co oznacza, że wystartował poprawnie; zatrzymaj go przez Ctrl+C.

Instalacja
python -m venv .venv
. .venv/bin/activate
pip install "mcp[cli]" httpx
WEBREADER_API_KEY="your-key" python webreader_mcp.py

Jak zarejestrować go w Claude Desktop?

Otwórz ustawienia deweloperskie Claude Desktop, edytuj claude_desktop_config.json i dodaj wpis w mcpServers. Użyj ścieżek bezwzględnych: Pythona ze swojego środowiska wirtualnego i pliku serwera. Umieść klucz w env, aby nigdy nie pojawił się w argumentach narzędzia ani w rozmowie. Uruchom ponownie Claude Desktop, a read_url pojawi się na liście narzędzi.

Cursor czyta tę samą strukturę mcpServers ze swojego własnego pliku konfiguracji MCP, a Claude Code może zarejestrować to samo polecenie swoim poleceniem claude mcp add. W przypadku OpenClaw zobacz stronę OpenClaw.

claude_desktop_config.json
{
  "mcpServers": {
    "webreaderapi": {
      "command": "/home/you/webreader/.venv/bin/python",
      "args": ["/home/you/webreader/webreader_mcp.py"],
      "env": { "WEBREADER_API_KEY": "your-key" }
    }
  }
}

Jak utrzymać strony w kontekście modelu?

Zmniejsz max_chars. Domyślne 20 000 znaków wystarcza na większość artykułów i nie pozwala długiej stronie zapełnić kontekstu. Model czytający kilka stron w jednej odpowiedzi radzi sobie lepiej z 8 000 do 12 000 znaków na stronę.

Poproś model, aby czytał strony, których potrzebuje, a nie każdy link, który widzi. Krótkie zdanie w instrukcjach projektu, takie jak „czytaj najwyżej trzy strony na pytanie”, kontroluje zarówno koszt, jak i kontekst.

Co się dzieje, gdy witryna odmówi odczytu?

Narzędzie zwraca krótki komunikat z kodem błędu, takim jak blocked_by_robots lub target_refused, i nic nie jest naliczane. Respektujemy robots.txt: nasz crawler identyfikuje się jako WebReaderAPI, przestrzega reguł napisanych dla niego lub dla wszystkich robotów i nie czyta strony, której witryna zabrania. Odrzucone strony nie są obciążane opłatą. Jeśli witryna odrzuci nasze zapytanie, zwracamy jej odpowiedź: nigdy nie rozwiązujemy CAPTCHA, nie logujemy się do kont ani nie próbujemy obejść blokady lub paywalla. Model może wtedy powiedzieć, że strona nie jest dostępna dla zautomatyzowanych czytników, i użyć innego źródła.

Serwer MCP: najczęstsze pytania

Czy istnieje oficjalny pakiet MCP WebReaderAPI?

Nie. Plik na tej stronie to cała integracja: 40 linii, które możesz przeczytać, zmienić i uruchomić samodzielnie. Niczego nie trzeba instalować od nas, a Twój klucz nie opuszcza Twojej maszyny poza wywołaniami naszego API.

Czy model może przeszukiwać internet za pomocą tego serwera?

Nie. read_url czyta stronę, której adres Ty lub model już macie. Połącz go z dowolnym narzędziem wyszukiwania oferowanym przez klienta; model wyszukuje, a potem czyta strony, które mają znaczenie.

Ile kosztuje uruchomienie asystenta z tym serwerem?

Jeden kredyt za odczytanie strony, dwa, gdy potrzebna jest przeglądarka. Asystent czytający 50 stron dziennie zużywa około 1500 kredytów miesięcznie, a 10 000 stron (3,75 USD) pokrywa to na około sześć miesięcy.

Czy serwer działa offline?

Nie. Przy każdej stronie wywołuje https://webreaderapi.com/api/v1/read, więc potrzebuje dostępu do internetu i ważnego klucza.

Od 0,07 USD/1K stron · bez KYC

Uzyskaj klucz API