Litescrape
Server Details
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
- Status
- Healthy
- Uptime
- 92.0% over 42 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 6 tools
The three web search tools (bing_search, duckduckgo_search, google_search) share the same purpose and could confuse an agent choosing between them, though each is clearly tied to a distinct provider. find_tools and call_tool form a distinct discovery/execution meta-pair, and google_maps is clearly separate.
Naming mixes conventions: search tools follow provider_search (bing_search, duckduckgo_search, google_search), google_maps is provider_thing, while find_tools and call_tool use verb_noun. It remains readable but is not a single predictable pattern.
Six tools is well-scoped for a scraper front-end. The heavy catalog is offloaded to find_tools/call_tool, so the static surface stays lean without being thin.
Coverage of search engines and maps is solid, and the find_tools/call_tool discovery mechanism extends to the broader catalog, avoiding dead ends. Minor gap: no direct way to enumerate the full catalog other than querying find_tools.
Available Tools
6 toolsbing_searchBing SearchCRead-onlyInspect
Get Bing web search results.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Bing search query after trimming. Accepted length: 1 through 2,048 characters. Control characters are rejected. Bing query syntax such as quoted phrases and exclusions remains available. | |
| cc | No | Case-insensitive two-letter country of origin. Format: US or GB. Cannot be combined with mkt. | |
| lat | No | Latitude from -90 through 90. May be supplied independently or with lon. | |
| lon | No | Longitude from -180 through 180. May be supplied independently or with lat. | |
| mkt | No | Case-insensitive Bing language-country market token. Format: two-letter language and country, such as en-US. Cannot be combined with cc. | |
| first | No | One-based native offset for organic results. Range: 1 through 9,007,199,254,740,991. Prefer litescrape_pagination.next when it is returned. | |
| device | No | Selects desktop, tablet, or mobile result behavior. | desktop |
| engine | No | Selects the Bing web-search engine. | bing |
| filters | No | Native Bing display or date filter expression. Maximum length: 8,192 characters. Control characters are rejected. | |
| location | No | Named city-level origin used to localize the Bing request. Maximum length: 256 characters. Control characters are rejected. | |
| safeSearch | No | Bing adult-content policy; values are case-insensitive. | 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?
Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=false, covering the safety and nature of the call. The description adds nothing beyond that — no mention of rate limits, result caps, pagination behavior, or what the response contains, despite the schema hinting at pagination via 'litescrape_pagination.next'.
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?
A single front-loaded sentence with zero waste, which is genuinely concise. It is arguably under-specified rather than over-verbose, but it is not padded and gets to the point immediately.
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 12 parameters, no output schema, and locale/market/device/pagination controls, a one-sentence description leaves significant gaps an agent would need to resolve — particularly how to paginate, how cc/mkt interact, and what the response structure looks like.
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%, and the schema documents every parameter in detail, including market/country mutual exclusions, length limits, and pagination offsets. The description contributes no additional parameter meaning, so baseline 3 applies.
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 ('Get Bing web search results'), and naming Bing implicitly distinguishes it from the google_search and duckduckgo_search siblings. However, it never explicitly routes the agent between those alternatives, so it falls short of a 5.
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?
There is no when-to-use guidance, no when-not-to-use, and no mention of the sibling search tools (google_search, duckduckgo_search). The agent must infer selection criteria entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_toolCall a Litescrape toolARead-onlyInspect
Run a Litescrape tool found with find_tools. Pass its name and arguments matching its input schema; arguments may also take result_groups to keep only some top-level groups.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tool name from find_tools | |
| arguments | No | Arguments for the tool, matching its input schema; {} when it needs none |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=false. The description adds useful behavior about result_groups filtering, but does not cover error handling, dynamic invocation risks, or return behavior beyond what annotations imply.
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 compact clauses with the core action and key argument behavior front-loaded. There is no redundant text.
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 dynamic invoker with nested arguments, the description gives enough to call it: use a name from find_tools, pass matching arguments, and optionally use result_groups. It does not explain result_groups structure or error behavior, but no output schema exists and annotations cover the safety profile.
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 meaningful value by noting that arguments may include result_groups to keep only some top-level groups, which is not in the schema 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?
States a specific verb and resource ("Run a Litescrape tool") and ties it to discovery via find_tools. This clearly distinguishes it from find_tools itself and from the concrete 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 phrase "found with find_tools" gives a clear prerequisite and implied workflow. It does not explicitly state when not to use it or name alternatives beyond find_tools, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duckduckgo_searchDuckDuckGo SearchCRead-onlyInspect
Get DuckDuckGo web search results.
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | Requested result count from 1 through 50; mutually exclusive with search_assist. | |
| q | Yes | Required search text, up to 500 characters. | |
| df | No | Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD. | |
| kl | No | DuckDuckGo region and language token, such as us-en. | |
| safe | No | DuckDuckGo safe-search level. | -1 |
| start | No | Result offset from 0 through 10,000. | |
| 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 | Enable DuckDuckGo query assistance; mutually exclusive with m. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds nothing beyond that — no note on rate limits, result freshness, whether results are cached, or how pagination via 'start' behaves in practice.
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?
A single short sentence with no wasted words and the key noun front-loaded. It is efficient, though it errs toward under-specification rather than genuine conciseness.
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?
This is an 8-parameter tool with an open-world, non-idempotent profile and no output schema; the description does not compensate for that complexity by describing usage context, result shape, or engine-selection tradeoffs. The annotation and schema carry nearly all the weight.
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 8 parameters (including enum, defaults, and mutual-exclusion notes like m vs search_assist) are already documented in the schema. The description contributes no additional parameter meaning, which is the expected baseline when the schema does the heavy lifting.
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 names a verb (Get) and a resource (DuckDuckGo web search results), so the basic purpose is clear. However, it is essentially a restatement of the title and offers no differentiation from the sibling search tools (google_search, bing_search, google_maps), leaving the agent to guess which engine's results it returns.
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?
There is no guidance on when to choose this tool over google_search or bing_search, no mention of prerequisites, and no exclusions. The description supplies no usage context at all beyond the bare purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_toolsFind Litescrape toolsARead-onlyIdempotentInspect
Find the Litescrape tools for a task beyond the ones listed here: AI answers, maps details and reviews, app stores, retailers, real estate, jobs, social media, web pages and more. Describe the task in q to get the best matches first, or pass names to fetch specific tools. Each tool comes with its description and whether it works without an API key; best matches and named tools also carry their input schema. Run one with call_tool.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | The task, in plain language, e.g. "track competitor prices on Amazon" | |
| limit | No | Most tools to return for q; default 5 | |
| names | No | Tool names to fetch with their input schemas, instead of q |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and idempotentHint, so the safety profile is covered. The description adds behavior the annotations do not: each result carries a description, an API-key requirement flag, and an input schema for best matches/named tools. It omits rate limits or result-count behavior, keeping it below a 5.
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 dense sentences are front-loaded with purpose, then modes, then return contents and the execution hand-off. Each sentence carries distinct, non-redundant information with 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?
With no output schema, the description correctly takes on the burden of explaining return values (descriptions, API-key status, input schemas) and the call_tool hand-off. It is nearly complete, missing only guidance on the limit parameter and pagination/result-count expectations.
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 q, limit and names with examples. The description restates the q-vs-names modes and what each returns but adds little syntactic detail beyond the schema, and it never mentions limit, so the baseline 3 applies.
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+resource ("Find the Litescrape tools") and immediately differentiates this discovery catalog from the sibling search tools by listing the domains it indexes and routing execution to call_tool. An agent can tell this is a meta-discovery tool rather than a web search without opening the schema.
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 gives explicit context for use ("for a task beyond the ones listed here") and names the two invocation modes (describe task in q, or pass names) plus the follow-up action ("Run one with call_tool"). It stops short of stating when an agent should NOT use it or prefer a sibling search tool, so it is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_mapsGoogle MapsCRead-onlyInspect
Search Google Maps places, or get one place by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| m | No | Search radius in meters for location or lat/lon geography. Accepted range: 1 through 15,028,132. Cannot be combined with z. | |
| q | No | The business, category, address, or natural-language query to search. Required when type is search. Examples: coffee shops in Austin, dentist near Denver | |
| z | No | Google Maps zoom level for location or lat/lon geography. Accepted range: 3 through 30. Cannot be combined with m. | |
| gl | No | Two-letter country code used for regional result localization. Examples: us, gb, ca, au | |
| hl | No | Language used for Google Maps labels and returned text. Examples: en, es, fr, de | |
| ll | No | A complete viewport containing latitude, longitude, and either zoom or radius. Format: @lat,lon,14z or @lat,lon,5000m | |
| lat | No | Latitude for a coordinate-based viewport. Must be supplied with lon and either z or m. | |
| lon | No | Longitude for a coordinate-based viewport. Must be supplied with lat and either z or m. | |
| data | No | A Google Maps protobuf parameter sequence for search filters or an exact place. Maximum length: 8,192 characters. Exact-place data requires type=place. | |
| type | No | Chooses a result search or an exact place response. Required for query and filter searches. Use place when sending an exact-place data sequence. | |
| start | No | Native Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit. Use pagination.next when it is present instead of constructing the next request manually. | |
| nearby | No | Uses the supplied geography as a nearby-search scope. Requires ll, location, or a lat/lon pair. | |
| data_cid | No | A decimal Google CID used to resolve one exact place. Cannot be combined with place_id or exact-place data. | |
| location | No | A named geographic location resolved by the API. Cannot be combined with ll or lat/lon. Requires z or m. | |
| place_id | No | A Google place identifier used to resolve one exact place or request live foot traffic. Cannot be combined with data_cid or exact-place data on the primary Maps endpoint. It is the only required parameter on /api/google/maps/popular-times. Every response is fetched live; places without published data return popular_times: null. | |
| max_price | No | Maximum price level for returned places. Must be non-negative and cannot be lower than min_price. | |
| min_price | No | Minimum price level for returned places. Must be non-negative and cannot exceed max_price. | |
| min_rating | No | Preferred minimum Google rating. Google treats this as a relevance preference. | |
| open_state | No | Filters by the current open state. Cannot be combined with open_on_day or open_at_hour. | |
| open_on_day | No | Filters for places open on a specific day. | |
| open_at_hour | No | Filters for places open at a specific hour using 24-hour time. Accepted range: 0 through 23. Requires open_on_day. | |
| google_domain | No | Validated Google domain used for the request. Examples: google.com, google.co.uk, google.ca | |
| 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=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds nothing on top of that: no mention of credit costs per request, the 20-result-per-page limit, live-only fetches, or authentication needs — all of which exist in the schema but are absent from the prose.
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?
A single compact sentence with the primary search use case front-loaded and zero filler. It is arguably too terse for a 23-parameter tool, but there is no wasted wording.
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 23-parameter tool with two distinct modes, filtering options (price, rating, open state), geography variants, and pagination, the description covers only the two headline verbs. No output schema exists, so it need not describe returns, but the mode-selection and filtering surface is left entirely to the schema.
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%, and the schema is unusually detailed (radius ranges, zoom bounds, mutual exclusions, credit costs, pagination advice), so the baseline is 3. The description contributes no parameter meaning of its own; 'by ID' is vaguer than the schema's place_id and data_cid distinctions.
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?
States a concrete verb and resource ('Search Google Maps places') plus a second mode ('get one place by ID'), so an agent knows this is a places lookup rather than a web search. It stops short of naming or contrasting with the obvious sibling google_search, which is the one confusion risk given the sibling list.
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?
No guidance on when to prefer this over google_search, bing_search, or duckduckgo_search, and no criteria for choosing the search mode versus the single-place mode. The reader is left to infer that 'type' and an ID parameter select the branch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchGoogle SearchBRead-onlyInspect
Get Google search results, including the AI Overview and People also ask.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Google Search query, up to 2,048 characters. Required unless ludocid, kgmid, or page_token is supplied. | |
| cr | No | One or more countryXX restrictions joined with |. | |
| gl | No | Lowercase two-letter country localization code. | |
| hl | No | Google interface and result language code. | en |
| lr | No | One or more lang_xx restrictions joined with |. | |
| oq | No | Original query associated with an autocomplete selection. | |
| si | No | Opaque cached Google search context. | |
| ibp | No | Google layout or expansion control. | |
| lat | No | Latitude from -90 through 90. Requires lon and conflicts with location and uule. | |
| lon | No | Longitude from -180 through 180. Requires lat and conflicts with location and uule. | |
| num | No | Best-effort first-page result count, 1 to 10. | |
| pws | No | Google personalization control; 0 asks for non-personalized results. | |
| tbm | No | Google vertical: lcl, vid, nws, shop, or pts. For image searches, use /api/google/images. | |
| tbs | No | Google native date or search filter string. | |
| uds | No | Opaque Google filter token. | |
| as_q | No | Additional all-of search terms. | |
| lsig | No | Opaque Knowledge Graph or local-pack signature. | |
| nfpr | No | Google auto-correction control. | |
| safe | No | Google adult-content filtering. | |
| uule | No | Pre-encoded Google location value. Conflicts with location and lat/lon. | |
| as_dt | No | Includes or excludes as_sitesearch. Requires as_sitesearch. | |
| as_eq | No | Excluded phrase query. | |
| as_lq | No | Require results that link to this URL. | |
| as_oq | No | Any-of search terms. | |
| as_rq | No | Find pages related to this URL. | |
| gs_lp | No | Google gs_lp value associated with an autocomplete selection. | |
| kgmid | No | Google Knowledge Graph machine ID, such as /m/0k8z. | |
| start | No | Non-negative Google result offset. Prefer page_token to repeating the same search with start=10, start=20, or another offset. | |
| as_epq | No | Exact phrase query. | |
| as_nhi | No | Inclusive range upper bound. Requires as_nlo. | |
| as_nlo | No | Inclusive range lower bound. Requires as_nhi. | |
| as_qdr | No | Quick range d, w, m, or y with an optional positive count. | |
| device | No | Request device profile and radius bound. | desktop |
| filter | No | Google similar-result filtering control. | |
| radius | No | Decimal search-bias radius in meters. Requires location or lat/lon. Desktop: 1–199; tablet/mobile: 1–1,000. | |
| ludocid | No | Google local CID used to search for one entity. | |
| sclient | No | Google client identifier such as gws-wiz-serp. | |
| location | No | Human-readable city-level location encoded to UULE by Litescrape. Conflicts with uule and lat/lon. | |
| peek_pws | No | Google personalization peek flag, forwarded unchanged. | |
| fast_mode | No | Return organic results only, skipping AI Overview and all other result groups. Keeps search metadata and parameters. Omits cross-module position_absolute. | |
| page_token | No | Opaque token from pagination.next_page_token. Send it alone to fetch the next page with the original search parameters. Prefer page_token to repeating the same search with start=10, start=20, or another offset. Send the token as soon as possible and no later than 5 minutes after receiving it. Available for ordinary Google Search, including fast mode; not available for tbm verticals. search_metadata.continuation is followed for a direct request. If Google omits a required link or the deadline expires, the request fails without billing. | |
| color_scheme | No | Google result color presentation. | |
| as_sitesearch | No | Site hostname to include or exclude. | |
| google_domain | No | Results use google.com. Use gl, hl, cr, lr or geography for localization. | 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=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered and the description does not contradict it. The description adds the useful content note that results include AI Overview and People also ask, but says nothing about pagination token expiry, rate/billing behavior, or the effect of fast_mode, which are left entirely to the schema.
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?
A single front-loaded sentence with zero wasted words, and the most notable output feature is placed early. It is arguably under-sized for a 45-parameter tool, but there is no padding or structural clutter.
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 very complex tool with 45 optional parameters and no output schema, the description is thin: it never mentions pagination, result_group selection, localization, or the fact that output shape varies by tbm vertical. The unusually rich schema compensates for most parameter gaps, but the result-shape story is only half told.
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% across all 45 parameters, so the schema fully documents the inputs and the baseline is 3. The description adds no parameter meaning of its own, not even pointing at the key levers (q, fast_mode, page_token, localization), so it neither compensates nor detracts.
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 ('Get Google search results') and adds that the response includes the AI Overview and People also ask panels, which is more than a restatement of the name. It does not distinguish itself from sibling search tools (bing_search, duckduckgo_search) or from google_maps, leaving the agent to infer the difference from the name alone.
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?
There is no when-to-use guidance, no mention of alternatives among the sibling search tools, and no conditions under which this tool should be avoided. Useful routing hints exist in the schema (fast_mode, page_token over start offsets, tbm image searches going to a different endpoint), but none of that is surfaced in the description.
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.
12 tool updates
- Changed
bing_search55 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / cc / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / cc / defaultAdded value: +null - changed
Input schema / properties / cc / descriptionPrevious value: -"Two-letter country code; conflicts with mkt"New value: +"Case-insensitive two-letter country of origin.\n\nFormat: US or GB. Cannot be combined with mkt." - removed
Input schema / properties / cc / maxLengthRemoved value: -2 - removed
Input schema / properties / cc / minLengthRemoved value: -2 - added
Input schema / properties / cc / titleAdded value: +"Cc" - removed
Input schema / properties / cc / typeRemoved value: -"string" - added
Input schema / properties / device / defaultAdded value: +"desktop" - changed
Input schema / properties / device / descriptionPrevious value: -"Layout to request; default desktop"New value: +"Selects desktop, tablet, or mobile result behavior." - added
Input schema / properties / device / titleAdded value: +"Device" - added
Input schema / properties / engineAdded value: +{ + "const": "bing", + "default": "bing", + "description": "Selects the Bing web-search engine.", + "title": "Engine", + "type": "string" +} - added
Input schema / properties / filters / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / filters / defaultAdded value: +null - changed
Input schema / properties / filters / descriptionPrevious value: -"Native Bing display or date filters"New value: +"Native Bing display or date filter expression.\n\nMaximum length: 8,192 characters. Control characters are rejected." - removed
Input schema / properties / filters / maxLengthRemoved value: -8192 - added
Input schema / properties / filters / titleAdded value: +"Filters" - removed
Input schema / properties / filters / typeRemoved value: -"string" - added
Input schema / properties / first / defaultAdded value: +1 - changed
Input schema / properties / first / descriptionPrevious value: -"One-based organic result offset for pagination; default 1"New value: +"One-based native offset for organic results.\n\nRange: 1 through 9,007,199,254,740,991. Prefer litescrape_pagination.next when it is returned." - removed
Input schema / properties / first / minimumRemoved value: -1 - added
Input schema / properties / first / titleAdded value: +"First" - added
Input schema / properties / lat / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lat / defaultAdded value: +null - changed
Input schema / properties / lat / descriptionPrevious value: -"Latitude; supply together with lon"New value: +"Latitude from -90 through 90.\n\nMay be supplied independently or with lon." - removed
Input schema / properties / lat / maximumRemoved value: -90 - removed
Input schema / properties / lat / minimumRemoved value: --90 - added
Input schema / properties / lat / titleAdded value: +"Lat" - removed
Input schema / properties / lat / typeRemoved value: -"number" - added
Input schema / properties / location / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / location / defaultAdded value: +null - changed
Input schema / properties / location / descriptionPrevious value: -"City-level search origin"New value: +"Named city-level origin used to localize the Bing request.\n\nMaximum length: 256 characters. Control characters are rejected." - removed
Input schema / properties / location / maxLengthRemoved value: -256 - added
Input schema / properties / location / titleAdded value: +"Location" - removed
Input schema / properties / location / typeRemoved value: -"string" - added
Input schema / properties / lon / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lon / defaultAdded value: +null - changed
Input schema / properties / lon / descriptionPrevious value: -"Longitude; supply together with lat"New value: +"Longitude from -180 through 180.\n\nMay be supplied independently or with lat." - removed
Input schema / properties / lon / maximumRemoved value: -180 - removed
Input schema / properties / lon / minimumRemoved value: --180 - added
Input schema / properties / lon / titleAdded value: +"Lon" - removed
Input schema / properties / lon / typeRemoved value: -"number" - added
Input schema / properties / mkt / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / mkt / defaultAdded value: +null - changed
Input schema / properties / mkt / descriptionPrevious value: -"Market such as en-US; conflicts with cc"New value: +"Case-insensitive Bing language-country market token.\n\nFormat: two-letter language and country, such as en-US. Cannot be combined with cc." - added
Input schema / properties / mkt / titleAdded value: +"Mkt" - removed
Input schema / properties / mkt / typeRemoved value: -"string" - changed
Input schema / properties / q / descriptionPrevious value: -"Search query; Bing operators are preserved"New value: +"Bing search query after trimming.\n\nAccepted length: 1 through 2,048 characters. Control characters are rejected. Bing query syntax such as quoted phrases and exclusions remains available." - removed
Input schema / properties / q / maxLengthRemoved value: -2048 - removed
Input schema / properties / q / minLengthRemoved value: -1 - added
Input schema / properties / q / titleAdded value: +"Q" - added
Input schema / properties / safeSearch / defaultAdded value: +"moderate" - changed
Input schema / properties / safeSearch / descriptionPrevious value: -"Default moderate"New value: +"Bing adult-content policy; values are case-insensitive." - added
Input schema / properties / safeSearch / titleAdded value: +"Safesearch" - added
Input schema / titleAdded value: +"Request"
- Added
call_tool - Changed
duckduckgo_search33 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / df / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / df / defaultAdded value: +null - changed
Input schema / properties / df / descriptionPrevious value: -"Date filter: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD"New value: +"Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD." - added
Input schema / properties / df / titleAdded value: +"Df" - removed
Input schema / properties / df / typeRemoved value: -"string" - added
Input schema / properties / kl / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / kl / defaultAdded value: +null - changed
Input schema / properties / kl / descriptionPrevious value: -"Region and language token such as us-en"New value: +"DuckDuckGo region and language token, such as us-en." - removed
Input schema / properties / kl / maxLengthRemoved value: -32 - added
Input schema / properties / kl / titleAdded value: +"Kl" - removed
Input schema / properties / kl / typeRemoved value: -"string" - added
Input schema / properties / m / defaultAdded value: +50 - changed
Input schema / properties / m / descriptionPrevious value: -"Result count 1-50; cannot be combined with search_assist"New value: +"Requested result count from 1 through 50; mutually exclusive with search_assist." - removed
Input schema / properties / m / maximumRemoved value: -50 - removed
Input schema / properties / m / minimumRemoved value: -1 - added
Input schema / properties / m / titleAdded value: +"M" - changed
Input schema / properties / q / descriptionPrevious value: -"Search query"New value: +"Required search text, up to 500 characters." - removed
Input schema / properties / q / maxLengthRemoved value: -500 - removed
Input schema / properties / q / minLengthRemoved value: -1 - added
Input schema / properties / q / titleAdded value: +"Q" - added
Input schema / properties / safe / defaultAdded value: +"-1" - changed
Input schema / properties / safe / descriptionPrevious value: -"1 strict, -1 moderate (default), -2 off"New value: +"DuckDuckGo safe-search level." - added
Input schema / properties / safe / titleAdded value: +"Safe" - added
Input schema / properties / search_assist / defaultAdded value: +true - changed
Input schema / properties / search_assist / descriptionPrevious value: -"Default true; cannot be combined with m"New value: +"Enable DuckDuckGo query assistance; mutually exclusive with m." - added
Input schema / properties / search_assist / titleAdded value: +"Search Assist" - added
Input schema / properties / start / defaultAdded value: +0 - changed
Input schema / properties / start / descriptionPrevious value: -"Result offset"New value: +"Result offset from 0 through 10,000." - removed
Input schema / properties / start / maximumRemoved value: -10000 - removed
Input schema / properties / start / minimumRemoved value: -0 - added
Input schema / properties / start / titleAdded value: +"Start" - added
Input schema / titleAdded value: +"Request"
- Added
find_tools - Removed
google_ai_mode - Removed
google_ai_overview - Changed
google_maps134 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / data / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / data / defaultAdded value: +null - changed
Input schema / properties / data / descriptionPrevious value: -"Exact place by Google Maps data sequence"New value: +"A Google Maps protobuf parameter sequence for search filters or an exact place.\n\nMaximum length: 8,192 characters. Exact-place data requires type=place." - removed
Input schema / properties / data / maxLengthRemoved value: -8192 - added
Input schema / properties / data / titleAdded value: +"Data" - removed
Input schema / properties / data / typeRemoved value: -"string" - added
Input schema / properties / data_cid / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / data_cid / defaultAdded value: +null - changed
Input schema / properties / data_cid / descriptionPrevious value: -"Exact place by decimal Google CID"New value: +"A decimal Google CID used to resolve one exact place.\n\nCannot be combined with place_id or exact-place data." - added
Input schema / properties / data_cid / titleAdded value: +"Data Cid" - removed
Input schema / properties / data_cid / typeRemoved value: -"string" - added
Input schema / properties / gl / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / gl / defaultAdded value: +null - changed
Input schema / properties / gl / descriptionPrevious value: -"Two-letter country for localization, e.g. \"us\""New value: +"Two-letter country code used for regional result localization.\n\nExamples: us, gb, ca, au" - removed
Input schema / properties / gl / maxLengthRemoved value: -2 - removed
Input schema / properties / gl / minLengthRemoved value: -2 - added
Input schema / properties / gl / titleAdded value: +"Gl" - removed
Input schema / properties / gl / typeRemoved value: -"string" - added
Input schema / properties / google_domain / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / google_domain / defaultAdded value: +null - changed
Input schema / properties / google_domain / descriptionPrevious value: -"Google domain such as google.co.uk; default google.com"New value: +"Validated Google domain used for the request.\n\nExamples: google.com, google.co.uk, google.ca" - added
Input schema / properties / google_domain / titleAdded value: +"Google Domain" - removed
Input schema / properties / google_domain / typeRemoved value: -"string" - added
Input schema / properties / hl / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / hl / defaultAdded value: +null - changed
Input schema / properties / hl / descriptionPrevious value: -"Language code such as \"en\" or \"en-GB\"; default en"New value: +"Language used for Google Maps labels and returned text.\n\nExamples: en, es, fr, de" - removed
Input schema / properties / hl / maxLengthRemoved value: -10 - removed
Input schema / properties / hl / minLengthRemoved value: -2 - added
Input schema / properties / hl / titleAdded value: +"Hl" - removed
Input schema / properties / hl / typeRemoved value: -"string" - added
Input schema / properties / lat / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lat / defaultAdded value: +null - changed
Input schema / properties / lat / descriptionPrevious value: -"Latitude; supply together with lon"New value: +"Latitude for a coordinate-based viewport. Must be supplied with lon and either z or m." - removed
Input schema / properties / lat / maximumRemoved value: -90 - removed
Input schema / properties / lat / minimumRemoved value: --90 - added
Input schema / properties / lat / titleAdded value: +"Lat" - removed
Input schema / properties / lat / typeRemoved value: -"number" - added
Input schema / properties / ll / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / ll / defaultAdded value: +null - changed
Input schema / properties / ll / descriptionPrevious value: -"Viewport as @lat,lon,14z or @lat,lon,5000m"New value: +"A complete viewport containing latitude, longitude, and either zoom or radius.\n\nFormat: @lat,lon,14z or @lat,lon,5000m" - added
Input schema / properties / ll / titleAdded value: +"Ll" - removed
Input schema / properties / ll / typeRemoved value: -"string" - added
Input schema / properties / location / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / location / defaultAdded value: +null - changed
Input schema / properties / location / descriptionPrevious value: -"Named search origin such as \"Austin, Texas\"; conflicts with uule and lat/lon"New value: +"A named geographic location resolved by the API. Cannot be combined with ll or lat/lon.\n\nRequires z or m." - removed
Input schema / properties / location / maxLengthRemoved value: -512 - added
Input schema / properties / location / titleAdded value: +"Location" - removed
Input schema / properties / location / typeRemoved value: -"string" - added
Input schema / properties / lon / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lon / defaultAdded value: +null - changed
Input schema / properties / lon / descriptionPrevious value: -"Longitude; supply together with lat"New value: +"Longitude for a coordinate-based viewport. Must be supplied with lat and either z or m." - removed
Input schema / properties / lon / maximumRemoved value: -180 - removed
Input schema / properties / lon / minimumRemoved value: --180 - added
Input schema / properties / lon / titleAdded value: +"Lon" - removed
Input schema / properties / lon / typeRemoved value: -"number" - added
Input schema / properties / m / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / m / defaultAdded value: +null - changed
Input schema / properties / m / descriptionPrevious value: -"Radius in meters; use with location or lat/lon"New value: +"Search radius in meters for location or lat/lon geography.\n\nAccepted range: 1 through 15,028,132. Cannot be combined with z." - removed
Input schema / properties / m / minimumRemoved value: -1 - added
Input schema / properties / m / titleAdded value: +"M" - removed
Input schema / properties / m / typeRemoved value: -"number" - added
Input schema / properties / max_price / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / max_price / defaultAdded value: +null - changed
Input schema / properties / max_price / descriptionPrevious value: -"Price level upper bound"New value: +"Maximum price level for returned places.\n\nMust be non-negative and cannot be lower than min_price." - removed
Input schema / properties / max_price / minimumRemoved value: -0 - added
Input schema / properties / max_price / titleAdded value: +"Max Price" - removed
Input schema / properties / max_price / typeRemoved value: -"integer" - added
Input schema / properties / min_price / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / min_price / defaultAdded value: +null - changed
Input schema / properties / min_price / descriptionPrevious value: -"Price level lower bound"New value: +"Minimum price level for returned places.\n\nMust be non-negative and cannot exceed max_price." - removed
Input schema / properties / min_price / minimumRemoved value: -0 - added
Input schema / properties / min_price / titleAdded value: +"Min Price" - removed
Input schema / properties / min_price / typeRemoved value: -"integer" - added
Input schema / properties / min_rating / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / min_rating / defaultAdded value: +null - changed
Input schema / properties / min_rating / descriptionPrevious value: -"Minimum rating preference"New value: +"Preferred minimum Google rating.\n\nGoogle treats this as a relevance preference." - removed
Input schema / properties / min_rating / enumRemoved value: -[ - "2.0", - "2.5", - "3.0", - "3.5", - "4.0", - "4.5" -] - added
Input schema / properties / min_rating / titleAdded value: +"Min Rating" - removed
Input schema / properties / min_rating / typeRemoved value: -"string" - added
Input schema / properties / nearby / anyOfAdded value: +[ + { + "type": "boolean" + }, + { + "type": "null" + } +] - added
Input schema / properties / nearby / defaultAdded value: +null - changed
Input schema / properties / nearby / descriptionPrevious value: -"Restrict results to places near the viewport"New value: +"Uses the supplied geography as a nearby-search scope.\n\nRequires ll, location, or a lat/lon pair." - added
Input schema / properties / nearby / titleAdded value: +"Nearby" - removed
Input schema / properties / nearby / typeRemoved value: -"boolean" - added
Input schema / properties / open_at_hour / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / open_at_hour / defaultAdded value: +null - changed
Input schema / properties / open_at_hour / descriptionPrevious value: -"Hour 0-23; requires open_on_day"New value: +"Filters for places open at a specific hour using 24-hour time.\n\nAccepted range: 0 through 23. Requires open_on_day." - removed
Input schema / properties / open_at_hour / maximumRemoved value: -23 - removed
Input schema / properties / open_at_hour / minimumRemoved value: -0 - added
Input schema / properties / open_at_hour / titleAdded value: +"Open At Hour" - removed
Input schema / properties / open_at_hour / typeRemoved value: -"integer" - added
Input schema / properties / open_on_day / anyOfAdded value: +[ + { + "enum": [ + "mon", + "tue", + "wed", + "thu", + "fri", + "sat", + "sun" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / open_on_day / defaultAdded value: +null - added
Input schema / properties / open_on_day / descriptionAdded value: +"Filters for places open on a specific day." - removed
Input schema / properties / open_on_day / enumRemoved value: -[ - "mon", - "tue", - "wed", - "thu", - "fri", - "sat", - "sun" -] - added
Input schema / properties / open_on_day / titleAdded value: +"Open On Day" - removed
Input schema / properties / open_on_day / typeRemoved value: -"string" - added
Input schema / properties / open_state / anyOfAdded value: +[ + { + "enum": [ + "now", + "24h" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / open_state / defaultAdded value: +null - changed
Input schema / properties / open_state / descriptionPrevious value: -"Open now, or open 24 hours; cannot combine with open_on_day"New value: +"Filters by the current open state.\n\nCannot be combined with open_on_day or open_at_hour." - removed
Input schema / properties / open_state / enumRemoved value: -[ - "now", - "24h" -] - added
Input schema / properties / open_state / titleAdded value: +"Open State" - removed
Input schema / properties / open_state / typeRemoved value: -"string" - added
Input schema / properties / place_id / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / place_id / defaultAdded value: +null - changed
Input schema / properties / place_id / descriptionPrevious value: -"Exact place by Google place ID"New value: +"A Google place identifier used to resolve one exact place or request live foot traffic.\n\nCannot be combined with data_cid or exact-place data on the primary Maps endpoint. It is the only required parameter on /api/google/maps/popular-times. Every response is fetched live; places without published data return popular_times: null." - added
Input schema / properties / place_id / titleAdded value: +"Place Id" - removed
Input schema / properties / place_id / typeRemoved value: -"string" - added
Input schema / properties / q / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / q / defaultAdded value: +null - changed
Input schema / properties / q / descriptionPrevious value: -"Search text; required for type=search"New value: +"The business, category, address, or natural-language query to search. Required when type is search.\n\nExamples: coffee shops in Austin, dentist near Denver" - added
Input schema / properties / q / titleAdded value: +"Q" - removed
Input schema / properties / q / typeRemoved value: -"string" - added
Input schema / properties / start / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / start / defaultAdded value: +null - changed
Input schema / properties / start / descriptionPrevious value: -"Native Maps result offset"New value: +"Native Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit.\n\nUse pagination.next when it is present instead of constructing the next request manually." - removed
Input schema / properties / start / minimumRemoved value: -0 - added
Input schema / properties / start / titleAdded value: +"Start" - removed
Input schema / properties / start / typeRemoved value: -"integer" - added
Input schema / properties / type / anyOfAdded value: +[ + { + "enum": [ + "search", + "place" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / type / defaultAdded value: +null - changed
Input schema / properties / type / descriptionPrevious value: -"search (default) for a query, or place for one exact place identified by place_id, data_cid or data"New value: +"Chooses a result search or an exact place response. Required for query and filter searches.\n\nUse place when sending an exact-place data sequence." - removed
Input schema / properties / type / enumRemoved value: -[ - "search", - "place" -] - added
Input schema / properties / type / titleAdded value: +"Type" - removed
Input schema / properties / type / typeRemoved value: -"string" - added
Input schema / properties / z / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / z / defaultAdded value: +null - changed
Input schema / properties / z / descriptionPrevious value: -"Zoom 3-30; use with location or lat/lon"New value: +"Google Maps zoom level for location or lat/lon geography.\n\nAccepted range: 3 through 30. Cannot be combined with m." - removed
Input schema / properties / z / maximumRemoved value: -30 - removed
Input schema / properties / z / minimumRemoved value: -3 - added
Input schema / properties / z / titleAdded value: +"Z" - removed
Input schema / properties / z / typeRemoved value: -"number" - added
Input schema / titleAdded value: +"Request"
- Removed
google_reviews - Changed
google_search154 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / as_dtAdded value: +{ + "anyOf": [ + { + "enum": [ + "i", + "e" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Includes or excludes as_sitesearch.\n\nRequires as_sitesearch.", + "title": "As Dt" +} - added
Input schema / properties / as_epqAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Exact phrase query.", + "title": "As Epq" +} - added
Input schema / properties / as_eqAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Excluded phrase query.", + "title": "As Eq" +} - added
Input schema / properties / as_lqAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Require results that link to this URL.", + "title": "As Lq" +} - added
Input schema / properties / as_nhiAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Inclusive range upper bound.\n\nRequires as_nlo.", + "title": "As Nhi" +} - added
Input schema / properties / as_nloAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Inclusive range lower bound.\n\nRequires as_nhi.", + "title": "As Nlo" +} - added
Input schema / properties / as_oqAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Any-of search terms.", + "title": "As Oq" +} - added
Input schema / properties / as_qAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Additional all-of search terms.", + "title": "As Q" +} - added
Input schema / properties / as_qdr / anyOfAdded value: +[ + { + "pattern": "^[dwmy](?:[1-9][0-9]*)?$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / as_qdr / defaultAdded value: +null - changed
Input schema / properties / as_qdr / descriptionPrevious value: -"Date range: d, w, m or y with an optional count, e.g. d7 for the past week"New value: +"Quick range d, w, m, or y with an optional positive count." - added
Input schema / properties / as_qdr / titleAdded value: +"As Qdr" - removed
Input schema / properties / as_qdr / typeRemoved value: -"string" - added
Input schema / properties / as_rqAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Find pages related to this URL.", + "title": "As Rq" +} - added
Input schema / properties / as_sitesearch / anyOfAdded value: +[ + { + "maxLength": 253, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / as_sitesearch / defaultAdded value: +null - changed
Input schema / properties / as_sitesearch / descriptionPrevious value: -"Restrict results to this hostname"New value: +"Site hostname to include or exclude." - removed
Input schema / properties / as_sitesearch / maxLengthRemoved value: -253 - added
Input schema / properties / as_sitesearch / titleAdded value: +"As Sitesearch" - removed
Input schema / properties / as_sitesearch / typeRemoved value: -"string" - added
Input schema / properties / color_schemeAdded value: +{ + "anyOf": [ + { + "enum": [ + "light", + "dark" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google result color presentation.", + "title": "Color Scheme" +} - added
Input schema / properties / cr / anyOfAdded value: +[ + { + "pattern": "^country[A-Z]{2}(?:\\|country[A-Z]{2})*$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / cr / defaultAdded value: +null - changed
Input schema / properties / cr / descriptionPrevious value: -"Country restrict such as countryUS|countryCA"New value: +"One or more countryXX restrictions joined with |." - added
Input schema / properties / cr / titleAdded value: +"Cr" - removed
Input schema / properties / cr / typeRemoved value: -"string" - added
Input schema / properties / device / defaultAdded value: +"desktop" - changed
Input schema / properties / device / descriptionPrevious value: -"Layout to request; default desktop"New value: +"Request device profile and radius bound." - added
Input schema / properties / device / titleAdded value: +"Device" - added
Input schema / properties / fast_mode / defaultAdded value: +false - changed
Input schema / properties / fast_mode / descriptionPrevious value: -"true returns only organic_results (faster and smaller); skips AI Overview, Knowledge Graph, ads and every other module"New value: +"Return organic results only, skipping AI Overview and all other result groups.\n\nKeeps search metadata and parameters. Omits cross-module position_absolute." - added
Input schema / properties / fast_mode / titleAdded value: +"Fast Mode" - added
Input schema / properties / filter / anyOfAdded value: +[ + { + "enum": [ + "0", + "1" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / filter / defaultAdded value: +null - changed
Input schema / properties / filter / descriptionPrevious value: -"0 disables duplicate-content filtering"New value: +"Google similar-result filtering control." - removed
Input schema / properties / filter / enumRemoved value: -[ - "0", - "1" -] - added
Input schema / properties / filter / titleAdded value: +"Filter" - removed
Input schema / properties / filter / typeRemoved value: -"string" - added
Input schema / properties / gl / anyOfAdded value: +[ + { + "pattern": "^[a-z]{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / gl / defaultAdded value: +null - changed
Input schema / properties / gl / descriptionPrevious value: -"Two-letter country for localization, e.g. \"us\""New value: +"Lowercase two-letter country localization code." - removed
Input schema / properties / gl / maxLengthRemoved value: -2 - removed
Input schema / properties / gl / minLengthRemoved value: -2 - added
Input schema / properties / gl / titleAdded value: +"Gl" - removed
Input schema / properties / gl / typeRemoved value: -"string" - added
Input schema / properties / google_domain / defaultAdded value: +"google.com" - changed
Input schema / properties / google_domain / descriptionPrevious value: -"Google domain such as google.co.uk; default google.com"New value: +"Results use google.com. Use gl, hl, cr, lr or geography for localization." - added
Input schema / properties / google_domain / titleAdded value: +"Google Domain" - added
Input schema / properties / gs_lpAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google gs_lp value associated with an autocomplete selection.", + "title": "Gs Lp" +} - added
Input schema / properties / hl / defaultAdded value: +"en" - changed
Input schema / properties / hl / descriptionPrevious value: -"Language code such as \"en\" or \"en-GB\"; default en"New value: +"Google interface and result language code." - removed
Input schema / properties / hl / maxLengthRemoved value: -10 - removed
Input schema / properties / hl / minLengthRemoved value: -2 - added
Input schema / properties / hl / patternAdded value: +"^[a-z]{2,3}(?:-[A-Za-z]{2,8})?$" - added
Input schema / properties / hl / titleAdded value: +"Hl" - added
Input schema / properties / ibpAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google layout or expansion control.", + "title": "Ibp" +} - added
Input schema / properties / kgmid / anyOfAdded value: +[ + { + "maxLength": 512, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / kgmid / defaultAdded value: +null - changed
Input schema / properties / kgmid / descriptionPrevious value: -"Knowledge Graph machine ID such as /m/0k8z"New value: +"Google Knowledge Graph machine ID, such as /m/0k8z." - added
Input schema / properties / kgmid / titleAdded value: +"Kgmid" - removed
Input schema / properties / kgmid / typeRemoved value: -"string" - added
Input schema / properties / lat / anyOfAdded value: +[ + { + "maximum": 90, + "minimum": -90, + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lat / defaultAdded value: +null - changed
Input schema / properties / lat / descriptionPrevious value: -"Latitude; supply together with lon"New value: +"Latitude from -90 through 90.\n\nRequires lon and conflicts with location and uule." - removed
Input schema / properties / lat / maximumRemoved value: -90 - removed
Input schema / properties / lat / minimumRemoved value: --90 - added
Input schema / properties / lat / titleAdded value: +"Lat" - removed
Input schema / properties / lat / typeRemoved value: -"number" - added
Input schema / properties / location / anyOfAdded value: +[ + { + "maxLength": 512, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / location / defaultAdded value: +null - changed
Input schema / properties / location / descriptionPrevious value: -"Named search origin such as \"Austin, Texas\"; conflicts with uule and lat/lon"New value: +"Human-readable city-level location encoded to UULE by Litescrape.\n\nConflicts with uule and lat/lon." - removed
Input schema / properties / location / maxLengthRemoved value: -512 - added
Input schema / properties / location / titleAdded value: +"Location" - removed
Input schema / properties / location / typeRemoved value: -"string" - added
Input schema / properties / lon / anyOfAdded value: +[ + { + "maximum": 180, + "minimum": -180, + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / lon / defaultAdded value: +null - changed
Input schema / properties / lon / descriptionPrevious value: -"Longitude; supply together with lat"New value: +"Longitude from -180 through 180.\n\nRequires lat and conflicts with location and uule." - removed
Input schema / properties / lon / maximumRemoved value: -180 - removed
Input schema / properties / lon / minimumRemoved value: --180 - added
Input schema / properties / lon / titleAdded value: +"Lon" - removed
Input schema / properties / lon / typeRemoved value: -"number" - added
Input schema / properties / lr / anyOfAdded value: +[ + { + "pattern": "^lang_[a-z]{2,3}(?:\\|lang_[a-z]{2,3})*$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / lr / defaultAdded value: +null - changed
Input schema / properties / lr / descriptionPrevious value: -"Language restrict such as lang_en|lang_fr"New value: +"One or more lang_xx restrictions joined with |." - added
Input schema / properties / lr / titleAdded value: +"Lr" - removed
Input schema / properties / lr / typeRemoved value: -"string" - added
Input schema / properties / lsigAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Opaque Knowledge Graph or local-pack signature.", + "title": "Lsig" +} - added
Input schema / properties / ludocid / anyOfAdded value: +[ + { + "maxLength": 128, + "pattern": "^\\d+$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / ludocid / defaultAdded value: +null - changed
Input schema / properties / ludocid / descriptionPrevious value: -"Google CID of a local entity, for a targeted lookup"New value: +"Google local CID used to search for one entity." - added
Input schema / properties / ludocid / titleAdded value: +"Ludocid" - removed
Input schema / properties / ludocid / typeRemoved value: -"string" - added
Input schema / properties / nfpr / anyOfAdded value: +[ + { + "enum": [ + "0", + "1" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / nfpr / defaultAdded value: +null - changed
Input schema / properties / nfpr / descriptionPrevious value: -"1 disables spelling auto-correction"New value: +"Google auto-correction control." - removed
Input schema / properties / nfpr / enumRemoved value: -[ - "0", - "1" -] - added
Input schema / properties / nfpr / titleAdded value: +"Nfpr" - removed
Input schema / properties / nfpr / typeRemoved value: -"string" - added
Input schema / properties / num / anyOfAdded value: +[ + { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / num / defaultAdded value: +null - changed
Input schema / properties / num / descriptionPrevious value: -"Requested result count, 1-10; Google may return fewer"New value: +"Best-effort first-page result count, 1 to 10." - removed
Input schema / properties / num / maximumRemoved value: -10 - removed
Input schema / properties / num / minimumRemoved value: -1 - added
Input schema / properties / num / titleAdded value: +"Num" - removed
Input schema / properties / num / typeRemoved value: -"integer" - added
Input schema / properties / oqAdded value: +{ + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Original query associated with an autocomplete selection.", + "title": "Oq" +} - added
Input schema / properties / page_tokenAdded value: +{ + "anyOf": [ + { + "maxLength": 32768, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Opaque token from pagination.next_page_token. Send it alone to fetch the next page with the original search parameters.\n\nPrefer page_token to repeating the same search with start=10, start=20, or another offset. Send the token as soon as possible and no later than 5 minutes after receiving it. Available for ordinary Google Search, including fast mode; not available for tbm verticals. search_metadata.continuation is followed for a direct request. If Google omits a required link or the deadline expires, the request fails without billing.", + "title": "Page Token" +} - added
Input schema / properties / peek_pwsAdded value: +{ + "anyOf": [ + { + "enum": [ + "0", + "1" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google personalization peek flag, forwarded unchanged.", + "title": "Peek Pws" +} - added
Input schema / properties / pwsAdded value: +{ + "anyOf": [ + { + "enum": [ + "0", + "1" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google personalization control; 0 asks for non-personalized results.", + "title": "Pws" +} - added
Input schema / properties / q / anyOfAdded value: +[ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / q / defaultAdded value: +null - changed
Input schema / properties / q / descriptionPrevious value: -"Search query; required unless ludocid or kgmid is supplied"New value: +"Google Search query, up to 2,048 characters.\n\nRequired unless ludocid, kgmid, or page_token is supplied." - removed
Input schema / properties / q / maxLengthRemoved value: -2048 - removed
Input schema / properties / q / minLengthRemoved value: -1 - added
Input schema / properties / q / titleAdded value: +"Q" - removed
Input schema / properties / q / typeRemoved value: -"string" - added
Input schema / properties / radius / anyOfAdded value: +[ + { + "maximum": 1000, + "minimum": 1, + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / radius / defaultAdded value: +null - changed
Input schema / properties / radius / descriptionPrevious value: -"Radius in meters around the location or coordinates"New value: +"Decimal search-bias radius in meters.\n\nRequires location or lat/lon. Desktop: 1–199; tablet/mobile: 1–1,000." - removed
Input schema / properties / radius / exclusiveMinimumRemoved value: -0 - added
Input schema / properties / radius / titleAdded value: +"Radius" - removed
Input schema / properties / radius / typeRemoved value: -"number" - added
Input schema / properties / safe / anyOfAdded value: +[ + { + "enum": [ + "active", + "off" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / safe / defaultAdded value: +null - changed
Input schema / properties / safe / descriptionPrevious value: -"SafeSearch"New value: +"Google adult-content filtering." - removed
Input schema / properties / safe / enumRemoved value: -[ - "active", - "off" -] - added
Input schema / properties / safe / titleAdded value: +"Safe" - removed
Input schema / properties / safe / typeRemoved value: -"string" - added
Input schema / properties / sclientAdded value: +{ + "anyOf": [ + { + "maxLength": 64, + "pattern": "^[A-Za-z0-9._-]+$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Google client identifier such as gws-wiz-serp.", + "title": "Sclient" +} - added
Input schema / properties / siAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Opaque cached Google search context.", + "title": "Si" +} - added
Input schema / properties / start / defaultAdded value: +0 - changed
Input schema / properties / start / descriptionPrevious value: -"Result offset for pagination"New value: +"Non-negative Google result offset.\n\nPrefer page_token to repeating the same search with start=10, start=20, or another offset." - added
Input schema / properties / start / titleAdded value: +"Start" - added
Input schema / properties / tbm / anyOfAdded value: +[ + { + "enum": [ + "lcl", + "vid", + "nws", + "shop", + "pts" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / tbm / defaultAdded value: +null - changed
Input schema / properties / tbm / descriptionPrevious value: -"Vertical: lcl local, vid videos, nws news, shop shopping, pts patents"New value: +"Google vertical: lcl, vid, nws, shop, or pts. For image searches, use /api/google/images." - removed
Input schema / properties / tbm / enumRemoved value: -[ - "lcl", - "vid", - "nws", - "shop", - "pts" -] - added
Input schema / properties / tbm / titleAdded value: +"Tbm" - removed
Input schema / properties / tbm / typeRemoved value: -"string" - added
Input schema / properties / tbs / anyOfAdded value: +[ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / tbs / defaultAdded value: +null - changed
Input schema / properties / tbs / descriptionPrevious value: -"Google search-filter string, e.g. qdr:w for the past week"New value: +"Google native date or search filter string." - removed
Input schema / properties / tbs / maxLengthRemoved value: -4096 - added
Input schema / properties / tbs / titleAdded value: +"Tbs" - removed
Input schema / properties / tbs / typeRemoved value: -"string" - added
Input schema / properties / udsAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Opaque Google filter token.", + "title": "Uds" +} - added
Input schema / properties / uule / anyOfAdded value: +[ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / uule / defaultAdded value: +null - changed
Input schema / properties / uule / descriptionPrevious value: -"Pre-encoded Google location token; conflicts with location"New value: +"Pre-encoded Google location value.\n\nConflicts with location and lat/lon." - removed
Input schema / properties / uule / maxLengthRemoved value: -2048 - added
Input schema / properties / uule / titleAdded value: +"Uule" - removed
Input schema / properties / uule / typeRemoved value: -"string" - added
Input schema / titleAdded value: +"GoogleSearch"
- Removed
google_shopping - Removed
search - Removed
web_fetch
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
- SerpWizOAuthcom.serpwiz
Real-time Google Search and Google Maps results as JSON. Pay only for successful searches.
Scraping API for Google Search, Maps, Flights, Jobs, YouTube, LinkedIn, Trustpilot and more.
Scrape Google search results with SERP data, ads, and knowledge panels
Live organic search results from Google, Bing, DuckDuckGo, Yahoo, Brave and Yandex as JSON.
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)945 npm2MIT- AlicenseAqualityDmaintenanceProvides real-time Google search results (organic + knowledge graph) with country targeting, language, time filters, and pagination, at low cost.13 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.35 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.