# Claude, Cursor ve diğer MCP istemcileri için web sayfası okuyucu MCP sunucusu

> Claude Desktop ve Cursor için web sayfası okuyucu MCP sunucusu: temiz Markdown döndüren 40 satırlık Python read_url aracı. KYC olmadan, kripto ile ödeme.

- URL: https://webreaderapi.com/tr/docs/mcp/
- Son güncelleme: 2026-10-22
- Yayıncı: WebReaderAPI (https://webreaderapi.com)

Herhangi bir MCP istemcisine bir bağlantıyı temiz Markdown'a dönüştüren bir `read_url` aracı verin. Sunucu, kendi makinenizde çalıştırdığınız kısa bir Python dosyasıdır; API anahtarınız onun ortam değişkenlerinde kalır.

**Hızlı yanıt — MCP ile Claude Desktop veya Cursor'a nasıl web sayfası okuyucu eklerim?**

**WebReaderAPI**'ı çağıran bir `read_url` aracı sunan küçük bir MCP sunucusu çalıştırın, ardından istemcinizin MCP ayarlarında `env` ile kaydedin. Model bundan sonra herkese açık herhangi bir sayfayı temiz Markdown olarak okuyabilir. Her sayfa okuması 1 kredi, tarayıcıyla 2 kredi; Ekim 2026 itibarıyla $0,07/1K sayfa'dan. KYC olmadan; kripto ile ödeme.

## MCP sunucusuna genel bakış

| Özellik | Değer |
| --- | --- |
| Dil | Python 3.10+, `mcp` ve `httpx` paketleriyle |
| Aktarım | stdio: istemci sunucuyu yerel bir süreç olarak başlatır |
| Araç | `read_url(url, max_chars)` → başlık, kaynak URL, ardından sayfanın Markdown'ı |
| Neden web_fetch değil | Claude Code ve OpenClaw bu isimde yerleşik bir araç zaten sunuyor |
| Anahtar | Sunucunun ortam değişkenlerinde `WEBREADER_API_KEY`'dan okunur |
| Faturalandırma | 1 kredi = tarayıcı olmadan 1 sayfa okuma; sayfa JavaScript render etmek için tarayıcı gerektiriyorsa 2 kredi. Başarısız olan veya bir sitenin robots.txt'inin reddettiği istek için ücret alınmaz |

## Neden web_fetch değil de read_url aracı?

Çünkü aynı isimli iki araç hem istemciyi hem de modeli karıştırır. Claude Code ve OpenClaw `web_fetch` adlı bir araç zaten içeriyor. Farklı bir isim, `read_url`, ve net bir açıklama, modelin bir sayfanın ana içeriğine, JavaScript sayfaları ve PDF'ler dahil, ihtiyaç duyduğunda bizimkini seçmesini sağlar.

Araç JSON değil, metin döndürür. Modeller kısa bir başlık ve Markdown'ı iç içe alanlardan daha iyi işler; başlık da kaynak URL'yi görünür tutar, böylece yanıt onu kaynak gösterebilir.

*webreader_mcp.py*

```python
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()

```

## Sunucuyu nasıl kurar ve test ederim?

Bir sanal ortam oluşturun, `mcp` ve `httpx` paketlerini kurun ve yukarıdaki dosyayı kaydedin. `mcp` paketi, Model Context Protocol'ün resmi Python SDK'sıdır; `FastMCP` ise tiplenmiş bir Python fonksiyonunu, docstring'i açıklaması olarak kullanarak bir araca dönüştürür.

İstemciye bağlamadan önce dosyayı anahtarınız tanımlıyken bir terminalden bir kez çalıştırın. stdin'de sessizce bir istemci bekler; bu, doğru başladığı anlamına gelir; Ctrl+C ile durdurun.

*Kurulum*

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

## Claude Desktop'ta nasıl kaydederim?

Claude Desktop'ın geliştirici ayarlarını açın, `claude_desktop_config.json` dosyasını düzenleyin ve `mcpServers` altına bir giriş ekleyin. Mutlak yollar kullanın: sanal ortamınızın Python'u ve sunucu dosyası. Anahtarı `env` içine koyun, böylece aracın argümanlarında veya konuşmada hiç görünmez. Claude Desktop'ı yeniden başlatın; `read_url` araçlar listesinde görünür.

Cursor aynı `mcpServers` yapısını kendi MCP yapılandırma dosyasından okur; Claude Code da aynı komutu `claude mcp add` komutuyla kaydedebilir. OpenClaw için [OpenClaw sayfasına](https://webreaderapi.com/tr/docs/openclaw/) bakın.

*claude_desktop_config.json*

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

## Sayfaları modelin context'i içinde nasıl tutarım?

`max_chars` değerini düşürün. Varsayılan 20.000 karakter çoğu makale için yeterlidir ve uzun bir sayfanın context'i doldurmasını önler. Tek bir yanıtta birkaç sayfa okuyan bir model, sayfa başına 8.000 ila 12.000 karakterle daha iyi sonuç verir.

Modelden gördüğü her bağlantıyı değil, ihtiyaç duyduğu sayfaları okumasını isteyin. Proje talimatlarınızdaki "soru başına en fazla üç sayfa oku" gibi kısa bir cümle hem maliyeti hem de context'i kontrol altında tutar.

## Bir site okumayı reddettiğinde ne olur?

Araç, hata koduyla birlikte kısa bir mesaj döndürür; örneğin `blocked_by_robots` veya `target_refused`, ve hiçbir ücret kesilmez. robots.txt'e uyarız: crawler'ımız kendini WebReaderAPI olarak tanıtır, kendisi için veya tüm robotlar için yazılmış kurallara uyar ve bir sitenin izin vermediği sayfayı okumaz. Reddedilen sayfalar için ücret alınmaz. Bir site isteğimizi reddederse, verdiği yanıtı döndürürüz: CAPTCHA'ları asla çözmeyiz, hesaplara giriş yapmayız veya bir engeli ya da ödeme duvarını aşmaya çalışmayız. Model bundan sonra sayfanın otomatik okuyucular için kullanılamadığını söyleyip başka bir kaynak kullanabilir.

## MCP sunucusu: sık sorulan sorular

### Resmi bir WebReaderAPI MCP paketi var mı?

Hayır. Bu sayfadaki dosya entegrasyonun kendisidir: okuyabileceğiniz, değiştirebileceğiniz ve kendiniz çalıştırabileceğiniz 40 satır. Bizden kurulacak bir şey yok ve anahtarınız API'mize yapılan çağrılar dışında makinenizden çıkmaz.

### Model bu sunucuyla web'de arama yapabilir mi?

Hayır. `read_url`, sizin veya modelin adresini zaten bildiği bir sayfayı okur. İstemcinizin sunduğu herhangi bir arama aracıyla birlikte kullanın; model arar, sonra önemli sayfaları okur.

### Bununla çalışan bir asistanın maliyeti ne kadar?

Sayfa okuması başına 1 kredi, tarayıcı gerektiğinde 2 kredi. Günde 50 sayfa okuyan bir asistan ayda yaklaşık 1.500 kredi kullanır ve 10.000 sayfa ($3,75) bunu yaklaşık altı ay boyunca karşılar.

### Sunucu çevrimdışı çalışır mı?

Hayır. Her sayfa için `https://webreaderapi.com/api/v1/read`'ı çağırır, dolayısıyla internet erişimi ve geçerli bir anahtar gerektirir.

---

WebReaderAPI: WebReaderAPI, AI ajanları için bir web reader API'sidir; herkese açık herhangi bir web sayfasını temiz Markdown'a dönüştürür ve kimlik yüklemeden kripto ile ödenir. $0,07/1K sayfa başlangıçlı ön ödemeli kreditler asla süresi dolmaz ve robots.txt'e uyulur. KYC yok — kimlik yok, selfie yok, belge yok. Kripto ile ödeme yapın.
