WebExtract
Web page to clean Markdown or fixed-schema JSON (product/price, tables). Free 20 calls/day.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"extract": {
"url": "https://api.webextract.dev/mcp"
}
}
}Puntos de conexión remotos
https://api.webextract.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
🟢extract_url(url)
Fetch a public web page (robots.txt respected) and return clean Markdown plus fixed-schema JSON: article metadata, product/price, tables. Free 20 calls/day per IP; pass 'Authorization: Bearer <key>' for prepaid credits.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL"
}
},
"required": [
"url"
]
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"final_url": {
"type": "string"
},
"fetched_at": {
"type": "string"
},
"schema_version": {
"type": "string"
},
"markdown": {
"type": "string"
},
"markdown_truncated": {
"type": "boolean"
},
"word_count": {
"type": "integer"
},
"metadata": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"authors": {
"type": "array",
"items": {
"type": "string"
}
},
"published_at": {
"type": [
"string",
"null"
]
},
"modified_at": {
"type": [
"string",
"null"
]
},
"site_name": {
"type": [
"string",
"null"
]
},
"language": {
"type": [
"string",
"null"
]
},
"canonical_url": {
"type": [
"string",
"null"
]
},
"image": {
"type": [
"string",
"null"
]
},
"type": {
"type": [
"string",
"null"
]
}
}
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"brand": {
"type": [
"string",
"null"
]
},
"sku": {
"type": [
"string",
"null"
]
},
"gtin": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"image": {
"type": [
"string",
"null"
]
},
"price": {
"type": [
"number",
"null"
]
},
"price_high": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"availability": {
"type": [
"string",
"null"
]
},
"rating": {
"type": [
"object",
"null"
]
},
"source": {
"type": [
"string",
"null"
],
"enum": [
"json-ld",
"opengraph",
"microdata",
"heuristic",
null
],
"description": "Extraction method for the flat fields (not the content source; see content_source)"
},
"price_detail": {
"type": "object",
"required": [
"status",
"prices"
],
"description": "Preferred price field. Never contains 0. status=unresolved always comes with unresolved.reason.",
"properties": {
"status": {
"type": "string",
"enum": [
"resolved",
"partial",
"unresolved"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"currency_basis": {
"type": [
"string",
"null"
],
"enum": [
"declared",
"symbol",
null
]
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"amount",
"currency"
],
"properties": {
"type": {
"type": "string",
"enum": [
"list",
"sale",
"installment",
"current"
],
"description": "current = the only price shown, no discount information; sale = current price with a higher list price on the page"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"amount_high": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"variant": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"sku": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"attributes": {
"type": [
"object",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string",
"enum": [
"offer_url",
"offer_sku",
"shopify_variant_id",
"url_param+dom_selected",
"dom_selected"
]
}
}
},
"installment": {
"type": [
"object",
"null"
]
},
"method": {
"type": "string",
"enum": [
"json-ld",
"opengraph",
"microdata",
"heuristic",
"dom",
"shopify_meta"
]
},
"evidence": {
"type": [
"string",
"null"
]
}
}
}
},
"range": {
"type": [
"object",
"null"
],
"properties": {
"low": {
"type": "number"
},
"high": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"basis": {
"type": "string",
"enum": [
"aggregate_offer",
"offers",
"product_group_variants"
]
},
"offer_count": {
"type": [
"integer",
"null"
]
}
}
},
"selected_variant": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"sku": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"attributes": {
"type": [
"object",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string",
"enum": [
"offer_url",
"offer_sku",
"shopify_variant_id",
"url_param+dom_selected",
"dom_selected"
]
}
}
},
"variants": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"sku": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"attributes": {
"type": [
"object",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"amount": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"availability": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"evidence": {
"type": [
"string",
"null"
]
}
}
}
},
"unresolved": {
"type": [
"object",
"null"
],
"required": [
"reason"
],
"properties": {
"reason": {
"type": "string",
"enum": [
"no_offer_in_structured_data",
"price_not_numeric",
"zero_price",
"js_rendered_suspected",
"template_placeholder",
"no_price_found",
"variant_not_matched",
"listing_page",
"no_product_markup",
"not_html"
]
},
"detail": {
"type": [
"string",
"null"
]
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"tables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"index": {
"type": "integer"
},
"caption": {
"type": [
"string",
"null"
]
},
"headers": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"checks": {
"type": "object",
"properties": {
"row_count": {
"type": "integer"
},
"column_count": {
"type": "integer"
},
"consistent_width": {
"type": "boolean"
}
}
}
}
}
},
"content_source": {
"type": "string",
"enum": [
"raw_html",
"rendered"
],
"description": "Where the content came from: raw_html = the HTTP response body, no JavaScript executed (current behaviour); rendered = after headless rendering (not offered yet)"
},
"product_unresolved": {
"type": [
"object",
"null"
],
"required": [
"reason"
],
"properties": {
"reason": {
"type": "string",
"enum": [
"no_offer_in_structured_data",
"price_not_numeric",
"zero_price",
"js_rendered_suspected",
"template_placeholder",
"no_price_found",
"variant_not_matched",
"listing_page",
"no_product_markup",
"not_html"
]
},
"detail": {
"type": [
"string",
"null"
]
}
},
"description": "Only when product is null: why no product was extracted (e.g. listing_page)"
}
},
"required": [
"url",
"final_url",
"fetched_at",
"schema_version",
"markdown",
"metadata",
"product",
"tables"
]
}🟢page_markdown(url)
Fetch a public web page (robots.txt respected) and return clean Markdown only. Cheaper than extract_url (0.4 credit). Free 20 calls/day per IP; pass 'Authorization: Bearer <key>' for prepaid credits.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL"
}
},
"required": [
"url"
]
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"final_url": {
"type": "string"
},
"fetched_at": {
"type": "string"
},
"content_source": {
"type": "string",
"enum": [
"raw_html",
"rendered"
],
"description": "Where the content came from: raw_html = the HTTP response body, no JavaScript executed (current behaviour); rendered = after headless rendering (not offered yet)"
},
"title": {
"type": [
"string",
"null"
]
},
"markdown": {
"type": "string"
},
"markdown_truncated": {
"type": "boolean"
},
"word_count": {
"type": "integer"
}
},
"required": [
"url",
"final_url",
"markdown"
]
}Comunidad
Evidencia