Skrapr

by pierregillon

Not rated
GitHub

About

An intelligent web scraping tool using AI and browser automation to extract structured data from websites.

Details

Author
pierregillon
Categories
Web Scraping, Automation, AI, Other

Setup

Install Skrapr in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/pierregillon/Skrapr

Follow the installation instructions in the repository README, then restart your MCP client.

πŸŽ‰ Cloud version availableFill this formto get access.</p>
<p>Skrapr is an<strong>intelligent web scraping tool</strong>that combines AI capabilities with browser automation to extract structured data from websites.</p>
<pre><code><code>website url + JSON schema = structured website data</code>
</code></pre>
<p>This tool is an alternative between http request tool (dump) and scraper tools (brute force).</p>
<pre><code><code>flowchart LR agent["Your AI Agent"] l1@--> | scrape_with_schema | skrapr["Skrapr"] subgraph server [Skrapr MCP Server] skrapr l2@--> | use tool | playwright["Playwright MCP"] end playwright l3@--> |navigates| website["Website"] skrapr l4@--> | think with | openai["Azure OpenAI"] skrapr l5@-.-> | json data | agent classDef customer stroke:#00f, stroke-width: 2 classDef external stroke:#63af3e,stroke-width: 2,stroke-dasharray: 4 classDef group fill:#ffffa455, stroke:#ff7c7c, stroke-width: 2 agent:::customer agent:::someclass website:::external openai:::external server:::group classDef animate stroke-dasharray: 20,stroke-dashoffset: 900,animation: dash 25s linear infinite; class l1 animate l2@{ animate: true } l3@{ animate: true } l4@{ animate: true } l5@{ animate: true }

- scrape_with_schema:

- Title: Extract data from a website based on a JSON schema
- Description: Navigate and scrape the given website to extract data matching the structure of the provided JSON Schema.
- Parameters:

- url: The URL of the website to extract data from.
- jsonSchema: The JSON Schema describing the data structure to extract.
- instruction: Optional instructions to guide how the scraping should be performed.

Once configured, you can use Skrapr's capabilities directly in any MCP client (Claude Desktop,n8n,librechat, ...).

Extract product information from all categories at https://example.com/products. I want name, description and price for each product.

The model with create a similar schema and pass it to Skrapr :

{ "type":"object", "properties":{ "products":{ "type":"array", "items":{ "type":"object", "properties":{ "name":{ "type":"string" }, "price":{ "type":"string" }, "description":{ "type":"string" } } } } } }

Scrapr will navigate the website, page by page, until it has found all the data it needs.

After scraping, you will receive the following response :

{ "products": [ { "name": "Product 1", "price": "10", "description": "Description of product 1" }, { "name": "Product 2", "price": "20", "description": "Description of product 2" } ] }

For a typical MCP Host integration (Claude Desktop), here's how to set it up:

{ "mcpServers": { "skrapr": { "command": "dotnet", "args": [ "run", "--project", "path/to/Skrapr/Skrapr.csproj" "-e", "AzureOpenAi__ApiKey=your-api-key", "-e", "AzureOpenAi__Endpoint=https://your-resource.openai.azure.com/", "-e", "AzureOpenAi__DeploymentName=your-deployment-name", "-e", "PlaywrightMcp__IsLocal=true", ] } } }
docker run \ -p 80:80 \ -e AzureOpenAi__ApiKey=your-api-key \ -e AzureOpenAi__Endpoint=https://your-resource.openai.azure.com/ \ -e AzureOpenAi__DeploymentName=your-deployment-name \ -e PlaywrightMcp__IsLocal=true \ skrapr

The MCP server will be available athttp://localhost:5000.

{ "mcpServers": { "skrapr": { "url": "http://localhost:5000/sse" } } }

I am hosting a Skrapr instance on Cloud with everything configured.

If you are interested to try it out,reach me hereto get access to the beta.

{ "mcpServers": { "skrapr": { "url": "https://[ask-for-url]/sse" } } }

Playwright can be executed locally or remotely.

Setting environment variablePlaywrightMcp__IsLocal=truewill make Playwright run locally.

You need to have Node.js installed to make it work.

It usesnpx @playwright/mcpto run Playwright.

Setting environment variablePlaywrightMcp__Endpointwill use Playwright on a remote host.

Skrapr uses an AI agent internally aiming to :

- Understand website structure and content
- Autonomously navigate across the website
- Make strategic navigation decisions to locate the requested information
- Produce a structured JSON result based on a provided JSON schema.

- Microsoft's Semantic Kernelto build the agent
-
Playwright MCPto expose tools for websites navigation
-
Azure OpenAIfor AI capabilities and data extraction according to user-defined JSON schemas

Thanks to MCP (Model Context Protocol), you can connect Skrapr to any agent whatever the language.

When building a AI Agent, you may want the agent to extract easily information from websites.

Currently, ai models can't navigate websites natively.

Simple HTTP Request tools exist however there is few limitations :

- No javascript execution: cannot read dynamic content
- Information may not be present in the loaded page, but in a subpage

Scraper tools are also exists, but they :

- Load to much information (randomly scrape)
- Takes to much time to scrape

Enable AI agents to get structured data from unstructured web with AgentQL.

Web scraping, crawling, and change detection with AI

Easy web data access. Simplified retrieval of information from websites and online sources.

Hyperbrowser is the next-generation platform empowering AI agents and enabling effortless, scalable browser automation.

Leverage Notte Web AI agents & cloud browser sessions for scalable browser automation & scraping workflows

Turn websites into datasets with Scrapezy

Scrapfly MCP Server gives AI agents a simple, unified way to scrape live web data with built-in anti-bot handling.

AI-powered browser automation MCP server β€” navigate sites, fill forms, extract data, and handle logins via Claude Code CLI

Interact with WebScraping.AI for web data extraction and scraping.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.