Skip to main content
Glama

Zenserp MCP by usefulapi

Search the web (SERP)

zenserp_search
Destructive

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.

Input Schema

NameRequiredDescriptionDefault
qYesThe query; search operators such as site: and intitle: work.
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.
lrNoLimit results to these languages (lr), prefixed with lang_ and joined by |, e.g. lang_fr.
tbsNoGoogle 'tbs' filter string for what the query field cannot express, e.g. qdr:w (past week).
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.
startNoResult offset: 0 (default) first page, 10 second page, 20 third page ... Google serves about 300 results per query.
deviceNoDevice to emulate.
fieldsNoOnly return these top-level keys of the reply (for example organic, paid_results, related_searches). Saves context; the call is charged the same.
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.
ai_overviewNotrue = also extract Google's AI Overview (3 requests when returned, otherwise 1; slower; Google only; Small plan or higher).
search_engineNoSearch engine host, e.g. google.com (default), google.de, bing.com, yandex.com, duckduckgo.com. zenserp_list_search_engines lists them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations it discloses quota economics (1 request per successful call, failures not charged, ai_overview costs 3 when returned), plan requirements, and the cache side effect (stored reply kept 24h, not charged). This explains the non-readonly, non-idempotent side effects the annotations only imply.

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?

Tight and front-loaded with the payload description first, then engine selection, then cost warnings. The semicolon-packed sentences are dense but every clause carries information; slightly telegraphic in places.

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 compensates by naming the top-level response sections an agent will receive, and it covers the operational context (quota, caching, plan tiers) needed to call this tool responsibly. Nothing material is missing for a 12-param, 1-required search tool.

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, but the description adds value the schema does not: default engine behavior, the fact that search_engine accepts alternative hosts, and the ai_overview cost/plan condition. Other params (gl, hl, start, fields) are left to the schema.

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 a specific verb+resource ('Live search-engine result page as JSON') and enumerates the returned sections (organic, paid_results, snippets, related questions/searches, knowledge graph), which distinguishes it from siblings like zenserp_image_search or zenserp_news_search. Engine selection semantics are also spelled out.

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?

Gives clear operative guidance: default engine is Google, set search_engine for Bing/Yandex/DuckDuckGo, and 'do not repeat a call needlessly' because each success spends quota, plus the ai_overview plan gate. It does not, however, route the agent to more specialized siblings (image, news, shopping) when those would be the better fit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.