← The evidence ledger
Evidence row 301654
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5b42ba54-2ebf-40b1-b42c-eadc10c31cc7
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 20711205e0430821ff8f7124aa8a7765eaaefd13674bb3bb8ac75360b7060bbc
- Leaf
- 0x7d8646064fcf26bbe3fbf572f8cabc1b62424c1187fd0c369f63a7293ca13cf0
What was observed
{
"count": 19,
"tools": [
{
"description": "Send a prompt to an AI answer engine (ChatGPT, Perplexity, Gemini or Copilot) and get its answer_text with citations; with brand it also reports whether and where that brand was cited. SPENDS quota at Zenserp's premium per-answer rate (see Zenserp pricing), is slow (seconds to a minute), and must not be repeated needlessly. Plan gate: Medium unlocks ChatGPT, Large adds Perplexity, Premium adds Gemini, Enterprise adds Copilot. GET /v1/answer-engine.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"additional_prompt": {
"description": "An optional follow-up prompt sent with the main one (counts toward the 4,096-character limit shared with prompt).",
"maxLength": 4096,
"minLength": 1,
"type": "string"
},
"brand": {
"description": "A brand name to track: the reply then has a brand_visibility object.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"country": {
"description": "Two-letter country code to localise the answer, e.g. us.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"engine": {
"description": "The answer engine to ask.",
"enum": [
"chatgpt",
"perplexity",
"gemini",
"copilot"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"prompt": {
"description": "The question or prompt. prompt and additional_prompt together may hold at most 4,096 characters.",
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"engine",
"prompt"
],
"type": "object"
},
"name": "zenserp_answer_engine"
},
{
"description": "Google Flights options. Best: origin and destination as 3-letter airport codes plus departure_date (dates and curr are honoured only then). A free-text q or a tfs string from a Google Flights URL also works. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v1/flights.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"curr": {
"description": "3-letter currency code for the prices, e.g. USD.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"departure_date": {
"description": "Departure date, yyyy-mm-dd. Needs origin and destination.",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"destination": {
"description": "Arrival airport code, e.g. LHR.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"origin": {
"description": "Departure airport code, e.g. JFK. Name one airport, not a city.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"q": {
"description": "Free-text flight query, used when no airport codes are given (no dates, no curr).",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"return_date": {
"description": "Return date, yyyy-mm-dd. Omit for one-way.",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"tfs": {
"description": "Google Flights search string copied from a Google Flights URL (full filters).",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "zenserp_flights"
},
{
"description": "The number of search requests left on this Zenserp key's plan (remaining_requests). Free: it spends no quota. GET /v2/status.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "zenserp_get_status"
},
{
"description": "Google Hotels offers for a hotel or place. Send check_in and check_out together, or Google falls back to today's rates. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v1/hotels.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"accommodation_type": {
"description": "Restrict to hotels or vacation rentals.",
"enum": [
"hotels",
"vacation_rentals"
],
"type": "string"
},
"adults": {
"description": "Number of adults.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"check_in": {
"description": "Check-in date, yyyy-mm-dd. Needs check_out.",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"check_out": {
"description": "Check-out date, yyyy-mm-dd; later than check_in.",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"children": {
"description": "Ages of the children, comma separated, e.g. 4,9 (Google prices by age).",
"pattern": "^\\d{1,2}(,\\d{1,2}){0,9}$",
"type": "string"
},
"currency": {
"description": "3-letter currency code for the prices, e.g. EUR.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"free_cancellation": {
"description": "true = only properties with free cancellation.",
"type": "boolean"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"q": {
"description": "Hotel name or place, e.g. 'hilton midtown new york'.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_hotels"
},
{
"description": "Google image results (thumbnails, source pages, sizes). SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. Each page holds 100 images. GET /v2/search (tbm=isch).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"ijn": {
"description": "Image page number, 100 images per page; per the docs, images 101-200 = ijn 2. Omit for the first page.",
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_image_search"
},
{
"description": "Google Jobs listings for a query (jobs_results: title, company, location, source, apply url). Google returns one page; there is no paging. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (ibp=htl;jobs).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"q": {
"description": "The job query, e.g. 'php developer'.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_jobs_search"
},
{
"description": "The supported country codes (values for gl). GET /v2/gl.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "zenserp_list_countries"
},
{
"description": "The supported interface language codes (values for hl). GET /v2/hl.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "zenserp_list_languages"
},
{
"description": "The search engine hosts Zenserp supports (values for search_engine). GET /v2/search_engines. The docs do not say whether helper lists are charged; they are not searches.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "zenserp_list_search_engines"
},
{
"description": "Google local/maps results: shops, cafes and other businesses with address, rating, phone and coordinates. Set location for accurate results. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (tbm=lcl).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_maps_search"
},
{
"description": "Google News results for a query: title, source, date, snippet. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (tbm=nws).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_news_search"
},
{
"description": "Pages and sources that contain a given image (Google reverse image search). SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (image_url).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"image_url": {
"description": "Public URL of the image.",
"maxLength": 2000,
"pattern": "^https?:\\/\\/",
"type": "string"
}
},
"required": [
"image_url"
],
"type": "object"
},
"name": "zenserp_reverse_image_search"
},
{
"description": "Live search-engine result page as JSON: organic results, ads (paid_results), featured snippets, related questions and searches, knowledge graph. Google by default; set search_engine for Bing, Yandex or DuckDuckGo. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. ai_overview=true also returns Google's AI Overview and costs 3 requests when one is returned (Small plan or higher). GET /v2/search.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ai_overview": {
"description": "true = also extract Google's AI Overview (3 requests when returned, otherwise 1; slower; Google only; Small plan or higher).",
"type": "boolean"
},
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query; search operators such as site: and intitle: work.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"search_engine": {
"description": "Search engine host, e.g. google.com (default), google.de, bing.com, yandex.com, duckduckgo.com. zenserp_list_search_engines lists them.",
"pattern": "^(?:[a-z0-9-]+\\.)+[a-z]{2,24}$",
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_search"
},
{
"description": "The supported geo locations (values for location), as Google's canonical names. The list is long: pass query to keep only entries that contain it, and limit to cap the count. GET /v2/locations.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"description": "Most entries returned (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Keep only entries whose text contains this (case-insensitive), e.g. 'vienna'.",
"maxLength": 100,
"minLength": 2,
"type": "string"
}
},
"type": "object"
},
"name": "zenserp_search_locations"
},
{
"description": "Product page data from Google Shopping: description, merchant offers, variations. product_id comes from zenserp_shopping_search. With gpc_id (from the same result) it returns the whole product cluster across merchants. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v1/shopping.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gpc_id": {
"description": "The Google Product Cluster id from the same search result (only valid together with its product_id).",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"product_id": {
"description": "The product id (PID) from a Google Shopping search result.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "zenserp_shopping_product"
},
{
"description": "Google Shopping listings for a query: product, price, merchant, rating, and the product_id for zenserp_shopping_product. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (tbm=shop).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_shopping_search"
},
{
"description": "Trending searches from Google Trends for a country, optionally narrowed to given keywords or a category. Trending data covers at most the past 7 days. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v1/trends.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"cat": {
"description": "Google Trends category id, e.g. 16 News, 7 Finance, 18 Shopping, 20 Sports, 5 Computers & Electronics, 45 Health.",
"maximum": 2000,
"minimum": 0,
"type": "integer"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"geo": {
"description": "Country code, e.g. US.",
"pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$",
"type": "string"
},
"keyword": {
"description": "Only trends matching these terms (and their related queries). A term that is not trending returns no rows.",
"items": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"timeframe": {
"description": "Window; longer ones all return the same 7-day window for trending searches.",
"enum": [
"now 1-H",
"now 4-H",
"now 1-d",
"now 7-d",
"today 1-m",
"today 3-m",
"today 12-m",
"today 5-y"
],
"type": "string"
}
},
"type": "object"
},
"name": "zenserp_trends"
},
{
"description": "Google video results for a query (title, channel, length, link). SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (tbm=vid).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"device": {
"description": "Device to emulate.",
"enum": [
"desktop",
"mobile"
],
"type": "string"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"lr": {
"description": "Limit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.",
"pattern": "^lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?(\\|lang_[A-Za-z]{2,3}(-[A-Za-z]{2,4})?){0,9}$",
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"start": {
"description": "Result offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.",
"maximum": 990,
"minimum": 0,
"type": "integer"
},
"tbs": {
"description": "Google 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_video_search"
},
{
"description": "YouTube search results (videos, channels, ads) for a query, optionally by location. SPENDS 1 request of the monthly quota per successful call (failed calls are not charged); do not repeat a call needlessly. GET /v2/search (search_engine=youtube.com).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cache": {
"description": "true = serve a stored copy when one exists (kept 24 h, NOT charged) and store the reply when not. Default false: every call is fetched live and charged.",
"type": "boolean"
},
"fields": {
"description": "Only return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"gl": {
"description": "Country (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.",
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"hl": {
"description": "Interface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.",
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})?$",
"type": "string"
},
"location": {
"description": "Geolocation of the search, in Google's canonical form, e.g. 'Manhattan,New York,United States' (see zenserp_search_locations). Set it when the result depends on place, especially ads.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"q": {
"description": "The query.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"sp": {
"description": "YouTube 'sp' filter or pagination token, as used on youtube.com.",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "zenserp_youtube_search"
}
]
}What the leaf hashes
{"body":"20711205e0430821ff8f7124aa8a7765eaaefd13674bb3bb8ac75360b7060bbc","id":301654,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793054206696487,"prev":null,"subject":"5b42ba54-2ebf-40b1-b42c-eadc10c31cc7","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x7d86aa575991767e533c439e8d15eeddd475197aae01d44da9a0cf875ae22c89
- 0x95f260c038c778f222e5bb4e2f8903d40e0626468ebba637bac3b0660cb64816
- 0xa04f2b80645869e8cff809b0cf76e55cd205a73d164e61523492527d7f28150f
- 0xe0d6c4dc02f9f343562379ecfec25578fa2b299bde87a97433e0b70d406fb1a5
- 0x001a78ed2a0b932990bbe2278877dc67b0394c0ce0d50bb4380b7db642780ace
- 0x15deb2e4df3b8edb136025922f5c15b795ade75f4230288627bebdb4ca85352d
- 0x3cfaa9ecf6352828d623772da8a2b5f619781837523f8be10518b81ee06b854d
- 0x554a713647bc995965776cf679c1fd96d8e25c5ed87334122fddf04166bdec0f
- 0xf0c521c76e6895a1d4c2d0bc9b57bf3c58f99d0a19c1129adb4684fbf86456ae
- 0x9fa5dbe99ca21068042ed16a3612abec879ae9bc437beeaf788519de22645918
- 0xaf10e841089e5989890dc77ffce42a46564d25ef15f30d1e35bf53a495483ad4
- 0xab729e4203b650f2a3c15efd6fd44eb2482232373bc1de662fd9d496869eb2d3
- 0x0bffb634300aa5609bddaa79e8d31d7cde36c0a5a4465472f809b9f5287e40d2
- 0x7721d38652b6444b18e1193824e50490ade04851ce6221771f6e374c4527d80f
- 0x15039087bf60ae9b06b756ec3cbc299760e59923a438bbd91e34d105186db0ed
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae