Quorel

io.github.var-raphaelPublished by GitHub account var-raphaelv1.0.0Updated Nov 2, 2026

Turn any public website into a clean, versioned, queryable API — with native MCP support.

Overview

AI-generated overview

Quorel turns public websites into versioned, queryable datasets and gives an assistant an MCP tool to query, compare and correct that data.

What you can do
  • Query a dataset's rows with filters, sorting, keyword search, field selection, dedup and sampling
  • Compare versions to see what was added, removed or changed since an earlier refresh
  • Correct bad rows and publish the fix as a new, reversible version
  • Read public datasets without an account, or private ones with a bearer token
When to use it
Useful when an assistant needs live, structured data from websites it would otherwise have to scrape, and when tracking how that data changes over time matters — for example price history, job postings or listings.
Requirements
A remote SSE endpoint; no local package. Public datasets need no account. Private datasets and MCP access require a bearer token from a Quorel account, sent in the Authorization header. A free account (no credit card) allows one dataset of up to 20 URLs; paid plans raise the limits.
Before you install
The Authorization bearer token is a secret and grants access to your private datasets. The assistant can write to data: agent-made corrections are published as new versions, so review changes before relying on them. Datasets are built by crawling third-party sites, and the service stores and serves that extracted content. Paid plans cost money.

Installation

