KYC不要 — 身分証もセルフィーも書類も不要。暗号資産で支払い:BTC, USDT, USDC, ETH, SOL, LTC
言語: 日本語
APIキーを取得

ドキュメント · MCP

Claude、Cursor、その他のMCPクライアント向けのWebページリーダーMCPサーバー

任意のMCPクライアントに、リンクをクリーンなMarkdownに変換するread_urlツールを追加できます。サーバーはお手持ちのマシンで実行する短いPythonファイル1つで、APIキーはその環境変数に保持されます。

最終更新:

概要

MCPでClaude DesktopやCursorにWebページリーダーを追加するには?

WebReaderAPIを呼び出すread_urlツールを公開する小さなMCPサーバーを実行し、クライアントのMCP設定でenvにキーを設定して登録します。これでモデルは任意の公開ページをクリーンなMarkdownとして読めるようになります。ページ読み取り1回につき1クレジット、ブラウザ使用時は2クレジットで、2026年10月時点では$0.07/1Kページから。KYC不要、暗号資産で支払い。

MCPサーバーの概要

言語Python 3.10+、mcpおよびhttpxパッケージを使用
トランスポートstdio:クライアントがサーバーをローカルプロセスとして起動
ツールread_url(url, max_chars) → タイトル、ソースURL、続いてページのMarkdown
web_fetchを使わない理由Claude CodeとOpenClawには、すでにその名前の組み込みツールが搭載されています
キーサーバーの環境変数WEBREADER_API_KEYから読み取り
課金1クレジット = ブラウザなしでページを1回読み取り。ページのJavaScriptレンダリングにブラウザが必要な場合は2クレジット。失敗したリクエスト、またはサイトのrobots.txtが拒否したリクエストは課金されません

read_urlツールを使い、web_fetchを使わないのはなぜ?

同じ名前のツールが2つあると、クライアントとモデルの両方が混乱するからです。Claude CodeとOpenClawには、すでにweb_fetchという名前のツールが含まれています。別の名前read_urlと明確な説明があれば、ページの本文(JavaScriptページやPDFを含む)が必要なときにモデルがこちらを選べます。

このツールはJSONではなくテキストを返します。モデルはネストされたフィールドよりも短いヘッダーとMarkdownをうまく扱え、ヘッダーにソースURLが残るため回答で引用できます。

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

サーバーのインストールとテスト方法は?

仮想環境を作成し、mcpとhttpxをインストールして、上記のファイルを保存します。mcpパッケージはModel Context Protocolの公式Python SDKで、FastMCPは型付きPython関数をツールに変換し、docstringをその説明として使います。

クライアントに組み込む前に、キーを設定した状態でターミナルからファイルを一度実行してください。stdinでクライアントを静かに待機していれば、正しく起動しています。Ctrl+Cで停止できます。

インストール
python -m venv .venv
. .venv/bin/activate
pip install "mcp[cli]" httpx
WEBREADER_API_KEY="your-key" python webreader_mcp.py

Claude Desktopに登録するには?

Claude Desktopの開発者設定を開き、claude_desktop_config.jsonを編集して、mcpServersの下にエントリを追加します。仮想環境のPythonとサーバーファイルの絶対パスを使用してください。キーはenvに入れると、ツールの引数や会話に表示されることはありません。Claude Desktopを再起動すると、read_urlがツール一覧に表示されます。

Cursorは独自のMCP設定ファイルから同じmcpServers構造を読み取り、Claude Codeはclaude mcp addコマンドで同じコマンドを登録できます。OpenClawについては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" }
    }
  }
}

ページをモデルのコンテキスト内に収めるには?

max_charsを下げてください。デフォルトの20,000文字はほとんどの記事に十分で、長いページがコンテキストを埋めるのを防ぎます。1つの回答で複数ページを読むモデルには、1ページあたり8,000〜12,000文字が適しています。

モデルには、目にするすべてのリンクではなく、必要なページだけを読むよう指示してください。プロジェクトの指示に「1つの質問につき最大3ページまで読む」といった短い一文を入れておくと、コストとコンテキストの両方を抑えられます。

サイトが読み取りを拒否した場合はどうなりますか?

ツールはblocked_by_robotsやtarget_refusedなどのエラーコードを含む短いメッセージを返し、課金は発生しません。当社はrobots.txtを尊重します。クローラーはWebReaderAPIとして名乗り、自身向けまたはすべてのロボット向けに書かれたルールに従い、サイトが禁止したページは読み取りません。拒否されたページは課金されません。サイトが当社のリクエストを拒否した場合、その回答をそのまま返します。CAPTCHAを解いたり、アカウントにログインしたり、ブロックやペイウォールを回避しようとしたりすることは決してありません。モデルはその後、そのページは自動リーダーには利用できないと伝え、別のソースを使えます。

MCPサーバー:よくある質問

WebReaderAPIの公式MCPパッケージはありますか?

いいえ。このページのファイルが統合そのものです。読んで、変更して、自分で実行できる40行です。当社からインストールするものはなく、キーは当社APIへの呼び出し以外ではお客様のマシンから出ることはありません。

このサーバーでモデルはWeb検索できますか?

いいえ。read_urlは、お客様またはモデルがすでにアドレスを持っているページを読み取ります。クライアントが提供する任意の検索ツールと組み合わせてください。モデルが検索し、その後重要なページを読み取ります。

これを使ってアシスタントを運用するコストは?

ページ読み取り1回につき1クレジット、ブラウザが必要な場合は2クレジットです。1日に50ページを読むアシスタントは月に約1,500クレジットを使用し、10,000ページ($3.75)で約6か月分をカバーできます。

サーバーはオフラインで動作しますか?

いいえ。ページごとにhttps://webreaderapi.com/api/v1/readを呼び出すため、インターネット接続と有効なキーが必要です。

$0.07/1Kページから · KYC不要

APIキーを取得