Skip to content

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.

Deletes · 14

19 tools: 14 can delete or cancel things and 5 only read.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

9 warn
  • The server marks "zenserp_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_image_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_news_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_news_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_video_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_video_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_maps_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_maps_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_shopping_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_shopping_search" says "search": a word for reading.

    What this check looks for
Show 3 more findings
  • The server marks "zenserp_youtube_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_youtube_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_reverse_image_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_reverse_image_search" says "search": a word for reading.

    What this check looks for
  • The server marks "zenserp_jobs_search" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "zenserp_jobs_search" says "search": a word for reading.

    What this check looks for

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_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
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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.