Zenserp MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Search Google, images, news, maps, shopping, YouTube, jobs, hotels, flights and trends with Zenserp.
19 tools: 14 can delete or cancel things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels14Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads5Claude Code: allow: see these tools
9 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http zenserp https://zenserp.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnzenserp_search
The server marks "zenserp_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_search" says "search": a word for reading.
The server marks "zenserp_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_image_search" says "search": a word for reading.
The server marks "zenserp_news_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_news_search" says "search": a word for reading.
The server marks "zenserp_video_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_video_search" says "search": a word for reading.
The server marks "zenserp_maps_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_maps_search" says "search": a word for reading.
The server marks "zenserp_shopping_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_shopping_search" says "search": a word for reading.
Show 3 more findingsShow fewer
The server marks "zenserp_youtube_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_youtube_search" says "search": a word for reading.
The server marks "zenserp_reverse_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_reverse_image_search" says "search": a word for reading.
The server marks "zenserp_jobs_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_jobs_search" says "search": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
19 tools
Deletes or cancels 14Claude Code: deny
zenserp_answer_engineSend 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 ci…No findings
Why it is in this group
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Ask an AI answer engine
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_flightsGoogle Flights options.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Search Google Flights
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_hotelsGoogle Hotels offers for a hotel or place.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Search Google Hotels
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_image_searchGoogle image results (thumbnails, source pages, sizes).1 finding
Why it is in this group
- The name "zenserp_image_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_image_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google Images
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_jobs_searchGoogle Jobs listings for a query (jobs_results: title, company, location, source, apply url).1 finding
Why it is in this group
- The name "zenserp_jobs_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_jobs_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_jobs_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google Jobs
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_maps_searchGoogle local/maps results: shops, cafes and other businesses with address, rating, phone and coordinates.1 finding
Why it is in this group
- The name "zenserp_maps_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_maps_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_maps_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google local and maps
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_news_searchGoogle News results for a query: title, source, date, snippet.1 finding
Why it is in this group
- The name "zenserp_news_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_news_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_news_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google News
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_reverse_image_searchPages and sources that contain a given image (Google reverse image search).1 finding
Why it is in this group
- The name "zenserp_reverse_image_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_reverse_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_reverse_image_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Reverse image search
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_searchLive search-engine result page as JSON: organic results, ads (paid_results), featured snippets, related questions and searches, knowledge graph.1 finding
Why it is in this group
- The name "zenserp_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_search" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Search the web
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_shopping_productProduct page data from Google Shopping: description, merchant offers, variations.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Get Google Shopping product page
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_shopping_searchGoogle Shopping listings for a query: product, price, merchant, rating, and the product_id for zenserp_shopping_product.1 finding
Why it is in this group
- The name "zenserp_shopping_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_shopping_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_shopping_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google Shopping
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_trendsTrending searches from Google Trends for a country, optionally narrowed to given keywords or a category.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Get Google Trends
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_video_searchGoogle video results for a query (title, channel, length, link).1 finding
Why it is in this group
- The name "zenserp_video_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_video_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_video_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search Google Videos
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
zenserp_youtube_searchYouTube search results (videos, channels, ads) for a query, optionally by location.1 finding
Why it is in this group
- The name "zenserp_youtube_search" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "zenserp_youtube_search" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_youtube_search" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Search YouTube
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
Only reads 5Claude Code: allow
zenserp_get_statusThe number of search requests left on this Zenserp key's plan (remaining_requests).No findings
Why it is in this group
- The name "zenserp_get_status" says "get": a word for reading.
Description, as the server wrote it The number of search requests left on this Zenserp key's plan (remaining_requests). Free: it spends no quota. GET /v2/status.
Annotations the server declares
- title: Get remaining requests
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
zenserp_list_countriesThe supported country codes (values for gl).No findings
Why it is in this group
- The name "zenserp_list_countries" says "list": a word for reading.
Description, as the server wrote it The supported country codes (values for gl). GET /v2/gl.
Annotations the server declares
- title: List countries
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
zenserp_list_languagesThe supported interface language codes (values for hl).No findings
Why it is in this group
- The name "zenserp_list_languages" says "list": a word for reading.
Description, as the server wrote it The supported interface language codes (values for hl). GET /v2/hl.
Annotations the server declares
- title: List languages
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
zenserp_list_search_enginesThe search engine hosts Zenserp supports (values for search_engine).No findings
Why it is in this group
- The name "zenserp_list_search_engines" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List search engines
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
zenserp_search_locationsThe supported geo locations (values for location), as Google's canonical names.No findings
Why it is in this group
- The name "zenserp_search_locations" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Search geo locations
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http zenserp https://zenserp.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__zenserp__zenserp_get_status",
"mcp__zenserp__zenserp_list_search_engines",
"mcp__zenserp__zenserp_list_languages",
"mcp__zenserp__zenserp_list_countries",
"mcp__zenserp__zenserp_search_locations"
],
"ask": [],
"deny": [
"mcp__zenserp__zenserp_search",
"mcp__zenserp__zenserp_image_search",
"mcp__zenserp__zenserp_news_search",
"mcp__zenserp__zenserp_video_search",
"mcp__zenserp__zenserp_maps_search",
"mcp__zenserp__zenserp_shopping_search",
"mcp__zenserp__zenserp_youtube_search",
"mcp__zenserp__zenserp_reverse_image_search",
"mcp__zenserp__zenserp_jobs_search",
"mcp__zenserp__zenserp_shopping_product",
"mcp__zenserp__zenserp_hotels",
"mcp__zenserp__zenserp_flights",
"mcp__zenserp__zenserp_trends",
"mcp__zenserp__zenserp_answer_engine"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as zenserp. Review it before you use it.