web-scraping-mcp-server
Server Details
Generic URL crawl + HTML extraction — fallback for sites without dedicated MCPs.
- Status
- Healthy
- Uptime
- 100.0% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct source: crawl_website for general sites, google_search for search results, and wikipedia_lookup for Wikipedia articles. There is no overlap or ambiguity in their purposes.
All tool names follow a consistent lowercase_underscore style, with clear action-oriented naming (crawl_website, google_search, wikipedia_lookup). The convention is uniform across the entire server.
With only 3 tools, the server is well-scoped for basic web retrieval tasks. Each tool fills a distinct role, and the count is within the ideal range for a focused MCP server.
The tool set covers core web scraping activities: crawling a site, searching the web, and retrieving a specific knowledge article. A minor gap is the lack of a standalone fetch tool for a single URL, but crawl_website with max_pages=1 can serve that purpose.
Available Tools
3 toolscrawl_websiteARead-onlyInspect
Crawl a website and extract its content as structured data.
Args: url: Website URL to crawl (e.g. 'https://example.com') max_pages: Max pages to crawl (default 5)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is established. The description adds no additional behavioral context beyond the action itself—it doesn't mention potential slowness, site failure, or extent of crawling (e.g., same-domain only). No contradiction with annotations.
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 sentences plus a brief args list—extremely concise with no filler. The main purpose is front-loaded in the first sentence.
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?
With no output schema, the description doesn't specify what the structured data looks like or how crawling behaves. It's sufficient for a simple 2-parameter tool, but leaves ambiguity about return format and crawl scope.
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 0%, so the description carries the burden. It explicitly explains each parameter ('Website URL to crawl' and 'Max pages to crawl') and the default, which goes beyond the bare schema. However, the explanations are minimal and don't elaborate on edge cases or valid formats.
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 ('Crawl') and resource ('a website'), clearly distinguishing from sibling search/lookup tools. It also indicates the output type ('structured data'). This is a clear, non-tautological purpose statement.
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 implies when to use the tool (when you want to crawl a specific website) but provides no explicit guidance on when to prefer alternatives like google_search or wikipedia_lookup. No exclusions or edge cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchARead-onlyInspect
Search Google and return organic results with titles, URLs, snippets.
Args: query: Search query (e.g. 'best python libraries 2026') max_results: Max results (default 10)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description needn't emphasize non-destructiveness. It adds value by specifying the output structure (titles, URLs, snippets), but lacks details on pagination, quotas, or failure modes.
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?
The description is extremely concise and front-loaded: one sentence states the tool's function, and a short Args block covers parameters. No wasted words.
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?
For a simple 2-parameter tool with no output schema, the description adequately explains what is returned. It lacks explicit error handling details or notes on result format, but the provided information is sufficient for basic invocation.
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?
Even though the input schema has no descriptions, the tool description fully explains both parameters: query (with an example) and max_results (with default value). This adds meaning beyond the schema's bare type declarations.
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?
Description states a specific verb (Search) and resource (Google), and clarifies it returns organic results with titles, URLs, and snippets. This clearly distinguishes it from sibling tools like crawl_website and wikipedia_lookup.
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 makes the use case clear: perform a Google search and obtain organic results. It doesn't explicitly exclude alternatives or provide when-not-to-use guidance, but the purpose is distinct enough to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikipedia_lookupARead-onlyInspect
Look up a Wikipedia article and return its content.
Args: topic: Topic to look up (e.g. 'Artificial intelligence')
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that it 'return[s] its content' but does not detail behavior such as search disambiguation, content format, or error handling. This is acceptable given the annotations but not rich.
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?
The description is two lines, front-loaded with the primary purpose, and includes a minimal Args section. Every sentence earns its place with no unnecessary fluff.
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?
For a simple one-parameter tool with annotations and a clear argument description, the description is mostly complete. The phrase 'return its content' is somewhat vague about output format, but it is sufficient for a basic lookup tool.
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?
The schema has zero description coverage for the 'topic' parameter, but the description compensates with an Args section explaining 'Topic to look up (e.g. 'Artificial intelligence')'. This provides clear meaning and a concrete example.
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 clearly states 'Look up a Wikipedia article and return its content', which is a specific verb+resource combination. It distinguishes itself from sibling tools like crawl_website and google_search by being explicitly Wikipedia-focused.
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 implies usage for Wikipedia lookups but does not explicitly mention when to use it instead of crawl_website or google_search, nor does it provide exclusions or alternative recommendations. The guidance is implicit rather than explicit.
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.
3 tool updates
- First observed
crawl_website - First observed
google_search - First observed
wikipedia_lookup
Related MCP Connectors
Paid fallback for public webpages: clean text, Markdown, links, metadata, and JavaScript rendering.
PDFs, JavaScript pages and ordinary HTML as clean Markdown. Follows robots.txt per RFC 9309.
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
Extract clean article text, titles, and metadata from news URLs - ready for NLP pipelines.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA general-purpose MCP server for crawling and extracting structured data from any website. Supports tools for crawling, single-page extraction, search-and-crawl, and schema extraction.2MIT
- FlicenseNot gradedqualityBmaintenanceMCP server that retrieves bot-unfriendly page content as Markdown and screenshots as vision-ready image tiles, escalating through increasingly sophisticated extraction tiers (plain HTTP, trafilatura, TLS impersonation, headless Chromium) only as needed.-
- AlicenseAqualityCmaintenanceTurns public websites into portable SKILL.md files via MCP using Firecrawl.14 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server that fetches raw HTML content from a given URL to provide web context to LLMs.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.