ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

WebExtract

โดย nyx464664816-stackรุ่น 1.0.4i★ –iรันบนคลาวด์
ชื่อใน registrydev.webextract/extract

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Web page to structured JSON: product, tables, metadata. 20 free calls/day, x402.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: เว็บและเบราว์เซอร์
  • ต้องใส่ค่าเหล่านี้: Authorization, x-api-key

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http extract https://api.webextract.dev/mcp --header 'Authorization: ใส่ค่าของคุณ' --header 'x-api-key: ใส่ค่าของคุณ'

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "extract": {
      "url": "https://api.webextract.dev/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ",
        "x-api-key": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "extract": {
      "type": "http",
      "url": "https://api.webextract.dev/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ",
        "x-api-key": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • Authorization ความลับ HTTP header
    Optional: 'Bearer ' for prepaid credits (free tier works without it)
  • x-api-key ความลับ HTTP header
    Optional alternative to Authorization: your WebExtract API key

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 9 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • extract_url

    Fetch a public web page (robots.txt respected) and return clean Markdown plus fixed-schema JSON: article metadata, product/price, tables. HTML only, no JS execution, no PDF. Free 20 calls/day per IP; pass 'Authorization: Bearer ' for prepaid credits.

  • page_markdown

    Fetch a public web page (robots.txt respected) and return clean Markdown only. HTML only, no JS execution, no PDF. Cheaper than extract_url (0.4 credit). Free 20 calls/day per IP; pass 'Authorization: Bearer ' for prepaid credits.

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน webextract.dev แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 365 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 2 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เทียบกับตัวอื่นในหมวด เว็บและเบราว์เซอร์i

  • ดาวมากกว่า 0% ของอีก 1422 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 96% ของอีก 1422 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1422 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

WebExtract ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: Authorization, x-api-key

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.4) เข้า registry เมื่อวาน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Browser Use, Chrome DevTools MCP, MCP Server Browser

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Browser Use

ให้ AI ทำงานบนเว็บแทนคุณ เช่น กรอกฟอร์ม ค้นหา และดึงข้อมูล ใช้เบราว์เซอร์บนคลาวด์ของผู้ทำหรือรันในเครื่องก็ได้

โดย browser-useใช้กันมาก↓ 1.6M/สัปดาห์★ 120.1Kอัปเดต 20 วันที่ผ่านมา

บนเครื่องหรือคลาวด์✓ browser-use.com

Chrome DevTools MCP

ให้ AI ใช้เครื่องมือนักพัฒนาของ Chrome ตรวจหน้าเว็บ ดูว่าโหลดช้าตรงไหน และหาข้อผิดพลาด ทำโดยทีม Chrome DevTools

โดย ChromeDevToolsใช้กันมาก↓ 1.9M/สัปดาห์★ 54.8Kอัปเดต 19 วันที่ผ่านมา

รันบนเครื่อง

MCP Server Browser

MCP server for browser use access

โดย bytedanceใช้กันมาก↓ 792/สัปดาห์★ 39.6Kอัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

WebExtract

Web page → structured JSON (product, tables, metadata) + clean Markdown, for AI agents. One URL returns product data (name, price, availability), tables with row checks, and article metadata as structured JSON, plus clean Markdown. 20 free calls/day, no signup. Failed REST fetches are not charged. Pay per call with x402 USDC on 7 chains over REST, or use Stripe prepaid credits (REST and MCP).

x402 networks: Base, Polygon, Arbitrum, Avalanche, OP Mainnet, World Chain and Monad. Prepaid credits are bought with a card via Stripe. Works from any MCP client.

  • Website: https://webextract.dev
  • API base: https://api.webextract.dev
  • MCP (streamable HTTP): https://api.webextract.dev/mcp
  • OpenAPI: https://api.webextract.dev/openapi.json · llms.txt: https://api.webextract.dev/llms.txt
  • Docs: https://webextract.dev/docs
  • Try a paid x402 call in your browser wallet: https://webextract.dev/try

Example output

GET /v1/extract?url=https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html (a practice product page made for scraping). Real response saved on 2026-10-25, trimmed here to a few fields; the full files are in examples/compare/out.

{

"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html", "content_source": "raw_html", "word_count": 261, "product": { "name": "A Light in the Attic", "price": 51.77, "currency": "GBP", "availability": "InStock", "rating": { "value": 3, "count": null }, "source": "heuristic", "price_detail": { "warnings": ["heuristic_price_low_confidence", "currency_inferred_from_symbol"] } }, "tables": [ { "headers": ["col_1", "col_2"], "rows": [["UPC", "a897fe39b1053632"], ["Product Type", "Books"]], "checks": { "row_count": 7, "column_count": 2, "consistent_width": true } } ] }

The response also carries markdown (the page as clean Markdown) and metadata. The warnings show that the price came from a heuristic, not from structured markup on the page. A page that is not a product page returns "product": null instead of a guess. See examples/compare for a table page and for how /v1/markdown differs.

Endpoints

MethodPathReturnsx402 priceCredits
GET / POST/v1/extract?url= Markdown + structured JSON (metadata, product/price, tables)$0.0051
GET / POST/v1/markdown?url= Markdown only$0.0020.4
GET/v1/balanceFree calls left today, or prepaid credits leftfree–
POST/mcpMCP tools extract_url, page_markdownuse the REST endpoints (not tested over MCP)same as above, after the free tier
GET/.well-known/x402x402 discoveryfree–

POST takes the same URL as a JSON body: {"url": "https://..."}.

Behaviour:

  • robots.txt is respected.
  • No charge on failed fetches (404, timeout, blocked, robots disallowed, invalid URL).
  • A missing or invalid url returns 400 JSON (missing_url / invalid_url) before any billing. All errors are JSON.
  • Structured JSON costs nothing extra. With a prepaid key, if structured fields come back empty you're charged the Markdown rate (0.4 credit). x402 payments settle at the quoted price.

Pricing

  • Free: 20 calls/day per IP, no key, no signup. REST: opt in with the header X-Billing: free (or ?free=1). MCP: no header needed.
  • x402 pay-per-call: $0.005 (/v1/extract) / $0.002 (/v1/markdown) in USDC on any supported network (below). No account, no gas needed. Works on the REST endpoints. Over MCP, use the free tier or a prepaid key (see Use from MCP clients).
  • Prepaid packs (card, via Stripe Checkout), from $1: $1 = 200 credits · $5 = 1,000 credits · $20 = 5,000 credits · $50 = 15,000 credits. /v1/extract uses 1 credit, /v1/markdown uses 0.4 credit. Credits never expire. Buy at https://webextract.dev/#pricing; the API key is shown once on the success page.

Measured results

We ran WebExtract on 10 public pages and published the raw files and scripts: https://webextract.dev/benchmark · examples/benchmark.

  • Sandbox (Base Sepolia test USDC), 4 runs per page and endpoint, 80 calls: /v1/markdown 38/40 succeeded (95.0%), /v1/extract 40/40 (100.0%). Field checks passed: 75/75 and 212/212. The two failures are counted in the rate.
  • Failed fetches on the sandbox route: 10 calls that must fail, wallet balance 18.904000 USDC before and after (control call: 0.002000 USDC). We did not run failing URLs through the paid live path.
  • The sandbox and /v1 run in the same server process and call the same extraction function; only the payment step differs.
  • Limits: one client, one day, 10 pages that are easy to fetch. No competitor was run; no mainnet payment and no payment through MCP was tested.

Quick start

# Free tier (opt-in: 20 calls/day per IP)

curl -H "X-Billing: free" "https://api.webextract.dev/v1/markdown?url=https://example.com"

Prepaid key (Stripe)

curl -H "Authorization: Bearer $WEBEXTRACT_KEY" \ "https://api.webextract.dev/v1/extract?url=https://example.com"

Response (abridged):

{

"url": "https://example.com", "final_url": "https://example.com/", "title": "Example Domain", "markdown": "This domain is for use in documentation examples ...", "word_count": 25 }

Prepaid responses include X-Credits-Charged and X-Credits-Remaining headers; free-tier responses (only with X-Billing: free / ?free=1) include X-Free-Remaining. Without a key, a payment or X-Billing: free, the REST endpoints answer HTTP 402 (reason: x402_required).

Pay per call with x402

Requests without a key, payment or X-Billing: free get HTTP 402 (reason: x402_required; X-Billing: x402 gives the same 402 with reason: x402_requested) with an x402 v2 PAYMENT-REQUIRED header (scheme exact). It lists one option per network; pay with whichever one your wallet holds USDC on (see Choosing a network with the SDK):

NetworkCAIP-2 idUSDC (native)EIP-712 name / version
Base (recommended)eip155:84530x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913USD Coin / 2
Polygon PoSeip155:1370x3c499c542cEF5E3811e1192ce70d8cC03d5c3359USD Coin / 2
Arbitrum Oneeip155:421610xaf88d065e77c8cC2239327C5EDb3A432268e5831USD Coin / 2
Avalanche C-Chaineip155:431140xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6EUSD Coin / 2
OP Mainneteip155:100x0b2C639c533813f4Aa9D7837CAf62653d097Ff85USD Coin / 2
World Chaineip155:4800x79A02482A880bCE3F13e09Da970dC34db4CD24d1USDC / 2
Monadeip155:1430x754704Bc059F8C67012fEd69BC8A327a5aafb603USDC / 2

Not supported: USDC on Ethereum mainnet (no x402 facilitator settles there). Solana is planned.

The JSON body of every 402 says why, in reason (also in the X-Payment-Reason header):

reasonMeaning
x402_requiredNo key, no payment and no free opt-in. Pay with x402, use a key, or retry with X-Billing: free
x402_requestedYou sent X-Billing: x402 and no payment yet
free_limit_reachedYou opted in with X-Billing: free / ?free=1 but your IP's free calls are used up (X-Free-Remaining: 0)
invalid_paymentA payment was sent but rejected; detail has a short reason code (e.g. invalid_exact_evm_insufficient_balance). Not charged
unsupported_networkThe payment used a network this endpoint does not accept
settlement_failedThe payment was verified but on-chain settlement did not complete. Not charged (retryable: true); retry with a freshly signed payment

An unknown X-Billing value returns 400 invalid_billing_mode. Precedence: a Bearer key wins over a payment, and a payment wins over X-Billing: free.

See the requirements without paying anything: examples/curl/x402-inspect.sh, examples/python/inspect_402.py or examples/node/inspect-402.mjs.

Choosing a network with the SDK

Any x402 client can pay and retry automatically. Two things to know with the official SDKs (@x402/fetch / @x402/evm 2.28, Python x402 2.25):

  1. OP Mainnet and World Chain USDC are not in the SDK default asset list, so the default spendControls reject those options. Add them to spendControls.allowedAssets.
  2. **With network: "eip155:*" the SDK picks the first option (Base)** even if your USDC is elsewhere. Register only the networks where your wallet holds USDC, or pass a paymentRequirementsSelector.
// npm i @x402/fetch @x402/evm viem

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch"; import { ExactEvmScheme } from "@x402/evm"; import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // low-balance hot wallet const funded = ["eip155:10"]; // networks where this wallet holds USDC, e.g. OP Mainnet const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, { schemes: funded.map(network => ({ network, client: new ExactEvmScheme(account) })), spendControls: { allowedAssets: [ { network: "eip155:10", asset: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", maxAmountPerPayment: "10000" }, // OP Mainnet USDC, $0.01 cap { network: "eip155:480", asset: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1", maxAmountPerPayment: "10000" }, // World Chain USDC ] }, });

