Skip to main content
Glama

Zenserp MCP by usefulapi

Server Details

Search Google, images, news, maps, shopping, YouTube, jobs, hotels, flights and trends with Zenserp.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
95.7% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A4/5.0

Scored across 19 tools

Disambiguation4/5

The tools are largely distinct: search verticals (image, news, maps, jobs, shopping, video, YouTube) are clearly delineated by result type, and helper tools (list_countries, list_languages, list_search_engines, search_locations, get_status) have non-overlapping purposes. The only mild ambiguity is between the general zenserp_search and the vertical-specific search tools, though the latter's descriptions make the intended use clear.

Naming Consistency5/5

All 19 tools share a uniform zenserp_ prefix and snake_case naming, with predictable suffixes like _search, _list_*, and _get_status. Although not strictly verb_noun, the convention is consistent and immediately readable.

Tool Count3/5

19 tools is on the heavy side for an MCP server; while each likely maps to a distinct Zenserp endpoint, the surface could be consolidated (e.g., a single search tool with a type parameter) to reduce choice overload. The rubric treats 16–25 tools as borderline heavy.

Completeness5/5

The server covers Zenserp's full apparent surface: general web search, all major vertical searches (image, reverse image, news, maps, jobs, shopping, video, YouTube), flights, hotels, trends, answer engine, plus helper lists (countries, languages, engines, locations) and quota status. No core search or lifecycle operation seems missing.

Available Tools

19 tools
zenserp_answer_engineAsk an AI answer engineA
Destructive
Inspect

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.

NameRequiredDescriptionDefault
brandNoA brand name to track: the reply then has a brand_visibility object.
engineYesThe answer engine to ask.
fieldsNoOnly return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.
promptYesThe question or prompt. prompt and additional_prompt together may hold at most 4,096 characters.
countryNoTwo-letter country code to localise the answer, e.g. us.
additional_promptNoAn optional follow-up prompt sent with the main one (counts toward the 4,096-character limit shared with prompt).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the premium cost model, latency of seconds-to-a-minute, quota sensitivity, and plan-gate constraints per engine. It also clarifies the optional brand-tracking behavior and the GET endpoint. These details materially help an agent decide whether the call is worth making.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized: purpose first, then cost/latency cautions, then plan gating, then endpoint. Every sentence adds decision-relevant information, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description adequately explains the main return shape (answer_text plus citations and optional brand_visibility). It also covers the key operational constraints: cost, latency, quota, and plan-gated engine availability. Nothing critical for correct invocation appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description still adds value by mapping the engine enum to plan tiers and by clarifying that passing brand yields a brand_visibility object, which is not fully captured by the schema descriptions. It does not add further meaning for prompt, country, fields, or additional_prompt beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource (send a prompt to an AI answer engine), names the engines, and states the primary return values (answer_text with citations and optional brand visibility). It clearly distinguishes this from the sibling search tools, which cover web, image, video, shopping, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides strong usage context: it warns that quota is spent at a premium per-answer rate, that responses are slow, and that it must not be repeated needlessly. It also explains plan gating by engine. However, it does not explicitly name an alternative tool for when a cheaper or faster search is more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_flightsSearch Google FlightsA
Destructive
Inspect

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.

NameRequiredDescriptionDefault
qNoFree-text flight query, used when no airport codes are given (no dates, no curr).
tfsNoGoogle Flights search string copied from a Google Flights URL (full filters).
currNo3-letter currency code for the prices, e.g. USD.
cacheNotrue = 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.
fieldsNoOnly return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.
originNoDeparture airport code, e.g. JFK. Name one airport, not a city.
destinationNoArrival airport code, e.g. LHR.
return_dateNoReturn date, yyyy-mm-dd. Omit for one-way.
departure_dateNoDeparture date, yyyy-mm-dd. Needs origin and destination.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true); the description adds the material operational fact that each successful call SPENDS 1 request of the monthly quota and that failed calls are not charged. That cost/quota disclosure is genuinely useful and not present in the structured data. It does not explain the surprisingly destructive hint for a GET endpoint, but it does not contradict it either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short clauses, all load-bearing: the resource, the recommended parameter combination, the alternatives, and the cost warning. The quota warning is placed after the usage guidance but before the endpoint, which is a reasonable order, though the trailing 'GET /v1/flights.' adds little for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 optional params, no required fields, no output schema and full schema coverage, the description covers the two things an agent can't infer: the correct input mode and the billing consequence. The only real gap is what the response contains (top-level keys the 'fields' param can trim), which is left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description goes beyond it by stating the cross-parameter rule that 'dates and curr are honoured only then' — i.e. only when origin/destination airport codes are supplied. That conditional interaction is the highest-risk gotcha for this tool and is surfaced explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description plus title make the resource and action unmistakable: it queries Google Flights options, which cleanly separates it from siblings like zenserp_hotels or zenserp_maps_search. The opening 'Google Flights options.' is terse rather than a stated verb, so it stops just short of a 5, but an agent can route to it 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear preferred invocation ('origin and destination as 3-letter airport codes plus departure_date') and explains the two fallback modes (free-text q, or tfs copied from a Google Flights URL). It also warns not to repeat calls needlessly. It stops short of a 5 because it never names a sibling tool as the alternative for non-flight needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_get_statusGet remaining requestsA
Read-only
Inspect

