Scrapiq MCP Server
You can use this server to extract clean, structured web content from any URL directly inside MCP clients like Claude Desktop or Cursor.
Extract any URL into clean text, markdown, or JSON, with ads, navigation, and scripts stripped out.
Get page title, content, links, and metadata for LLM/RAG pipelines.
Optionally truncate extracted content to a maximum number of characters.
Use the hosted endpoint at https://scrapiq.io/mcp with no installation or API key.
Run it locally over stdio for desktop MCP clients, or expose your own streamable HTTP endpoint for remote clients.
Test it with simple JSON-RPC calls; it is stateless and supports batch requests.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Scrapiq MCP ServerExtract clean text from https://en.wikipedia.org/wiki/Web_scraping"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Scrapiq MCP Server
MCP server for Scrapiq — turn any URL into clean text, markdown, or JSON for LLM/RAG pipelines, directly from your MCP client.
Scrapiq is a lightweight open-source HTTP API that fetches a web page and returns clean content — boilerplate stripped. This server exposes it as a Model Context Protocol (MCP) tool so Claude Desktop, Cursor, and any MCP client can extract clean web content with one call.
Dependency-free: pure Python stdlib, no pip packages, no node_modules. Two transports: stdio for local clients, streamable HTTP for remote clients.
Use the hosted server (no install)
The server is listed in the official MCP Registry as io.scrapiq/scrapiq and runs at:
https://scrapiq.io/mcpNo key, no install — add that URL as a remote MCP server in any client that supports streamable HTTP:
{
"mcpServers": {
"scrapiq": { "url": "https://scrapiq.io/mcp" }
}
}Related MCP server: interdeep
Install locally
Not on PyPI yet, so install straight from this repo:
# run it without installing anything (run against `main`, 2026-09-17)
uvx --from git+https://github.com/NG-PR0JECT/scrapiq-mcp-server scrapiq-mcp
# or install it into an isolated environment
pipx install git+https://github.com/NG-PR0JECT/scrapiq-mcp-serverRequires a running Scrapiq instance (see Scrapiq README — git clone, pip install -e ".[dev]", then scrapiq). Point the server at it:
SCRAPIQ_ENDPOINT=http://localhost:8001/v1/extract scrapiq-mcpRun your own HTTP endpoint
scrapiq-mcp --http --host 127.0.0.1 --port 8002 # serves POST /mcpStateless: one POST /mcp per JSON-RPC message (or batch), replies with application/json. It issues no Mcp-Session-Id and offers no server→client SSE stream, so GET /mcp answers 405 by design. CORS is open, so browser-based clients (e.g. MCP Inspector) can call it directly.
Usage with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"scrapiq": {
"command": "scrapiq-mcp",
"env": { "SCRAPIQ_ENDPOINT": "http://localhost:8001/v1/extract" }
}
}
}Tool
scrapiq_extract
Extract a web page into clean structured content.
Arguments:
url(string, required) — the URL to extractformat(string, optional) —"markdown"(default) |"text"|"json"max_chars(integer, optional) — truncate content to N chars
Example:
scrapiq_extract(url="https://en.wikipedia.org/wiki/Retrieval-augmented_generation", format="markdown")Returns title, content, links, and metadata — no ads, no nav, no scripts.
Test the server
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"scrapiq_extract","arguments":{"url":"https://example.com","format":"text"}}}' \
| scrapiq-mcpLicense
MIT
Available Tools
1 toolscrapiq_extractAInspect
Extract a web page into clean, structured content for LLM/RAG pipelines via the Scrapiq API. Strips boilerplate, navigation, ads, and scripts. Returns title, content, links, and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to extract | |
| format | No | Output format (default: markdown) | |
| max_chars | No | Truncate content to N chars (default: no truncation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It goes beyond a bare verb by naming what gets stripped (boilerplate, navigation, ads, scripts) and what gets returned (title, content, links, metadata). It doesn't mention potential JS-rendering or rate-limit issues, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences front-load the purpose, then give concrete behavioral details about stripping and output. Every sentence earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the exact return fields, making up for the lack of an output schema. With only three simple parameters and no nested objects, this is sufficient for an agent to call the tool correctly. Minor edge cases like network failures or API authentication are not covered, but those are not essential here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (url, format, max_chars) are already documented. The description adds context about the overall curation behavior but not new parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Extract') and resource ('a web page'), and clearly states the purpose: producing clean, structured content for LLM/RAG pipelines. Even with no siblings to distinguish from, the transformation intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear use context by targeting LLM/RAG pipelines, signaling where this extraction tool fits. There are no sibling tools to contrast with, so the lack of explicit exclusions is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
scrapiq_extract
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or overlap. The tool's purpose is clearly described.
With a single tool, there is no pattern to contradict. The name 'scrapiq_extract' follows a predictable brand + verb format.
A single tool feels thin for a server branded as 'Scrapiq'. While it can perform the core extraction task, the count is borderline and could benefit from additional operations like batch extraction.
The one tool adequately covers the primary function of extracting and cleaning web content. Minor gaps exist, such as no support for batch URLs or custom extraction rules, but there are no dead ends for the stated purpose.
Maintenance
Related MCP Connectors
Turn any URL into clean Markdown and structured data. Scrape, crawl, search and extract.
MCP server (stdio): fetch web pages as clean readable markdown via the AgentForge API
Jina AI Reader/Search MCP — turn any URL into clean LLM-ready markdown, plus web search.
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that extracts clean, structured Markdown content from web page URLs using the WebforAI library. It simplifies feeding web content into AI models by removing HTML noise and intelligently processing tables and links.-
- AlicenseBqualityBmaintenanceAn MCP server for deep research that extracts clean text from web pages using hybrid extraction strategies and compiles findings into structured markdown reports. It provides tools for single and batch URL content extraction with optional Playwright support for JavaScript-heavy sites.4MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that extracts clean Markdown or HTML content from web pages by stripping away ads, navigation, and clutter. It offers tools to process URLs or raw HTML, returning structured metadata alongside the main article content.2MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for retrieving web pages as clean Markdown, with configurable detail levels and optional Chromium rendering for JavaScript-heavy pages.1MIT