Skip to main content
Glama
Friezaaaa
by Friezaaaa

SmartFetch V1.8 — MCP ディスカバリビリティ

SmartFetch は公開ウェブ URL を受け取り、エージェントがすぐに使えるクリーンなテキスト、Markdown、リンク、メタデータ、および使用された取得方法を返します。

まず低コストな HTTP 取得を試み、必要な場合は実際の Chromium ブラウザにフォールバックします。

V1.8 での変更点

  • 有料 MCP ツール fetch_webpage は、エージェントによるディスカバリのために、実行や支払いの動作を変更することなく、正式な x402 Bazaar メタデータを宣言するようになりました。

  • ルートの server.json は、既存の /mcp Streamable HTTP エンドポイントを、Official MCP Registry 向けのリモート専用サーバーとしてアドバタイズします。

  • このリポジトリ更新では、Registry への公開、デプロイ、Railway 変数の変更、支払いは一切実行されません。

V1.7 の HTTP 支払い、Bazaar、およびネイティブ MCP の動作はすべて変更されません:

  • Base Sepolia はデフォルトの x402 ネットワークのままであり、CDP 認証情報なしで https://x402.org/facilitator を引き続き使用します。

  • Base mainnet は、明示的に選択された場合に、Coinbase の認証付き CDP facilitator を使用できます。

  • mainnet の起動には CDP API 認証情報の両方が必要であり、無効な認証情報や facilitator サポートの欠如に対してはフェイルクローズド(失敗時は安全側に閉じる)します。

  • /meta は、有効なテストネットと mainnet の支払いモードを区別します。

  • cdp-sdk、FastAPI、Uvicorn、x402 は正確に固定されているため、インフラストラクチャのアップグレードは明示的です。

取得エンジン、抽出/ブラウザ動作、SSRF 保護、リクエスト制限、レート制限、および並行性制御は変更されていません。

Related MCP server: SteadyFetch

API

GET /health

サービスヘルス/バージョンを返します。

GET /meta

機械可読なサービス説明。

POST /fetch

{
  "url": "https://example.com/article",
  "max_chars": 20000,
  "force_browser": false
}

max_chars はオプションです(最小 1,000、デフォルト 20,000、最大 50,000)。

レスポンスフィールドの例:

{
  "success": true,
  "requested_url": "https://example.com/article",
  "final_url": "https://example.com/article",
  "status_code": 200,
  "render_method": "http",
  "title": "…",
  "content": "…",
  "markdown": "…",
  "links": [],
  "word_count": 1000,
  "content_hash": "…",
  "truncated": false,
  "elapsed_ms": 350,
  "request_id": "…",
  "service_version": "1.8.0"
}

x402 支払い保護が有効な場合、POST /fetchPAYMENT-REQUIRED ヘッダーには、urlmax_charsforce_browser の入力コントラクトと代表的な成功レスポンスを含む Bazaar 宣言が含まれます。//health/meta は無料のままであり、Bazaar メタデータをアドバタイズしません。

MCP

リモート MCP クライアントは Streamable HTTP を使用して /mcp に接続します。サーバーは正確に 1 つのツールを公開します:

fetch_webpage
  url: required string
  max_chars: optional integer (default 20000, minimum 1000, maximum 50000)
  force_browser: optional boolean (default false)

このツールは、エージェント向けに公開ウェブページを読み取り、取得、スクレイピング、または抽出し、既存の SmartFetch テキスト、Markdown、リンク、および取得メタデータを返します。POST /fetch と同じ SSRF 検証、executor、リクエストタイムアウト、並行性上限、出力上限、HTTP 取得、ブラウザフォールバックを使用します。公開 API への HTTP リクエストは行いません。

x402 が有効な場合、未払いの tools/call はネイティブ MCP x402 支払いチャレンジを返します。有効な支払いは取得前に検証され、ツールの実行成功後に 1 回決済されます。ネットワーク、公開受取人、価格は X402_NETWORKX402_PAY_TOX402_PRICE から取得されます。売り手の秘密鍵やウォレットシークレットは受け付けられず、必要もありません。

未払いの MCP 支払いチャレンジには、トランスポート streamable-http、既存の入力コントラクト、および代表的な SmartFetch 出力を含む、fetch_webpage の Bazaar 宣言が含まれます。その支払いリソースは mcp://tool/fetch_webpage のままです。POST /fetch の既存の HTTP Bazaar リソースは別物であり、変更されていません。

ルートの server.json は、https://smartfetch-production-ea53.up.railway.app/mcp の公開リモートエンドポイントを記述します。Registry への公開は、認証されたオペレーターによる別個のアクションです。マニフェストを追加しても、サービスが公開されたりデプロイされたりすることはありません。

ローカルでの実行

python -m pip install -r requirements.txt
python -m smartfetch.server

次に:

curl http://127.0.0.1:8787/health
curl -X POST http://127.0.0.1:8787/fetch \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Windows ユーザーは、setup_windows.bat を実行してから、start_windows.bat を実行できます。