const res = await fetchWithPayment( "https://api.webextract.dev/v1/extract?url=" + encodeURIComponent("https://example.com"), { headers: { "X-Billing": "x402" } } ); console.log(await res.json());

examples/node/x402-fetch.mjs does this automatically: it reads your USDC balance on every supported network, registers only the funded ones, prefers Base, and has a --dry-run mode that signs nothing.

In a browser, https://webextract.dev/try shows your USDC balance on every supported network, lets you pick one, switches your wallet to it and signs the payment.

REST: payment is only settled when the request succeeds (status < 400).

Sandbox (free test money only)

Test your x402 integration without real money: call https://api.webextract.dev/sandbox/v1/extract or /sandbox/v1/markdown, or send X-Billing: x402-testnet to the normal endpoints. The sandbox accepts only Base Sepolia (eip155:84532) test USDC 0x036CbD53842c5426634e7929541eC2318f3dCF7e, settled by the https://x402.org/facilitator testnet facilitator. Get test USDC at https://faucet.circle.com. Responses are identical; nothing real is charged. Rate limited to 20 requests/minute and 300/day per IP.

WEBEXTRACT_BILLING=x402-testnet ./examples/curl/x402-inspect.sh markdown

WEBEXTRACT_SANDBOX=1 EVM_PRIVATE_KEY=0x node examples/node/x402-fetch.mjs

Use from MCP clients

Remote server, streamable HTTP, stateless: https://api.webextract.dev/mcp

Tools:

  • extract_url(url): Markdown + structured JSON
  • page_markdown(url): Markdown only (cheaper)

Works without a key on the free tier (20 calls/day per IP, no X-Billing header needed for MCP). For prepaid credits add header Authorization: Bearer .

Both tools declare an outputSchema and return structuredContent.

After the free tier over MCP: once this IP's 20 free calls are used up, a tools/call without a Bearer key returns an error result (isError: true) whose text carries the payment requirements as JSON. Paying x402 through MCP has not been tested; add a prepaid key (Authorization: Bearer ), wait for the daily reset, or use the REST endpoints for x402 pay-per-call. `in

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx