NodeProxy Web Surface Markdown Parser について
NodeProxyは、公開ウェブページをAIエージェント向けのMarkdownに変換するMCPサーバーです。通常解析とステルス解析を提供し、リクエストごとにx402のUSDCで支払えます。通常解析ではStripe MPPにも対応します。
主な機能
- 01公開ページをMarkdownに変換
- 02スクリプト、広告、ナビゲーションを除去
- 03保護サイト向けのステルス解析
- 04x402のUSDC決済に対応
- 05通常解析でStripe MPPに対応
活用シーン
- 01LLMのコンテキスト用にウェブページを整形
- 02通常の取得が阻まれるページを解析
- 03エージェントのワークフローで整理済みMarkdownを取得
MCP 対応
Streamable HTTPまたはstdio経由でページ解析ツールを公開し、ツール発見用エンドポイントと有料リクエストの決済ゲートを備えます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://nodeproxy-production.up.railway.app/mcpclaude mcp add --transport http pgalyen1987-nodeproxy https://nodeproxy-production.up.railway.app/mcp{"mcpServers":{"pgalyen1987-nodeproxy":{"type":"http","url":"https://nodeproxy-production.up.railway.app/mcp"}}}Cursor で開く{"servers":{"pgalyen1987-nodeproxy":{"type":"http","url":"https://nodeproxy-production.up.railway.app/mcp"}}}VS Code で開く{"mcpServers":{"pgalyen1987-nodeproxy":{"type":"http","url":"https://nodeproxy-production.up.railway.app/mcp"}}}{"mcpServers":{"pgalyen1987-nodeproxy":{"serverUrl":"https://nodeproxy-production.up.railway.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 取得して変換する公開 http(s) URL |
詳細
NodeProxy
自動エージェント向けの自己発見型 MCP ユーティリティ — 広告もランディングページもなく、人手を介しません。
NodeProxy は、次の 2 つの有料ツールを提供します。
| ツール | エンドポイント | 価格 | 用途 |
|---|---|---|---|
surface_markdown_parser | POST /mcp/execute | $0.002 USDC | 通常の公開ページ |
stealth_markdown_parser | POST /stealth-scrape | $0.05 USDC | Cloudflare/Akamai で保護されたサイト |
どちらも公開 URL を取得し、スクリプト、広告、ナビゲーションのノイズを取り除いて、LLM のコンテキストウィンドウに最適化された圧縮 Markdown を返します。標準ティアでは x402 USDC に加えて、Stripe MPP によるカード決済(最低 $0.50)にも対応しています。
エージェントは、マーケティングではなく、MCP レジストリ、x402 Bazaar のディスカバリー、機械可読マニフェストを通じてこのサービスを見つけます。
エージェントに必要な理由
大規模な React/Vue サイトでは、エージェントが生の HTML を取り込む際にトークンを大量に消費します。NodeProxy はクリーンな Markdown を返すため、自律型の検索ループを低コストかつ正確に保てます。基本的な取得方法がボット対策に阻まれた場合は、プロキシローテーション、強化された Playwright、オプションの CAPTCHA 解決を利用して、ステルスティアに切り替えます。
アーキテクチャ
Autonomous Agent
│ search MCP registry / Bazaar (vector or keyword)
▼
GET /mcp/tools or MCP list_tools
│ reads JSON schema ("Machine UI")
▼
POST /mcp/execute or POST /stealth-scrape
│ no payment → 402 + PAYMENT-REQUIRED (+ Bazaar extension)
│ x402 PAYMENT-SIGNATURE or MPP Authorization: Payment …
│ facilitator verify/settle → parse URL
▼
Markdown payload → agent continues task
クイックスタート
cd NodeProxy
cp .env.example .env
# Set WALLET_ADDRESS to your Base wallet
npm install
npm run dev
エンドポイント(ホストをデプロイ先の URL に置き換えてください):
| エンドポイント | 用途 |
|---|---|
GET /health | サービスのステータス、価格、ステルス/MPP の設定 |
GET /mcp/tools | レジストリークローラー向けのツールカタログ |
POST /mcp/execute | 標準解析 + x402/MPP ゲート |
POST /stealth-scrape | ステルス解析 + x402 ゲート |
ALL /mcp | ストリーミング可能な HTTP MCP トランスポート |
GET /.well-known/mcp.json | MCP の既知のディスカバリー |
GET /.well-known/x402.json | x402 + Bazaar のディスカバリーマニフェスト |
GET /.well-known/mpp.json | MPP Stripe マニフェスト(設定時) |
GET /discovery/agent.json | エージェントのディスカバリーカード |
GET /registry/server.json | ライブレジストリーマニフェスト(動的) |
環境
| 変数 | デフォルト | 説明 |
|---|---|---|
WALLET_ADDRESS | — | USDC の受取先(収益) |
PRICE_USDC | 0.002 | 解析 1 回あたりの標準ティア価格 |
STEALTH_PRICE_USDC | 0.05 | 解析 1 回あたりのステルスティア価格 |
X402_NETWORK | eip155:84532 | プライマリネットワーク。メインネットでは eip155:8453 を使用 |
X402_NETWORKS | CDP bundle | CAIP-2 ID のカンマ区切りリスト(Base、Polygon、Arbitrum、任意で Ethereum L1) |
FACILITATOR_URL | https://x402.org/facilitator | x402 ファシリテーター |
CDP_API_KEY_ID / CDP_API_KEY_SECRET | — | Coinbase CDP ファシリテーター(メインネット) |
MPP_SECRET_KEY / STRIPE_SECRET_KEY | — | /mcp/execute の Stripe MPP |
STEALTH_PROXY_URLS | — | ステルスティア用プロキシ URL のカンマ区切りリスト |
CAPTCHA_SOLVER_KEY | — | 2captcha API キー(任意) |
PUBLIC_URL | localhost | ディスカバリーマニフェストで使用 |
機械によるディスカバリー(広告不要)
- Railway または任意の HTTPS ホストにデプロイします。
- ライブマニフェストを確認します:
/mcp/tools、/.well-known/x402.json、/registry/server.json。 integrations/mcp-registry/server-entry.jsonを使用して、オープンソースの MCP Registry に PR を送信します。- Bazaar による自動インデックス登録:Bazaar 対応ファシリテーター経由の x402 決済が正常に完了すると、ツールがグローバルな Bazaar インデックス(Bazaar のドキュメント)に表示されます。NodeProxy は、すべての 402 レスポンスに Bazaar 拡張メタデータを付加します。
- エンタープライズハブ(Google Agent Registry、Anthropic routing)から、
/.well-known/mcp.jsonまたは/discovery/agent.jsonを指定します。
ツールの説明は、人間向けではなく、LLM によるツールのマッチング向けに書かれています。
決済方法
| 決済方法 | ツール | 送金先 | 金額 |
|---|---|---|---|
| x402 USDC | 標準 + ステルス | あなたの WALLET_ADDRESS | $0.002 / $0.05 |
| Stripe MPP | 標準のみ | Stripe アカウント残高 | $0.50/カード(SPT の最低額) |
MCP stdio(Claude Desktop / ローカルエージェント)
npm run mcp:stdio
Claude Desktop の設定に追加します:
{
"mcpServers": {
"nodeproxy": {
"command": "node",
"args": ["--import", "tsx", "/path/to/NodeProxy/src/mcp/stdio.ts"],
"env": { "WALLET_ADDRESS": "0x..." }
}
}
}
自動決済には @x402/fetch、@x402/mcp、または nodeproxy-tools を使用します。
# Stage A — get 402 challenge (includes Bazaar extension in PAYMENT-REQUIRED)
curl -i "http://localhost:4022/mcp/execute" \
-H 'Content-Type: application/json' \
-d '{"arguments":{"url":"https://example.com"}}'
# Stage B — retry with PAYMENT-SIGNATURE from x402 client wallet
curl "http://localhost:4022/mcp/execute" \
-H 'Content-Type: application/json' \
-H 'PAYMENT-SIGNATURE: <base64>' \
-d '{"arguments":{"url":"https://example.com"}}'
# Stealth tier (x402 only)
curl -i "http://localhost:4022/stealth-scrape" \
-H 'Content-Type: application/json' \
-d '{"arguments":{"url":"https://example.com"}}'
Railway でデプロイする
Railway は推奨ホスティング先です。Node.js を完全に利用でき(JSDOM が動作します)、サーバーレスの 15 秒タイムアウトがなく、アイドル時は従量課金になります。
1. GitHub にプッシュする
cd NodeProxy
git init && git add . && git commit -m "NodeProxy MCP x402 parser"
git remote add origin https://github.com/YOU/nodeproxy.git
git push -u origin main
2. Railway プロジェクトを作成する
- railway.app にアクセスし、→ New Project → Deploy from GitHub repo を選択します
- リポジトリを選択します。Railway が
railway.tomlとnixpacks.tomlを自動的に読み込みます - Settings → Networking → Generate Domain を選択します(
*.up.railway.appが割り当てられます)
3. 環境変数を設定する
Railway の Variables で設定します。
| Variable | Value |
|---|---|
WALLET_ADDRESS | Base ウォレット(USDC の受取先) |
X402_NETWORK | eip155:8453 |
PRICE_USDC | 0.002 |
STEALTH_PRICE_USDC | 0.05 |
CDP_API_KEY_ID / CDP_API_KEY_SECRET | Coinbase CDP キー(メインネットのファシリテーター) |
MPP_SECRET_KEY / STRIPE_SECRET_KEY | Stripe MPP(任意) |
HOST | 0.0.0.0 |
MAX_CONCURRENT_PARSES | 20 |
RATE_LIMIT_PER_MINUTE | 120 |
PORT や PUBLIC_URL を設定する必要はありません。Railway が PORT を注入し、アプリは検出用マニフェストのために RAILWAY_PUBLIC_DOMAIN を自動検出します。
4. デプロイを確認する
curl https://YOUR-APP.up.railway.app/health
curl https://YOUR-APP.up.railway.app/mcp/tools
curl https://YOUR-APP.up.railway.app/.well-known/x402.json
5. エージェント検出用に登録する
integrations/mcp-registry/server-entry.json を添えて、MCP Registry に PR を送ります。エージェントは以下にアクセスします。
https://YOUR-APP.up.railway.app/mcp/toolshttps://YOUR-APP.up.railway.app/.well-known/mcp.jsonhttps://YOUR-APP.up.railway.app/.well-known/x402.json
想定コスト
Railway の無料枠では、トライアル後に月約 $1 分のクレジットが付与されます。低トラフィックであれば十分です(アイドル時は月約 $0.30~0.50)。エージェントによる有料呼び出し 1 回分の $0.002 USDC で、その費用をまかなえます。ボットのトラフィックが増えたら、Hobby(月 $5)に拡張してください。
このサービスには Vercel/Cloudflare Workers を使用しないでください。JSDOM と 25 秒の fetch タイムアウトがエッジの制限を超えます。
本番環境(Base メインネット)
X402_NETWORK=eip155:8453
WALLET_ADDRESS=0xYourWallet
PRICE_USDC=0.002
STEALTH_PRICE_USDC=0.05
Base 上の USDC:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
上流フレームワークとの統合
NodeProxy を LangChain、CrewAI に組み込み、MCP Registry で検出できるようにするには、以下を参照してください。
- integrations/UPSTREAM.md — フォーク → PR → マージの手順
integrations/python/—nodeproxy-toolsPyPI パッケージと LangChain/CrewAI ラッパーintegrations/typescript/—@nodeproxy/langchainnpm パッケージintegrations/mcp-registry/— MCP Registry の PR テンプレート
LangChain の簡単な例:
pip install "nodeproxy-tools[x402,langchain]"
export EVM_PRIVATE_KEY=0x...
from nodeproxy_tools.langchain import NodeProxyMarkdownTool
tool = NodeProxyMarkdownTool()
markdown = tool.invoke({"url": "https://example.com"})
命名
NodeProxy はレジストリへの登録に適しています。堅実で予測しやすく、インフラストラクチャを表す名称です。ツール名(surface_markdown_parser、stealth_markdown_parser)は、セマンティック検索で意図に合った結果が得られるように選ばれています。
ライセンス
MIT
Gate402 の一部
このサービスは、HTTP 402(Base 上の USDC)を介して AI エージェントに従量課金 API を提供する Gate402 x402 エージェント API スイートの一部です。単体で、統合ストアフロントと CDP x402 Bazaar を通じて gate402.app から、または MCP サーバーとして npx -y gate402-mcp を使って利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。