Koskamo

WebExtract MCP

A remote MCP server that extracts web page content into clean Markdown and structured JSON, including product details, pricing, tables, and article metadata. It supports AI agents and RAG pipelines by providing consistent data shapes across different websites, respecting robots.txt, and offering both free tier and prepaid credit options.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

WebExtract MCP logo, by WebExtractVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by WebExtract
MCP endpoint (Streamable HTTP)
https://api.webextract.dev/mcp
Vendor documentation

What you can do with it

  • Extract main content as clean Markdown from any URL
  • Retrieve structured product data including name, price, and SKU
  • Parse HTML tables into GFM format with header and row data
  • Get article metadata such as title, authors, and publication dates

Source and maintenance

Vendor evidenceRegistry 1.0.3

Protocol and capabilities

Server
webextract 1.1.0
MCP protocol
2025-06-18
Tools
2 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use page_markdown when you only need the text (cheaper: 0.4 credit) and extract_url when you also need product/price, tables and article metadata (1 credit). Free 20 calls/day per IP. After that, send Authorization: Bearer <key> (buy credits at https://webextract.dev/#pricing). x402 pay-per-call is for the REST endpoints: GET https://api.webextract.dev/v1/extract or /v1/markdown answer HTTP 402 with x402 requirements. Over MCP use the free tier or a prepaid Bearer key; paying over MCP with x402 has not been tested.

Tools

2 advertised

extract_url — Extract web page
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 <key>' for prepaid credits.

extract_url input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL"
    }
  }
}
extract_url output schema
{
  "type": "object",
  "required": [
    "url",
    "final_url",
    "fetched_at",
    "schema_version",
    "markdown",
    "metadata",
    "product",
    "tables"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "tables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "index": {
            "type": "integer"
          },
          "checks": {
            "type": "object",
            "properties": {
              "row_count": {
                "type": "integer"
              },
              "column_count": {
                "type": "integer"
              },
              "consistent_width": {
                "type": "boolean"
              }
            }
          },
          "caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "product": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "sku": {
          "type": [
            "string",
            "null"
          ]
        },
        "gtin": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "brand": {
          "type": [
            "string",
            "null"
          ]
        },
        "image": {
          "type": [
            "string",
            "null"
          ]
        },
        "price": {
          "type": [
            "number",
            "null"
          ]
        },
        "rating": {
          "type": [
            "object",
            "null"
          ]
        },
        "source": {
          "enum": [
            "json-ld",
            "opengraph",
            "microdata",
            "heuristic",
            null
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "Extraction method for the flat fields (not the content source; see content_source)"
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "price_high": {
          "type": [
            "number",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "availability": {
          "type": [
            "string",
            "null"
          ]
        },
        "price_detail": {
          "type": "object",
          "required": [
            "status",
            "prices"
          ],
          "properties": {
            "range": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "low": {
                  "type": "number"
                },
                "high": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "basis": {
                  "enum": [
                    "aggregate_offer",
                    "offers",
                    "product_group_variants"
                  ],
                  "type": "string"
                },
                "currency": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "offer_count": {
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              }
            },
            "prices": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "type",
                  "amount",
                  "currency"
                ],
                "properties": {
                  "type": {
                    "enum": [
                      "list",
                      "sale",
                      "installment",
                      "current"
                    ],
                    "type": "string",
                    "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
                  },
                  "method": {
                    "enum": [
                      "json-ld",
                      "opengraph",
                      "microdata",
                      "heuristic",
                      "dom",
                      "shopify_meta"
                    ],
                    "type": "string"
                  },
                  "variant": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "id": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "sku": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "url": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "match": {
                        "enum": [
                          "offer_url",
                          "offer_sku",
                          "shopify_variant_id",
                          "url_param+dom_selected",
                          "dom_selected"
                        ],
                        "type": "string"
                      },
                      "attributes": {
                        "type": [
                          "object",
                          "null"
                        ]
                      }
                    }
                  },
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "evidence": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "amount_high": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "installment": {
                    "type": [
                      "object",
                      "null"
                    ]
                  }
                }
              }
            },
            "status": {
              "enum": [
                "resolved",
                "partial",
                "unresolved"
              ],
              "type": "string"
            },
            "currency": {
              "type": [
                "string",
                "null"
              ]
            },
            "variants": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sku": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "amount": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "source": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "evidence": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "attributes": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "availability": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              },
              "maxItems": 100
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "unresolved": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "reason"
              ],
              "properties": {
                "detail": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "reason": {
                  "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"
                  ],
                  "type": "string"
                }
              }
            },
            "currency_basis": {
              "enum": [
                "declared",
                "symbol",
                null
              ],
              "type": [
                "string",
                "null"
              ]
            },
            "selected_variant": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "sku": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "match": {
                  "enum": [
                    "offer_url",
                    "offer_sku",
                    "shopify_variant_id",
                    "url_param+dom_selected",
                    "dom_selected"
                  ],
                  "type": "string"
                },
                "attributes": {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              }
            }
          },
          "description": "Preferred price field. Never contains 0. status=unresolved always comes with unresolved.reason."
        }
      }
    },
    "markdown": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "properties": {
        "type": {
          "type": [
            "string",
            "null"
          ]
        },
        "image": {
          "type": [
            "string",
            "null"
          ]
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "authors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "language": {
          "type": [
            "string",
            "null"
          ]
        },
        "site_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "modified_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "published_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "canonical_url": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "final_url": {
      "type": "string"
    },
    "fetched_at": {
      "type": "string"
    },
    "word_count": {
      "type": "integer"
    },
    "content_source": {
      "enum": [
        "raw_html",
        "rendered"
      ],
      "type": "string",
      "description": "Where the content came from: raw_html = the HTTP response body, no JavaScript executed (current behaviour); rendered = after headless rendering (not offered yet)"
    },
    "schema_version": {
      "type": "string"
    },
    "markdown_truncated": {
      "type": "boolean"
    },
    "product_unresolved": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "reason"
      ],
      "properties": {
        "detail": {
          "type": [
            "string",
            "null"
          ]
        },
        "reason": {
          "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"
          ],
          "type": "string"
        }
      },
      "description": "Only when product is null: why no product was extracted (e.g. listing_page)"
    }
  }
}
extract_url annotations
{
  "title": "Extract web page",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
page_markdown — Web page to Markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 <key>' for prepaid credits.

page_markdown input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL"
    }
  }
}
page_markdown output schema
{
  "type": "object",
  "required": [
    "url",
    "final_url",
    "markdown"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "markdown": {
      "type": "string"
    },
    "final_url": {
      "type": "string"
    },
    "fetched_at": {
      "type": "string"
    },
    "word_count": {
      "type": "integer"
    },
    "content_source": {
      "enum": [
        "raw_html",
        "rendered"
      ],
      "type": "string",
      "description": "Where the content came from: raw_html = the HTTP response body, no JavaScript executed (current behaviour); rendered = after headless rendering (not offered yet)"
    },
    "markdown_truncated": {
      "type": "boolean"
    }
  }
}
page_markdown annotations
{
  "title": "Web page to Markdown",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1495 ms
95th percentile latency
1495 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1495 ms · metadata changed · 2 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http webextract-mcp https://api.webextract.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add webextract-mcp --url https://api.webextract.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable webextract-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "webextract-mcp": {
      "url": "https://api.webextract.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "webextract-mcp": {
      "type": "streamableHttp",
      "url": "https://api.webextract.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start webextract-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "webextract-mcp": {
      "type": "http",
      "url": "https://api.webextract.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http webextract-mcp https://api.webextract.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "webextract-mcp": {
      "url": "https://api.webextract.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "webextract-mcp": {
      "serverUrl": "https://api.webextract.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like WebExtract MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run WebExtract MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing