Litescrape
Server Details
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
- Status
- Healthy
- Uptime
- 92.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- litescrape/litescrape-mcp-server
- GitHub Stars
- 0
- Server Listing
- litescrape-mcp-server
TDQS
Scored across 10 tools
The set contains closely related search tools: `search`, `google_search`, `bing_search`, and `duckduckgo_search` all return web results, and `google_ai_mode` vs `google_ai_overview` are easy to confuse. Each description does a good job clarifying provider and output format, but the boundaries are not always obvious without reading carefully.
Most tools follow a consistent snake_case pattern with clear prefixes like `google_`, `bing_`, and `duckduckgo_`. The bare `search` tool breaks the pattern by not indicating its provider or scope, and `web_fetch` uses a different prefix style.
Ten tools is a well-scoped size for a scraping/search server. It covers major search engines, Google verticals, and a fetch utility without feeling bloated or too thin.
The surface is strong for the domain, covering general web search across engines, AI overviews, maps, reviews, shopping, and raw page fetching. Minor gaps like dedicated news or autocomplete tools are workable since `google_search` exposes verticals and modules inline.
Available Tools
10 toolsbing_searchBing SearchARead-onlyInspect
Fetch a Bing web search results page as JSON: organic_results plus the modules Bing served (answer_box, knowledge_graph, copilot_answer, ads, related_questions, inline_videos, top_stories and more). Free without an API key: 50 calls per network per day.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query; Bing operators are preserved | |
| cc | No | Two-letter country code; conflicts with mkt | |
| lat | No | Latitude; supply together with lon | |
| lon | No | Longitude; supply together with lat | |
| mkt | No | Market such as en-US; conflicts with cc | |
| first | No | One-based organic result offset for pagination; default 1 | |
| device | No | Layout to request; default desktop | |
| filters | No | Native Bing display or date filters | |
| location | No | City-level search origin | |
| safeSearch | No | Default moderate | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the response composition (organic_results plus answer_box, knowledge_graph, copilot_answer, ads, related_questions, inline_videos, top_stories), the JSON format, and the operational constraints: free, no API key, and a daily rate limit. This adds meaningful behavioral context that annotations alone do not provide.
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 only two sentences, with the core action and output shape front-loaded. Every sentence earns its place: the first defines the tool's purpose and response, and the second adds the important quota and API-key caveat.
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?
Given 11 parameters and no output schema, the rich parameter schema plus the description's module list and quota note make the tool adequately invocable. A little more detail about pagination behavior or result-group semantics would make it fully complete for such a parameter-heavy tool, but the existing context is strong.
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?
All 11 parameters already have schema descriptions, so the baseline is 3. The description adds value by enumerating plausible values for the result_groups parameter, such as organic_results, knowledge_graph, and top_stories, which is helpful for constructing calls even though most parameters are not individually discussed in the description.
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?
Opens with a specific verb and object ('Fetch a Bing web search results page as JSON') and enumerates the returned modules, which clearly separates it from sibling tools like google_search or duckduckgo_search. The Bing resource is unambiguous and the description distinguishes this tool from generic search alternatives.
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 gives practical selection context by noting that the tool is free, requires no API key, and has a daily quota of 50 calls. However, it does not explicitly contrast this tool with sibling search tools or state when to prefer it over google_search or duckduckgo_search, so the usage guidance is mostly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duckduckgo_searchDuckDuckGo SearchARead-onlyInspect
Fetch ranked DuckDuckGo web results (organic_results with title, link, snippet) with region, safety and date controls. Free without an API key: 50 calls per network per day.
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | Result count 1-50; cannot be combined with search_assist | |
| q | Yes | Search query | |
| df | No | Date filter: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD | |
| kl | No | Region and language token such as us-en | |
| safe | No | 1 strict, -1 moderate (default), -2 off | |
| start | No | Result offset | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept | |
| search_assist | No | Default true; cannot be combined with m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true trading safety. The description adds a concrete rate limit and the 'no API key' requirement, which are behavioral traits beyond the annotations. It does not contradict any annotation.
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 with no filler: the first states the core function and output, the second states cost and rate limits. Information is front-loaded and every sentence earns its place.
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 gives a useful output hint (organic_results with title, link, snippet) and rate-limit context, which compensates for the lack of an output schema. The rich input schema covers parameter details, so the description is sufficient for an agent to call the tool correctly.
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%, with every parameter already documented. The description only summarizes 'region, safety and date controls' without adding meaning beyond the schema. Baseline 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 clearly states the tool fetches ranked DuckDuckGo web results with specific fields (organic_results, title, link, snippet) and controls. This makes it immediately distinguishable from sibling search tools like google_search or bing_search.
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 phrase 'Free without an API key: 50 calls per network per day' implies a usage context and cost advantage, but the description does not explicitly say when to choose this over alternatives like google_search or bing_search. Usage guidance is mostly implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ai_modeGoogle AI ModeARead-onlyInspect
Ask Google AI Mode a question and return its generated answer (ordered text_blocks: paragraphs, headings, lists, tables, code) with the sources it cited (references). Set continuable to get a token for follow-up questions; image_url adds a picture to the prompt. Slow: answers are generated per request. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The question to ask | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| uule | No | Pre-encoded Google location token; conflicts with location | |
| device | No | Layout to request; default desktop | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| image_url | No | Public http(s) image to include in the prompt; cannot combine with a token | |
| continuable | No | Return a subsequent_request_token so the conversation can continue | |
| google_domain | No | Google domain such as google.co.uk; default google.com | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept | |
| subsequent_request_token | No | Token from a previous continuable answer; send with a new q. Expires after 30 minutes; cannot combine with image_url |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the agent already knows this is a safe read operation. The description adds valuable behavioral context beyond the annotations: it warns that the tool is slow (answers generated per request), explains the continuable token mechanism and its 30-minute expiry, and notes that image_url cannot combine with a token. These are exactly the kind of behavioral traits an agent needs to know. It doesn't describe rate limits or failure modes, but the annotations already cover the safety profile, so a 4 is appropriate.
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 three sentences with zero waste. The first sentence front-loads the core purpose and output format, the second explains the two most important optional parameters, and the third delivers the critical behavioral warning (slow) and the auth requirement. Every sentence earns its place.
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 tool with 11 parameters, 100% schema coverage, and no output schema, the description is quite complete. It covers the core purpose, output structure, the continuable follow-up mechanism, the image_url constraint, the slowness warning, and the API key requirement. The only gaps are minor: it doesn't explain what happens with result_groups filtering or the uule/location conflict, but those are documented in the schema. The description is complete enough for an agent to call this tool correctly.
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 the schema already documents all 11 parameters. The description adds meaning for a few key parameters: continuable (get a token for follow-up questions), image_url (adds a picture to the prompt), and subsequent_request_token (implied by the follow-up explanation). However, it doesn't add much beyond the schema for parameters like gl, hl, uule, device, location, google_domain, or result_groups. Since the schema does the heavy lifting, the baseline 3 is correct.
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 states a specific verb ('Ask'), a specific resource ('Google AI Mode'), and the exact output shape (ordered text_blocks with sources). It also names the sibling tool google_ai_overview implicitly by distinguishing AI Mode from a plain search, and the sibling list confirms this is the AI-powered Q&A tool rather than a generic search. The description is unambiguous about what this tool does and how it differs from the other search siblings.
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 gives clear context for when to use this tool: when you want a generated answer with cited sources, and it explicitly warns that it is slow because answers are generated per request. It also explains the continuable token mechanism for follow-up questions, which is a key usage pattern. However, it does not explicitly name alternatives or state when NOT to use this tool (e.g., when you need fast results, use google_search instead). The sibling list provides context but the description itself doesn't draw the contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ai_overviewGoogle AI OverviewARead-onlyInspect
Return only the AI Overview Google generates for a search (ai_overview with ordered text_blocks and cited references), or null when Google shows none. Accepts the google_search parameters. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query; required unless ludocid or kgmid is supplied | |
| cr | No | Country restrict such as countryUS|countryCA | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| lr | No | Language restrict such as lang_en|lang_fr | |
| lat | No | Latitude; supply together with lon | |
| lon | No | Longitude; supply together with lat | |
| num | No | Requested result count, 1-10; Google may return fewer | |
| tbm | No | Vertical: lcl local, vid videos, nws news, shop shopping, pts patents | |
| tbs | No | Google search-filter string, e.g. qdr:w for the past week | |
| nfpr | No | 1 disables spelling auto-correction | |
| safe | No | SafeSearch | |
| uule | No | Pre-encoded Google location token; conflicts with location | |
| kgmid | No | Knowledge Graph machine ID such as /m/0k8z | |
| start | No | Result offset for pagination | |
| as_qdr | No | Date range: d, w, m or y with an optional count, e.g. d7 for the past week | |
| device | No | Layout to request; default desktop | |
| filter | No | 0 disables duplicate-content filtering | |
| radius | No | Radius in meters around the location or coordinates | |
| ludocid | No | Google CID of a local entity, for a targeted lookup | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| as_sitesearch | No | Restrict results to this hostname | |
| google_domain | No | Google domain such as google.co.uk; default google.com | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only; the description adds valuable context beyond that: it returns null when no AI Overview exists, returns only the ai_overview block in a specific structure, and requires an API key. It doesn't cover failure modes, but with readOnlyHint and openWorldHint present, this is strong.
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 with no wasted words: the core behavior is front-loaded, followed by the null case and the auth requirement. Every clause adds useful information.
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 24-parameter tool with no output schema, the description is reasonably complete: it gives the return shape, the null case, and authentication. It could say more about which google_search parameters actually influence AI Overview generation, but the comprehensive parameter schema compensates for that gap.
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%, with all 24 parameters individually documented. The description's phrase 'Accepts the google_search parameters' adds only a grouping cue and no per-parameter meaning, so it meets but does not exceed the baseline.
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 states a specific verb and resource: 'Return only the AI Overview Google generates for a search,' and defines the output shape ('ai_overview with ordered text_blocks and cited references') plus the null case. This clearly distinguishes it from general search tools like google_search.
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 this tool is for retrieving only Google's AI Overview and notes it 'Accepts the google_search parameters,' giving some context. However, it never explicitly names alternatives like google_search or google_ai_mode, nor states when not to use this tool, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_mapsGoogle MapsARead-onlyInspect
Search Google Maps for places (local_results with name, address, rating, reviews, hours, phone, website, coordinates) or fetch one exact place (place_results) by place_id, data_cid or data sequence. Filter by price, rating and opening hours. Free without an API key: 50 calls per network per day.
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | Radius in meters; use with location or lat/lon | |
| q | No | Search text; required for type=search | |
| z | No | Zoom 3-30; use with location or lat/lon | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| ll | No | Viewport as @lat,lon,14z or @lat,lon,5000m | |
| lat | No | Latitude; supply together with lon | |
| lon | No | Longitude; supply together with lat | |
| data | No | Exact place by Google Maps data sequence | |
| type | No | search (default) for a query, or place for one exact place identified by place_id, data_cid or data | |
| start | No | Native Maps result offset | |
| nearby | No | Restrict results to places near the viewport | |
| data_cid | No | Exact place by decimal Google CID | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| place_id | No | Exact place by Google place ID | |
| max_price | No | Price level upper bound | |
| min_price | No | Price level lower bound | |
| min_rating | No | Minimum rating preference | |
| open_state | No | Open now, or open 24 hours; cannot combine with open_on_day | |
| open_on_day | No | ||
| open_at_hour | No | Hour 0-23; requires open_on_day | |
| google_domain | No | Google domain such as google.co.uk; default google.com | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already label it read-only and open-world; the description adds valuable operational context: no API key required, a concrete daily rate limit, and the output groups returned (local_results vs place_results with fields). 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?
Three sentences, front-loaded with the core action and modes, then filters, then usage limits. No filler or redundant restatement of schema.
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?
Despite 23 parameters and no output schema, the combination of the high-coverage schema and description (mode selection, filters, return groups, rate limit) gives an agent what it needs to call the tool correctly. It could add a usage example or note on response size, but nothing critical is missing.
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?
With 96% schema coverage, the schema carries the parameter detail. The description still adds value by grouping the many parameters into modes and filter categories (price, rating, opening hours) and by naming the three identifier alternatives for exact-place lookup. This is more than baseline repetition.
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 opens with a specific action ('Search Google Maps for places') and explicitly distinguishes two modes: broad search returning local_results and exact place fetch via place_id, data_cid, or data sequence. This makes its scope clear relative to generic web-search siblings.
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?
It states clear use cases—searching for places with optional filters or retrieving a single place by identifier—and notes the free-tier constraint (50 calls/network/day). It doesn't explicitly name sibling alternatives or exclusion conditions, but the described scenarios are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_reviewsGoogle ReviewsARead-onlyInspect
Return the Google Maps reviews of one place (reviews with rating, snippet, author, date, likes, owner response, guided details and dining subratings) plus place_info. Identify the place by place_id or data_id from a google_maps result. Sort, filter by topic or text, and follow pagination.next_page_token for more. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| num | No | Reviews to return: 1-100 on a first unfiltered request (default 8), 1-20 with topic_id, query or next_page_token (default 10) | |
| query | No | Keep reviews mentioning this text; conflicts with topic_id | |
| data_id | No | Google data ID such as 0x89c2...:0x...; exactly one of place_id and data_id | |
| sort_by | No | Order: qualityScore (most relevant, default), newestFirst, ratingHigh, ratingLow | |
| place_id | No | Google place ID such as ChIJ...; exactly one of place_id and data_id | |
| topic_id | No | Keep reviews on one Google review topic; conflicts with query | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept | |
| next_page_token | No | pagination.next_page_token from the previous response; keep the same place, sort and filters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and open-world behavior; the description adds value by disclosing the API key requirement, pagination flow via next_page_token, and the composition of the response. It does not discuss rate limits or error behavior, but the annotation coverage lowers the bar and the added context is useful.
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?
Three sentences, zero filler: outcome and return fields first, identifier source second, controls/auth third. Each sentence earns its place and the most important scoping information is front-loaded.
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 still covers the returned data (review fields plus place_info), the required authentication, and the pagination mechanism. Combined with the very rich input schema, an agent has everything necessary to invoke the tool correctly.
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 coverage is 100%, so the baseline is 3; the description still adds meaning by connecting place_id/data_id to a google_maps result and summarizing sort/filter/pagination behavior. It reinforces how the parameters interact without needing to restate their schema definitions.
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 opens with a precise verb and resource: 'Return the Google Maps reviews of one place', plus place_info, and enumerates the review fields. This clearly distinguishes it from sibling search tools (google_search, google_maps) by scoping to reviews of a single place identified via a google_maps result.
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?
It tells the agent the source of identifiers ('from a google_maps result') and shows when to use the tool: after obtaining place_id or data_id, then sort, filter, or paginate. It does not explicitly state when not to use it or name alternatives, but the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchGoogle SearchARead-onlyInspect
Fetch a first-party Google Search results page as JSON: organic_results plus whichever modules Google served (knowledge_graph, answer_box, ai_overview, ads, related_questions, related_searches, local_results, top_stories, inline_videos and more). Supports localization, verticals (news, videos, local, shopping, patents), date filters and site restriction. Free without an API key: 25 calls per network per day.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query; required unless ludocid or kgmid is supplied | |
| cr | No | Country restrict such as countryUS|countryCA | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| lr | No | Language restrict such as lang_en|lang_fr | |
| lat | No | Latitude; supply together with lon | |
| lon | No | Longitude; supply together with lat | |
| num | No | Requested result count, 1-10; Google may return fewer | |
| tbm | No | Vertical: lcl local, vid videos, nws news, shop shopping, pts patents | |
| tbs | No | Google search-filter string, e.g. qdr:w for the past week | |
| nfpr | No | 1 disables spelling auto-correction | |
| safe | No | SafeSearch | |
| uule | No | Pre-encoded Google location token; conflicts with location | |
| kgmid | No | Knowledge Graph machine ID such as /m/0k8z | |
| start | No | Result offset for pagination | |
| as_qdr | No | Date range: d, w, m or y with an optional count, e.g. d7 for the past week | |
| device | No | Layout to request; default desktop | |
| filter | No | 0 disables duplicate-content filtering | |
| radius | No | Radius in meters around the location or coordinates | |
| ludocid | No | Google CID of a local entity, for a targeted lookup | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| fast_mode | No | true returns only organic_results (faster and smaller); skips AI Overview, Knowledge Graph, ads and every other module | |
| as_sitesearch | No | Restrict results to this hostname | |
| google_domain | No | Google domain such as google.co.uk; default google.com | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description's added value comes from the rate limit ('25 calls per network per day') and from clarifying that results include 'organic_results plus whichever modules Google served'. There is 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?
The description is two sentences, front-loaded with the core purpose, and includes a valuable constraint ('Free without an API key: 25 calls per network per day') without redundancy. Every clause earns its place.
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 25 parameters and no output schema, the description adequately covers the return shape ('organic_results plus whichever modules Google served') and key constraints. It does not enumerate every module or required-parameter nuance, but the schema fills most gaps.
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 the baseline is 3. The description only summarizes capabilities like localization and verticals, without adding meaning beyond what the schema's per-parameter descriptions already provide.
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 states a precise verb and resource: 'Fetch a first-party Google Search results page as JSON'. It also enumerates the returned modules and capabilities, making it easy to distinguish from sibling tools like bing_search or duckduckgo_search.
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 gives clear context by listing supported localizations, verticals, date filters, and site restrictions, but it never explicitly says when to choose this tool over its siblings or when to avoid it. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_shoppingGoogle ShoppingARead-onlyInspect
Search Google Shopping and return the product grid (shopping_results with title, price, source, rating, thumbnail), category blocks, sponsored listings and the refinement chips Google renders (filters). Price bounds, sale, shipping and small business refinements are mutually exclusive; sort_by combines with one of them. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Product query; required unless shoprs is supplied | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| num | No | Product count, 1-100 | |
| uule | No | Pre-encoded Google location token; conflicts with location | |
| start | No | Result offset | |
| device | No | Layout to request; default desktop | |
| shoprs | No | Refinement token from a previous response's filters | |
| on_sale | No | ||
| sort_by | No | 1 price low to high, 2 price high to low, 3 rating, 4 relevance | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| max_price | No | Upper price bound | |
| min_price | No | Lower price bound | |
| free_shipping | No | ||
| google_domain | No | Google domain such as google.co.uk; default google.com | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept | |
| small_business | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already present, the bar is lower, but the description adds value by disclosing the response composition (shopping_results fields, category blocks, sponsored listings, refinement chips) and the API key requirement. No contradiction with annotations exists.
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?
Three sentences with no filler. The first sentence front-loads the tool's purpose and output, the second captures the key parameter constraint, and the third states the operational prerequisite. Every sentence earns its place.
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 17-parameter tool with no output schema, the description supplies the essential output shape and the most important parameter-combination constraint, while the schema covers individual parameter details. It could be more complete by explicitly routing the agent to this tool only for shopping queries versus generic search, but the core invocation knowledge is present.
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 coverage is 82%, so the schema already describes most parameters. The description adds crucial cross-parameter semantics not visible in the schema: the mutual exclusivity of price/sale/shipping/small_business refinements and the rule that sort_by combines with one refinement. This meaningfully improves correct invocation.
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 opens with a specific verb and resource: 'Search Google Shopping'. It then enumerates the concrete return components (product grid, category blocks, sponsored listings, refinement chips), which clearly distinguishes this tool from generic siblings like google_search, bing_search, and google_maps.
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 gives practical usage guidance: it states the API key prerequisite and explains that price bounds, sale, shipping, and small business refinements are mutually exclusive while sort_by can combine with one of them. It does not explicitly say 'for general web results use google_search', so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchWeb searchARead-onlyInspect
Search the web through Google and return ranked organic results (title, link, snippet) as JSON. Fast mode: no Knowledge Graph, ads or AI modules; use google_search for the full results page. Free without an API key (shares the google_search allowance).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | What to search for | |
| gl | No | Two-letter country for localization, e.g. "us" | |
| hl | No | Language code such as "en" or "en-GB"; default en | |
| num | No | Requested result count, 1-10; Google may return fewer | |
| start | No | Result offset for pagination | |
| location | No | Named search origin such as "Austin, Texas"; conflicts with uule and lat/lon | |
| result_groups | No | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral context beyond annotations: fast mode, no Knowledge Graph/ads/AI modules, and sharing the google_search allowance. Doesn't contradict annotations (readOnlyHint, openWorldHint).
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 concise sentences with the main purpose front-loaded, followed by the mode distinction and cost note. No filler.
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?
No output schema, but the description specifies the return format (title, link, snippet) as JSON. Covers the core use case, differentiation, and cost. Lacks explicit pagination details, but schema covers start/num.
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 covers all 7 parameters with descriptions (100% coverage). The description adds minimal extra param meaning, mostly reinforcing the fast-mode focus and result_groups behavior.
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?
Clearly states it searches the web via Google and returns ranked organic results as JSON. Distinguishes itself from google_search by noting fast mode and pointing to the sibling for the full page.
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?
Explicitly says to use google_search for the full results page, and implies this tool is for fast organic results. Doesn't mention other search siblings, but the primary alternative is addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_fetchFetch a web pageARead-onlyInspect
Render one public web page in a fresh browser and return it as Markdown (default), HTML, plain text or a full-page PNG screenshot encoded as base64, with url, title, content and the status_code the site returned. Narrow the content with target_selector or remove_selector. Alpha. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http:// or https:// URL on the standard port, without credentials | |
| locale | No | Browser locale; default en-US | |
| user_agent | No | User-Agent to send | |
| wait_until | No | Navigation event to wait for; default domcontentloaded | |
| with_links | No | How Markdown writes links; default inlined | |
| with_iframe | No | Include direct child frames before extraction; default false | |
| with_images | No | How Markdown writes images; default all | |
| page_timeout | No | Seconds for browser operations; default 30 | |
| respond_with | No | Output format; default markdown. screenshot returns a base64 PNG | |
| remove_selector | No | CSS selector removed before extraction, e.g. "nav, footer" | |
| target_selector | No | CSS selector to extract; falls back to the full page when nothing matches | |
| with_shadow_dom | No | Expand open shadow roots before extraction; default false | |
| wait_for_selector | No | CSS selector to wait for after navigation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnlyHint and openWorldHint, and the description does not contradict them. It adds meaningful behavioral context beyond those: a fresh browser per request, Alpha maturity, API-key auth requirement, and the fact that returned status_code comes from the site. No rate-limit or failure-mode disclosure, but annotations lower the burden.
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 core action and output options, then add the most useful parameter hints and caveats. Every clause contributes; there is no filler or repetition of schema details.
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 tool with 13 parameters and no output schema, the description covers the essential output shape, the main output-format parameter, content-narrowing parameters, auth, and maturity. It does not cover every edge case, but combined with the parameter descriptions in the schema it is sufficient for correct 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?
Schema coverage is 100%, so the baseline is 3. The description adds value by mapping output formats to respond_with, mentioning the default format, and explaining target_selector/remove_selector for narrowing content. This goes beyond the bare schema descriptions and helps an agent choose parameters correctly.
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 uses a specific verb ('Render') and resource ('one public web page') and details return formats (Markdown, HTML, text, screenshot) and fields (url, title, content, status_code). This clearly separates it from sibling search tools, which return search results rather than fetching a known page.
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 by describing what the tool does, but it never explicitly says when to prefer web_fetch over the sibling search tools. It adds useful constraints—'public web page', 'Alpha', and 'Requires an API key'—but stops short of naming alternatives or exclusion conditions.
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.
4 tool updates
- Changed
google_ai_overview2 fields changed- changed
Input schema / properties / num / descriptionPrevious value: -"Requested result count, 1-100; Google may return fewer"New value: +"Requested result count, 1-10; Google may return fewer" - changed
Input schema / properties / num / maximumPrevious value: -100New value: +10
- Changed
google_search2 fields changed- changed
Input schema / properties / num / descriptionPrevious value: -"Requested result count, 1-100; Google may return fewer"New value: +"Requested result count, 1-10; Google may return fewer" - changed
Input schema / properties / num / maximumPrevious value: -100New value: +10
- Changed
search2 fields changed- changed
Input schema / properties / num / descriptionPrevious value: -"Requested result count, 1-100; Google may return fewer"New value: +"Requested result count, 1-10; Google may return fewer" - changed
Input schema / properties / num / maximumPrevious value: -100New value: +10
- Added
web_fetch
9 tool updates
- First observed
bing_search - First observed
duckduckgo_search - First observed
google_ai_mode - First observed
google_ai_overview - First observed
google_maps - First observed
google_reviews - First observed
google_search - First observed
google_shopping - First observed
search
Related MCP Connectors
Scraping API for Google Search, Maps, Flights, Jobs, YouTube, LinkedIn, Trustpilot and more.
Scrape Google search results with SERP data, ads, and knowledge panels
Google SERP, Maps, Shopping, News and AI-answer data for AI agents, from the Searlo search API.
Search, extract, crawl, map, research, scrape 16 platforms, browser automation, proxy — one API key.
Related MCP Servers
AlicenseBqualityCmaintenanceSearch API for AI, SEO & automation. Browser-rendered Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia results with URL extraction (+image search and engine metadata tools)966 npm2MIT- AlicenseAqualityDmaintenanceProvides real-time Google search results (organic + knowledge graph) with country targeting, language, time filters, and pagination, at low cost.115 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides free web search, content fetching, image search, and deep research via SearXNG, no API keys required.-
- AlicenseNot gradedqualityCmaintenanceProvides free Bing search capabilities without an API key, with smart language detection and customizable result counts.28 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.