The number of search requests left on this Zenserp key's plan (remaining_requests). Free: it spends no quota. GET /v2/status.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the call consumes no quota, and it exposes the underlying endpoint (GET /v2/status), which helps an agent treat it as a cheap poll.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded clauses: what it returns, what it costs, and the underlying endpoint. No sentence is filler and the key fact (remaining_requests) leads.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing the return value — and it does, naming 'remaining_requests' explicitly. For a zero-parameter, read-only status tool, nothing an agent needs is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to document and the baseline is 4. The description correctly spends its words on the return value instead of inventing parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific resource and return value: the number of search requests remaining on the API key's plan. It is unmistakably distinct from the eighteen sibling search tools, which all consume quota rather than report it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Free: it spends no quota' implies this is a safe pre-flight check to run before paid searches, but the description never explicitly says when to call it or contrasts it with any alternative. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_hotelsSearch Google HotelsA
Destructive
Inspect

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.

NameRequiredDescriptionDefault
qYesHotel name or place, e.g. 'hilton midtown new york'.
glNoCountry (gl), two letters, e.g. us, de, gb. zenserp_list_countries lists the supported codes. Default: United States.
hlNoInterface language (hl), e.g. en, de, pt-BR. zenserp_list_languages lists the supported codes.
cacheNotrue = 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.
adultsNoNumber of adults.
fieldsNoOnly return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.
check_inNoCheck-in date, yyyy-mm-dd. Needs check_out.
childrenNoAges of the children, comma separated, e.g. 4,9 (Google prices by age).
currencyNo3-letter currency code for the prices, e.g. EUR.
check_outNoCheck-out date, yyyy-mm-dd; later than check_in.
free_cancellationNotrue = only properties with free cancellation.
accommodation_typeNoRestrict to hotels or vacation rentals.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior the annotations do not carry: 1 monthly quota request spent per successful call, failed calls are free, and the today's-rates fallback when dates are omitted. It does not reconcile the annotations' destructiveHint=true/openWorldHint=true with what is effectively a billed search, but it does not contradict them either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, quota cost and the date-pairing rule front-loaded ahead of the endpoint. The opening sentence is grammatically awkward ("offers" used as a noun) but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, no-output-schema search tool the description covers the cost model and the one cross-parameter dependency. It never hints at what the reply contains, though the fields parameter description (organic, paid_results, related_searches) partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description earns an extra point by stating the consequence of omitting check_out alongside check_in (fallback to today's rates), which the schema's "Needs check_out" does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the specific resource (Google Hotels offers for a hotel or place) and pins the endpoint (GET /v1/hotels), which distinguishes it from siblings like zenserp_flights, zenserp_maps_search and zenserp_shopping_search. The verb is only implied by "offers" rather than stated as "search," so it falls just short of the crispest form.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operational guidance: send check_in and check_out together or Google falls back to today's rates, and do not repeat a call needlessly because each success burns quota. However, with 18 siblings there is no routing guidance at all, notably nothing distinguishing this from zenserp_maps_search for a hotel lookup or from zenserp_search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_list_countriesList countries (gl)A
Read-only
Inspect

The supported country codes (values for gl). GET /v2/gl.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the underlying endpoint (GET /v2/gl), which is mild context and does not disclose return shape or sizing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three terse fragments with the key information front-loaded and zero filler. Nothing is wasted for a simple reference tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param list endpoint with no output schema, the description conveys what is returned and how it is used. It would be stronger with a note on the return format (e.g., list of code/name pairs), but it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the baseline is 4. The description does tie the output to the 'gl' parameter semantics, adding useful meaning about how the returned codes are consumed, though it gives no example values or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (supported country codes) and its role (values for gl). It is distinguishable from sibling zenserp_list_languages, though it relies on the title for the 'list' framing rather than a verb in the description itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: these are the values to feed into the 'gl' parameter of the search tools. However, there is no explicit statement of when to call this versus looking values up elsewhere, and no mention of related siblings like list_languages.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_list_languagesList languages (hl)A
Read-only
Inspect

The supported interface language codes (values for hl). GET /v2/hl.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the endpoint path but says nothing about the shape of the returned list. Adequate given annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short fragments, front-loaded with the resource and the consuming parameter. Efficient, though fragmentary phrasing leaves no room for return-shape guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A parameterless lookup with no output schema; the description states what the values are for and where they come from. Minor gap: it doesn't describe the item format of the returned list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so baseline is 4 per rubric. The description usefully names hl as the parameter this enumeration feeds, exceeding the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the resource precisely (interface language codes) and ties it to the hl parameter, plus the underlying endpoint. Distinguishable from siblings like list_countries and list_search_engines only via the name, not explicit contrast, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies clear use: call this to discover the valid values for the hl parameter. No explicit when-not or named alternatives, but context is unambiguous for a static enumerator.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_list_search_enginesList search enginesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the exact GET endpoint and, importantly, a cost caveat noting that the docs do not clarify whether these helper lists are billed (though they are not searches). That billing note is real context an agent would not otherwise have.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short clauses, front-loaded with the purpose and the parameter linkage before the endpoint and cost note. Tight and waste-free, though the opening fragment is slightly telegraphic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial no-parameter, no-output-schema list endpoint, the description supplies purpose, the underlying route, and a billing caveat, which is nearly everything an agent needs. Nothing essential is missing, though the return shape is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description still earns that level by connecting the returned values to the search_engine parameter consumed elsewhere, giving the output meaning relative to the rest of the API.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (search engine hosts Zenserp supports) and explicitly ties it to its downstream use (values for search_engine). This distinguishes it from sibling list tools like list_countries and list_languages, which enumerate different domains. It stops just short of 5 because the phrasing is a sentence fragment rather than a clean verb+resource statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(values for search_engine)' implicitly tells the agent this is the endpoint to consult before setting the search_engine parameter, which is useful guidance. However, there is no explicit when-to-use or when-not-to-use framing, and no mention of alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_search_locationsSearch geo locationsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
limitNoMost entries returned (default 50).
queryNoKeep only entries whose text contains this (case-insensitive), e.g. 'vienna'.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the result set is very large ('The list is long') and should be narrowed with query/limit, which an agent cannot infer from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool returns before the usage advice. The trailing 'GET /v2/locations' is mildly redundant metadata but does not bloat the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, annotation-covered, two-parameter lookup with no output schema, the description covers what is returned, why the result is large, and how to narrow it. Only the relationship to the sibling reference-list tools is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters, including the example 'vienna' and the match semantics. The description's 'keep only entries that contain it' and 'cap the count' essentially restate the schema, adding little beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States precisely what the tool returns (Google's canonical geo locations) and, crucially, its role as the source of valid values for the `location` parameter used by the search tools. That ties it to a concrete consumer and separates it from sibling lookup tools like list_countries or list_languages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains how to use it ('pass query to keep only entries that contain it, and limit to cap the count'), which is real operational guidance. It implies the context (fetch valid location values) but never explicitly contrasts with the other reference-list siblings, so it stops short of full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zenserp_shopping_productGet Google Shopping product pageA
Destructive
Inspect

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.