X402_ENABLED が未設定または false の場合、起動に支払い設定は不要で、/fetch はローカルおよびリモートテスト用に無料のままです。

x402 支払いモード

支払いは、明示的に有効にしない限り無効のままです。Base Sepolia がデフォルトであり、公開受取アドレスのみが必要です:

X402_ENABLED=true
X402_PAY_TO=0xYOUR_PUBLIC_RECEIVING_ADDRESS
X402_PRICE=$0.005
X402_NETWORK=eip155:84532

X402_PRICEX402_NETWORK は、省略時は表示されている値を使用します。デフォルト価格は $0.005 のままです。

Base mainnet は明示的に選択する必要があり、Coinbase の認証付き CDP facilitator を使用します:

X402_ENABLED=true
X402_PAY_TO=0xYOUR_PUBLIC_RECEIVING_ADDRESS
X402_PRICE=$0.005
X402_NETWORK=eip155:8453
CDP_API_KEY_ID=YOUR_CDP_API_KEY_ID
CDP_API_KEY_SECRET=YOUR_CDP_API_KEY_SECRET

mainnet には CDP 認証情報の両方が必要です。認証情報の欠落、無効、または使用不可、サポートされていない Base-mainnet の完全一致支払い、または facilitator/ミドルウェアの初期化失敗があると、起動は中断されます。SmartFetch は、mainnet が選択されている場合、無料アクセスやテストネット facilitator にフォールバックすることはありません。Base Sepolia と Base mainnet 以外のすべてのネットワークは拒否されます。

保護されるのは POST /fetch のみです。/health//meta は常に無料のままです。有効な /meta レスポンスは、設定値を公開せずに x402-enabled-testnet または x402-enabled-mainnet を報告します。

SmartFetch は公開受取アドレスとして X402_PAY_TO を使用し、CDP_WALLET_SECRET は必要ありません。売り手の MetaMask 秘密鍵やリカバリーフレーズを決して提供しないでください: SmartFetch はそのいずれも必要とせず、読み取らず、受け付けず、ログに記録せず、保存もしません。

ローカル検証

python tests/security_smoke.py
python tests/api_local_smoke.py

api_local_smoke.py は、localhost フィクスチャを使用できるように、テストプロセス内でのみ意図的にプライベートネットワークアクセスを有効にします。

コンテナ

docker build -t smartfetch:v1.8 .
docker run --rm -p 8787:8787 smartfetch:v1.8

コンテナは Chromium を自動的にインストールします。

公開デプロイ

このパッケージは Docker 対応です。Railway は同梱の Dockerfilerailway.json をデプロイできます。アウトバウンド HTTPS と Chromium プロセス 1 つ分の十分な RAM を提供する任意の Docker ホストでも動作するはずです。

推奨される初期環境変数:

MAX_CONCURRENT_BROWSERS=1
MAX_CONCURRENT_FETCHES=4
DEFAULT_MAX_OUTPUT_CHARS=20000
MAX_OUTPUT_CHARS=50000
FETCH_TIMEOUT_SECONDS=12
BROWSER_TIMEOUT_SECONDS=15
TOTAL_REQUEST_TIMEOUT_SECONDS=25
RATE_LIMIT_PER_MINUTE=30
RATE_LIMIT_BURST=10
X402_ENABLED=false

本番環境では ALLOW_PRIVATE_NETWORK=1 を設定しないでください。

重要な SSRF デプロイに関する注意

アプリケーションレベルの URL 検証は含まれていますが、ブラウザレンダリングはページのサブリソースを実行できます。有料の公開デプロイでは、ブラウザコンテナを、ホスト/ネットワークの egress ポリシーによって、クラウドメタデータおよびプライベート RFC1918 ネットワークからさらに分離する必要があります。一時的なレート制限を削除する前、および x402 のローンチ前に、これを再度強化します。

公開デプロイのテスト

Windows では test_remote_windows.bat を実行し、公開 URL を貼り付けて、tests/remote_20_results.json をアップロードします。

または:

python tests/remote_20.py https://YOUR-PUBLIC-URL

デプロイゲートは、5 件すべての強制ブラウザリクエストを含め、最低 18/20 のままです。

支払いローンチ状況

V1.8 は既存の Base Sepolia および Base mainnet の支払い設定を維持します。このリポジトリ変更自体は、MCP Registry への公開、サービスのデプロイ、または Railway 変数の変更を行いません。アクティブな支払いネットワークは X402_NETWORK によって制御されます: Base Sepolia の場合は eip155:84532、Base mainnet の場合は eip155:8453 です。

F
license - not found
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to read web pages reliably, returning clean markdown content, hyperlinks, and metadata without navigation or ad noise.
    3
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with reliable web fetching capabilities, handling retries, caching, and anti-bot bypass automatically.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to fetch and extract clean, readable content from web pages, and search within pages for specific queries, without needing a full browser.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Web intelligence for AI agents: fetch, render, extract, research. x402 micropayments, no API keys.

  • The web capability layer for AI agents: render, extract, DNS, SSL, WHOIS & more via x402.

  • Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Friezaaaa/smartfetch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server