In SourceWeft

  1. Open Quorel in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via SSE. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.var-raphael%2Fquorel/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "quorel": {
      "type": "sse",
      "url": "https://quorel.onrender.com/mcp/sse",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Quorel

Give your AI agent a live, versioned view of any website.

Note: this codebase was originally built and named Vexaro, before the product was renamed to Quorel. The code, commit history, and package names in this repo still reflect the original name. A rename pass is planned. This repo is public, you're looking at the real, current implementation right now: github.com/var-raphael/vexaro. The live product, docs, and public API are already fully rebranded as Quorel: quorel.vercel.app

Describe the fields you want, in plain English. Quorel extracts them nightly, keeps every past version permanently queryable, and hands your AI agent an MCP tool that can read, query, and even fix the data directly, without you writing a scraper.

Live and public beta: quorel.vercel.app Docs: quorel.vercel.app/docs/quickstart


What it does

Most data tools hand you today's snapshot and move on. Quorel keeps every past version, permanently queryable, so you can see what changed and when, not just what's true right now.

  • Plain-English schema definition. Describe the fields you want (title (string), the title of the article) and Quorel figures out extraction.
  • Nightly refresh, versioned. Every refresh is a saved, diffable version. Compare any two versions side by side, roll back in one click, or freeze a version so it can't change again.
  • Fork any public dataset. Start from someone else's dataset the way you'd fork a repo.
  • MCP on every plan, including Free. Claude or any MCP-compatible agent can query a dataset, ask what changed since last week, and even fix bad rows itself, publishing the correction as a new, reversible version.
  • No scraper maintenance. Extraction adapts when the underlying page layout changes, instead of silently breaking.

Try it with zero setup

Public datasets need no account, no API key. Just a GET request:

GET https://quorel.vercel.app/api/1/hacker-news-top/active/    ?format=json    &limit=5    &sort=score:desc
json
[  {    "title": "Show HN: I built a source of truth for the web",    "score": 412,    "comments": 187,    "url": "https://news.ycombinator.com/item?id=..."  }]

Browse all public datasets in the marketplace, swap the slug, and query any of them the same way.

API URL structure

https://quorel.vercel.app/api/{dataset_id}/{name-slug}/{version}/
PartMeaning
dataset_idThe numeric ID of the dataset
name-slugThe dataset name, lowercased and hyphenated
versionactive (pinned version), latest, or v1, v2, v3, etc.

Query parameters

Every endpoint accepts the same set of parameters, stack as many as you need:

ParameterDefaultDescription
formatjsonOutput format: json, jsonl, csv, tsv, xml, parquet
limitallMax number of entities to return
offset0Skip the first N entities
sortnoneSort by a field, e.g. sort=score:desc
keywordsnoneFull-text search across all fields, comma-separated for OR
keywords_modeorUse and for AND search across keywords
filternoneExact match on a field, e.g. filter=category:finance. Repeatable
filter_containsnonePartial match on a field. Repeatable
keep_fieldnoneReturn only these fields (dot-notation supported)
drop_fieldnoneRemove these fields from the response
dedupfalseRemove duplicate entities. Use dedup_key=field1,field2 to dedup on specific fields
denullfalseStrip null and empty string values recursively
flattenfalseFlatten nested objects into dot-notation keys (auto-applied for csv, tsv, parquet)
samplenoneReturn N randomly sampled entities
countfalseReturn only the count of matched entities
altfalseReturn the alt version of the dataset, if one exists
include_sourcetrueInclude the _source field (origin URL of each entity)
prettytruePretty-print JSON output

Rate limits

AccessLimit
Public (no auth)100 requests/minute, per IP
Private (Bearer token)300 requests/minute, per IP

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Creating your own dataset

Free account, no credit card required. One dataset, up to 20 URLs.

  1. Sign up at quorel.vercel.app/auth
  2. Paste URLs or describe your intent. Import URLs directly, or describe what you want in plain English and Quorel discovers sources via web search.
  3. Define your schema. Tell Quorel which fields you want and what they mean, e.g. score (number), the upvote count.
  4. Wait for processing. Quorel crawls your URLs, runs AI extraction against your schema, and versions the result.
  5. Hit your endpoint. Query it exactly like the public example above, using your dataset ID and slug from the dashboard.

Accessing a private dataset

GET https://quorel.vercel.app/api/42/my-dataset/active/Authorization: Bearer your_private_key

Find your private key in your dataset's dashboard page.

MCP: letting an agent work the data directly

Every dataset ships with an MCP server, on every plan, including Free. Claude or any MCP-compatible agent can filter it, sort it, ask what changed, and even fix bad rows itself.

Inside a Claude chat:
> what changed on job-board-listings this week→ queried v14 vs v9, 23 postings added, 8 removed
> fix the missing salary fields and publish v15→ reviewed 200 rows, filled 14 fields from listing text→ live at /job-board-listings/v15

Agent-made changes land in the same versioned, reversible system as anything done by hand, nothing is silently overwritten. Full details: quorel.vercel.app/docs/mcp

Versioning and rollback

  • See exactly what changed. Compare any two versions side by side: added rows, removed rows, changed values.
  • Roll back in one click. A bad refresh pulled in dirty data? Revert instantly, or freeze a version so it can't change again.
  • Fork any public dataset. Start from someone else's dataset the way you'd fork a repo, add your own fields, publish your own copy.

Full details: quorel.vercel.app/docs/versioning

Pricing

FreePro ($19/mo)Scale
Datasets15Unlimited
URLs per dataset20100500
RefreshNightlyOn-demand via ping URLCustom schedules
Version history & rollback✅✅✅
MCP access✅✅✅
SupportCommunityEmailDedicated

Scale is coming soon, join the waitlist.

What people build with it

  • Competitor pricing history, every price change tracked, not just today's number
  • Job market monitoring, postings, salaries, and what got taken down
  • Real estate over time, status changes, price drops, days on market, versioned
  • Live context for AI agents, Claude checking what changed on a site since last week
  • A data backend for apps, query params in, structured API out, no scraping infra to own

Docs

About this repo

This is the working codebase for Quorel, built and maintained solo. It was originally developed under the name Vexaro; the product was later renamed to Quorel, and that rename is reflected across the live product, docs, and public-facing brand. A full rename pass across this codebase (package names, internal references) is planned.

The code is open here: github.com/var-raphael/vexaro. Issues, questions, and contributions are welcome.

Live product: quorel.vercel.app Contact: [email protected]

Source: README.md at commit 42dffe1

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts