# MCP server pembaca halaman web untuk Claude, Cursor, dan klien MCP lain

> MCP server pembaca halaman web untuk Claude Desktop, Cursor, dan klien MCP lain: tool read_url Python yang mengembalikan Markdown bersih. Bayar dengan kripto.

- URL: https://webreaderapi.com/id/docs/mcp/
- Terakhir diperbarui: 2026-10-22
- Penerbit: WebReaderAPI (https://webreaderapi.com)

Beri klien MCP mana pun sebuah tool `read_url` yang mengubah tautan menjadi Markdown bersih. Server ini adalah satu file Python singkat yang Anda jalankan di mesin Anda sendiri; API key Anda tetap berada di environment-nya.

**Jawaban singkat — Bagaimana cara menambahkan pembaca halaman web ke Claude Desktop atau Cursor dengan MCP?**

Jalankan MCP server kecil yang mengekspos tool `read_url` yang memanggil **WebReaderAPI**, lalu daftarkan di pengaturan MCP klien Anda dengan API key Anda di `env`. Model kemudian dapat membaca halaman publik mana pun sebagai Markdown bersih. Setiap pembacaan halaman dikenai biaya 1 kredit, 2 dengan browser, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto.

## MCP server sekilas

| Atribut | Nilai |
| --- | --- |
| Bahasa | Python 3.10+, dengan paket `mcp` dan `httpx` |
| Transport | stdio: klien memulai server sebagai proses lokal |
| Alat | `read_url(url, max_chars)` → judul, URL sumber, lalu Markdown halaman |
| Kenapa bukan web_fetch | Claude Code dan OpenClaw sudah menyertakan tool bawaan dengan nama tersebut |
| Key | Dibaca dari `WEBREADER_API_KEY` di environment server |
| Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya |

## Kenapa tool read_url dan bukan web_fetch?

Karena dua tool dengan nama yang sama membingungkan klien maupun model. Claude Code dan OpenClaw sudah menyertakan tool bernama `web_fetch`. Nama yang berbeda, `read_url`, dan deskripsi yang jelas membuat model memilih tool kami saat membutuhkan konten utama sebuah halaman, termasuk halaman JavaScript dan PDF.

Tool ini mengembalikan teks, bukan JSON. Model menangani header singkat dan Markdown lebih baik daripada field bersarang, dan header tersebut menjaga URL sumber tetap terlihat sehingga jawaban dapat mengutipnya.

*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()

```

## Bagaimana cara menginstal dan menguji server ini?

Buat virtual environment, instal `mcp` dan `httpx`, lalu simpan file di atas. Paket `mcp` adalah SDK Python resmi dari Model Context Protocol; `FastMCP` mengubah fungsi Python bertipe menjadi tool, menggunakan docstring sebagai deskripsinya.

Sebelum menghubungkannya ke klien, jalankan file tersebut sekali dari terminal dengan API key Anda sudah disetel. Server akan diam menunggu klien di stdin, yang berarti server berhasil dijalankan; hentikan dengan Ctrl+C.

*Instal*

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

## Bagaimana cara mendaftarkannya di Claude Desktop?

Buka pengaturan developer Claude Desktop, edit `claude_desktop_config.json`, dan tambahkan entri di bawah `mcpServers`. Gunakan path absolut: Python dari virtual environment Anda dan file server. Letakkan API key di `env`, agar tidak pernah muncul di argumen tool atau di percakapan. Mulai ulang Claude Desktop, dan `read_url` muncul di daftar tool.

Cursor membaca struktur `mcpServers` yang sama dari file konfigurasi MCP-nya sendiri, dan Claude Code dapat mendaftarkan perintah yang sama dengan perintah `claude mcp add`-nya. Untuk OpenClaw, lihat [halaman OpenClaw](https://webreaderapi.com/id/docs/openclaw/).

*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" }
    }
  }
}
```

## Bagaimana cara menjaga halaman tetap dalam konteks model?

Turunkan `max_chars`. Nilai default 20.000 karakter cukup untuk sebagian besar artikel dan mencegah halaman panjang memenuhi konteks. Model yang membaca beberapa halaman dalam satu jawaban lebih baik dengan 8.000 hingga 12.000 per halaman.

Minta model membaca halaman yang dibutuhkannya, bukan setiap tautan yang dilihatnya. Satu kalimat singkat dalam instruksi proyek Anda, seperti "baca maksimal tiga halaman per pertanyaan", menjaga biaya dan konteks tetap terkendali.

## Apa yang terjadi saat situs menolak pembacaan?

Tool mengembalikan pesan singkat beserta kode error, seperti `blocked_by_robots` atau `target_refused`, dan tidak ada yang ditagih. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Model kemudian dapat menyatakan bahwa halaman tidak tersedia untuk pembaca otomatis dan menggunakan sumber lain.

## MCP server: pertanyaan umum

### Apakah ada paket MCP resmi WebReaderAPI?

Tidak. File di halaman ini adalah integrasinya: 40 baris yang dapat Anda baca, ubah, dan jalankan sendiri. Tidak ada yang perlu diinstal dari kami, dan API key Anda tidak pernah meninggalkan mesin Anda kecuali dalam panggilan ke API kami.

### Apakah model dapat mencari di web dengan server ini?

Tidak. `read_url` membaca halaman yang alamatnya sudah Anda atau model miliki. Pasangkan dengan tool pencarian apa pun yang ditawarkan klien Anda; model mencari, lalu membaca halaman yang penting.

### Berapa biaya menjalankan asisten dengan tool ini?

Satu kredit per pembacaan halaman, dua saat browser diperlukan. Asisten yang membaca 50 halaman sehari menggunakan sekitar 1.500 kredit per bulan, dan 10.000 halaman (US$3,75) menutupinya untuk sekitar enam bulan.

### Apakah server ini bekerja offline?

Tidak. Server ini memanggil `https://webreaderapi.com/api/v1/read` untuk setiap halaman, jadi membutuhkan akses internet dan API key yang valid.

---

WebReaderAPI: WebReaderAPI adalah API pembaca web untuk AI agent yang mengubah halaman web publik apa pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah identitas. Kredit prabayar mulai dari US$0,07/1K halaman tidak pernah kedaluwarsa, dan robots.txt dihormati. Tanpa KYC — tanpa identitas, tanpa selfie, tanpa dokumen. Bayar dengan kripto.