NameRequiredDescriptionDefault
cacheNotrue = 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.
fieldsNoOnly return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.
gpc_idNoThe Google Product Cluster id from the same search result (only valid together with its product_id).
locationNoGeolocation 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.
product_idYesThe product id (PID) from a Google Shopping search result.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations present but the description disclosing the cost model ('SPENDS 1 request of the monthly quota per successful call (failed calls are not charged)'), this adds real context beyond the hints. The destructiveHint/readOnlyHint=true-false pair looks miscalibrated for a 'GET /v1/shopping' fetch, but the description's irreversible-quota framing explains why the call is treated as costly rather than claiming any data mutation, so it does not contradict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences plus the endpoint path, front-loaded with what is returned and what the IDs are, then the cost warning. No filler; each clause carries information an agent needs before calling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return-value burden and does state the returned shape (description, offers, variations). Combined with 100% schema coverage of all five parameters, an agent has what it needs; only response envelope details (paging/shape beyond the listed keys) are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds cross-parameter meaning: gpc_id only makes sense paired with product_id and expands the result to 'the whole product cluster across merchants'. That interaction is not spelled out as clearly in the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource and its payload ('Product page data from Google Shopping: description, merchant offers, variations') and explicitly contrasts itself with the sibling zenserp_shopping_search by saying the IDs come from there. An agent can distinguish this from the search tool without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear provenance for inputs ('product_id comes from zenserp_shopping_search', 'gpc_id ... from the same result') and an operational rule ('do not repeat a call needlessly'). It stops short of an explicit when-not/alternative branch, but the routing context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Live search on six engines (Google, Bing, Yandex, Baidu, DuckDuckGo, Ecosia), image search and single/batch page extraction for AI agents. Keeps source engine and rank. Runs against a self-hosted OpenSERP server or OpenSERP Cloud.
    8
    10
    993 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides real-time Google search results (organic + knowledge graph) with country targeting, language, time filters, and pagination, at low cost.
    1
    8 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables searching Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay and many other engines for real-time results like organic listings, news, images, shopping, weather and stock data, returned as JSON or Markdown. Also offers optional tools that render results as an interactive table or dashboard in supporting hosts.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables querying Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay and many other engines to retrieve organic results, news, images, shopping, weather and stock data in real time. Returns structured JSON or token-efficient Markdown, with optional interactive table and dashboard views.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.