"A search engine that searches multiple other search engines" matching MCP tools:
- Universal search tool supporting all SerpApi engines and result types. When to use: - Any query needing live, structured SERP data: web results, news, product listings, job postings, local businesses, flight/hotel prices, video results, images, stock/weather cards, knowledge graph entities. Engine discovery via MCP resources: - serpapi://engines lists all engines supported by this tool. - serpapi://engines/<engine> provides engine-specific parameters and supported options. - Example: serpapi://engines/google_news Input schema: params: JSON object containing SerpApi engine parameters. Common parameters: - q: Search query. Required for most engines. - engine: SerpApi engine name. Defaults to "google_light". - location: Optional geographic location for localized results. - output: Optional response format. Omit for JSON (default), or set to "md" for Markdown. Engine-specific parameters are available via MCP resources: - serpapi://engines lists all supported engines. - serpapi://engines/<engine> provides parameters and options for one engine. mode: Response mode. Defaults to "complete". - "complete": Return the full SerpApi response. - "compact": Remove metadata fields from JSON responses. Markdown is returned unchanged. Output schema: structuredContent.result contains the response string: serialized JSON or unchanged Markdown. The same string is included in text content. Tool failures preserve this wrapper and set isError to true. Guided search: Searches can request missing engine parameters from supporting clients using the engine catalog and engine-specific rules. Flights collect airports and dates, hotels collect the destination and stay dates, and directions collect missing endpoints. Other clients receive a missing-parameter error. Cancellation does not run a search. Examples: Weather: {"params": {"q": "weather in London", "engine": "google"}, "mode": "complete"} Stock: {"params": {"q": "AAPL stock", "engine": "google"}, "mode": "complete"} General: {"params": {"q": "coffee shops", "engine": "google_light", "location": "Austin, TX"}, "mode": "complete"} Compact: {"params": {"q": "news"}, "mode": "compact"} Markdown: {"params": {"q": "news", "output": "md"}} Supported engines include (not limited to): - google - google_light - google_flights - google_hotels - google_images - google_news - google_local - google_shopping - google_jobs - bing - yahoo - duckduckgo - youtube_search - baidu - ebayConnectorNo auth
- Multi-engine web search (metasearch). One search query fanned out across 2-3 search engines (Brave, Yahoo, Yandex) with results deduplicated by URL and merged by reciprocal-rank fusion: consensus ranking across engines instead of one engine's bias, with per-engine rank attribution on every result. [$0.05/call]. Params — q: search query; engines: comma list of 2-3 engines: yahoo, yandex (web mode). news mode has a single live engine (bing), so multi-engine is web-only; num_results: max results per engine, cap 25; region: locale, e.g. us-en, uk-en, de-de; timelimit: restrict to past day/week/month/year (d|w|m|y); safesearch: string (on|moderate|off); mode: string (web|news) Example params: {'q': 'best vector database 2026', 'engines': 'yahoo,yandex'}ConnectorNo auth
- Fan a query out across multiple AI engines and report per-URL cross-engine consensus. Returns each unique cited URL with the list of engines that cited it, plus a consensus_urls list (URLs cited by ALL engines). High engine_count = strong cross-engine citation signal; engine_count=1 = engine-specific.ConnectorNo auth
- Web search across multiple engines (Google, Bing, DuckDuckGo, Brave). Costs $0.01 (USDC, Base). Returns JSON results: title, url, snippet, engine.ConnectorNo auth
- Search VFB terms. This is the search virtualflybrain.org itself runs — the same Solr query, the same ranking — so what comes back first here is what a user would see first on the site. USE filter_types BY DEFAULT. Unfiltered searches mix scRNAseq artifacts and developmental stages in with the entity the user wants. Common filter_types recipes: - Neuron classes: ["neuron", "class"] - Individual neurons with images: ["neuron", "has_image"] - Neurons with connectome data: ["neuron", "has_neuron_connectivity"] - Brain regions / neuropils: ["anatomy"] - Genes: ["gene"] - Driver lines / expression patterns: ["expression_pattern"] - Datasets: ["dataset"] There are over 200 type names and they change as data is added, so do NOT guess them: call list_search_facets to see the current vocabulary (optionally filtered, e.g. contains="lineage"). Names are matched case- and separator-insensitively, and a name that does not exist is an error with suggestions rather than a silently empty result. Deprecated terms are excluded by the search itself — you do not need exclude_types: ["deprecated"], and adding it is harmless but pointless. Stage filtering: VFB covers adult, larval, and embryonic data, and many anatomical FBbt classes are stage-agnostic. Do NOT add "adult" or "larva" to filter_types by default — only add them when the user is explicit about a stage (e.g. "adult Kenyon cells", "larval mushroom body"). Default searches should leave stage out so stage-agnostic classes and all life stages are visible. Useful flags: - unique=true (the default) → one row per term. Turn it OFF only when you need to see WHICH synonym matched; with unique=false a term appears once per matching synonym, so "Kenyon cell" can return the same ID several times. - minimize_results=true → top 10, essential fields only, for exploratory searches. - auto_fetch_term_info=true → if an exact label match is found, returns get_term_info in the same response. - boost_types=["has_image", "has_neuron_connectivity"] → float data-rich entities to the top of the list without excluding anything else. - demote_types=["expression_pattern_fragment"] → sink noisy types to the bottom of the list instead of removing them. If the search returns no good matches, do NOT fall back to training-data answers — try alternative spellings, synonyms, broader terms, or different filter_types. Multiple filter_types are ANDed (results must match ALL). Multiple exclude_types are ORed (any match excludes). boost_types and demote_types re-order without excluding; boost wins if a term matches both.ConnectorNo auth
- Runs a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinated class expansion, foreign-equivalent translation and design codes, scored for mark similarity and commercial overlap. Returns results grouped into four risk tiers (very high, high, medium, low) with confusion scores, a four-level headline verdict (critical conflicts, elevated risk, moderate risk, low risk) with a one-line reason, and a sample of dead marks in the same naming territory. goods_description, when supplied, is scored for goods and services relatedness; without it, scoring uses classes only, which understates conflicts between related goods in different classes. owner_name adds the applicant's existing marks in the searched classes. It searches trademarks only, not domains or web use; check_brand_availability covers domains. Most searches finish in under a minute. Requires a signed-in GleanMark account.ConnectorNo auth
Matching MCP Servers
- FlicenseAqualityDmaintenanceEnables searching documentation from GitHub repositories and web pages via MCP tools, with in-memory indexing and caching for fast retrieval.3-
- AlicenseNot gradedqualityBmaintenanceEnables AI to perform fast, multi-source web searches and research through tools for web, social, news, GitHub, and document analysis.MIT
Matching MCP Connectors
Google is not the whole market. Your agent needs Bing, Yahoo, Baidu, Naver, Seznam and YouTube results — the engines that decide whether you exist in China, Korea, Japan or Central Europe. **What you can ask for** • "What ranks for this term on Baidu, and how different is it from Google?" • "Check Naver results for our Korean brand name." • "Compare Bing and Yahoo results for the same query." • "What comes up on YouTube search for this phrase in Japanese?" • "Take a screenshot of the results page as a user there sees it." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-serp-other-engines/mcp and sign in with OAuth — there is no key to create or paste. 34 tools: organic results from Bing, Yahoo, Baidu, Naver and Seznam in live, regular and raw-HTML forms, YouTube search, an AI summary of a result set, and a rendered screenshot. **Why this rather than the source** The engines that matter outside the US, with the same call shape as the Google ones. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Check the local engine here, then ask the same agent what the site's traffic or backlinks look like in that market — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo-serp/mcp for Google itself. https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Web search for AI agents. Ranked results with page passages already extracted, plus URL to markdown.
- Search Helium's balanced news stories — AI-synthesized articles that aggregate multiple sources. Unlike search_news (which returns individual RSS articles), this returns Helium's own synthesized stories: each one draws from multiple sources and includes an AI-written summary, takeaway, context, evidence breakdown, potential outcomes, and relevant tickers. Returns a list of stories, each with: - title, simple_title, date, category - page_url: full URL to the story on heliumtrades.com - image: story image URL (when available) - summary: Helium's synthesized overview - takeaway: key conclusion - context: background context - evidence: numbered evidence items - potential_outcomes: forward-looking outcomes with probabilities - relevant_tickers: related stock tickers - num_sources: number of source articles synthesized - rank: search relevance score Args: query: Search keywords (required). limit: Max results (1-50, default 10). category: Filter by category. One of: 'tech', 'politics', 'markets', 'business', 'science'. days_back: Only include stories from the last N days. 0 means no date filter.ConnectorNo auth
- Pro-tier. Fetch two web pages (your URL and a competitor's) and audit both against the Proximens GEO Engine principles using the same audit engine as audit_url, then compute the delta. INPUT: self_url and competitor_url (both required, http/https). RETURNS: JSON with a 0-100 score per URL (same scoring as audit_url), the principles each page satisfies, the principles each page VIOLATES that the other satisfies (delta_principles), and strategic insights on where to close the gap. USE WHEN you want a competitive GEO gap analysis between your page and a rival's.ConnectorNo auth
- Every search saved against this token, with whether it is currently matching. Call it to find the slug delete_saved_search needs, to check that a search you saved is actually running, or to see what you had before deciding whether to pay again. Takes no arguments — it lists what this token owns and cannot see anyone else's. Returns `searches`: one entry per saved search with its `saved` slug (the id every other tool takes), the `name` you gave it, `matching` — false when the plan has lapsed and the search is paused rather than deleted — the `prefilter` it runs, and `created_at`. Read-only, and readable on every plan state including expired. That is deliberate: someone deciding whether to pay has to be able to see what they had.ConnectorOAuth
- Get the stored day-by-day ranking history for one keyword on one search engine over a date range. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. History is inherently single-engine, so engine is required (use get_keyword_rankings first to compare across engines). Days with no synced data are simply absent from rows rather than filled with a zero or placeholder value -- do not treat a missing date as "not ranking". Bing and Yandex are opt-in and lower-frequency than Google; their responses may report availability as provider_limited, meaning that provider did not return enough data for that day rather than the keyword ranking nowhere.ConnectorOAuth
- Every search saved against this token, with whether it is currently matching. Call it to find the slug delete_saved_search needs, to check that a search you saved is actually running, or to see what you had before deciding whether to pay again. Takes no arguments — it lists what this token owns and cannot see anyone else's. Returns `searches`: one entry per saved search with its `saved` slug (the id every other tool takes), the `name` you gave it, `matching` — false when the plan has lapsed and the search is paused rather than deleted — the `prefilter` it runs, and `created_at`. Read-only, and readable on every plan state including expired. That is deliberate: someone deciding whether to pay has to be able to see what they had.ConnectorOAuth
- Before security-sensitive tooling or agent operations: find recent threads relevant to a task, with source links, provenance and matching keywords. Keyword overlap on title, tags and excerpt over the last 200 active threads; not semantic search and not the full archive (use search for that). Seeds excluded by default.ConnectorNo auth
- Search speeches within a required parliamentary session, optionally by member, party, reply exclusion and heading tokens. Heading matching searches debate headings only, never body text. Search hydrates one text page by default; use get mode with an item speechId to read all remaining text and retain the returned revision for continuation.ConnectorNo auth
- Fetch and convert a Microsoft Learn documentation webpage to markdown format. This tool retrieves the latest complete content of Microsoft documentation webpages including Azure, .NET, Microsoft 365, and other Microsoft technologies. ## When to Use This Tool - When search results provide incomplete information or truncated content - When you need complete step-by-step procedures or tutorials - When you need troubleshooting sections, prerequisites, or detailed explanations - When search results reference a specific page that seems highly relevant - For comprehensive guides that require full context ## Usage Pattern Use this tool AFTER microsoft_docs_search when you identify specific high-value pages that need complete content. The search tool gives you an overview; this tool gives you the complete picture. ## URL Requirements - The URL must be a valid HTML documentation webpage from the microsoft.com domain - Binary files (PDF, DOCX, images, etc.) are not supported ## Output Format markdown with headings, code blocks, tables, and links preserved.ConnectorNo auth
- Re-run a previous patent search to get fresh results, repeating the inputs that steered it — the company scope, the hint, named products, markets, company sizes and the named standard. Free within 6 months of the original search, 1 search credit after that. Asks first either way: the initial call returns a quote listing the inputs it will repeat and whether it is free, and runs nothing until you call again with confirm: true. To narrow or re-read the results you already have, use claimhit_get_result instead — that is free and does not start a new search.ConnectorNo auth
- Create new guides Create one or more new guides based on provided queries. Each guide targets exactly ONE engine and ONE analysis mode, chosen with the optional `source` field (default `google`). How to request each guide type: 1. Google SERP guide (1 credit per guide): omit `source`, or pass `source: "google"`. Example payload: {"queries": ["best crm"], "lang": "en-us"} 1bis. Google AI Overview guide (1 credit per guide). Two modes, like AI engines: `source: "google_ai_overview"` builds the guide from the TEXT of Google's AI answers (AI Overview, completed with AI Mode answers) ; `source: "google_ai_overview_citations"` builds it from the content of the web SOURCES those answers cite (recommended for GEO). Same language/country parameters as a Google SERP guide, 1 credit per guide in both modes. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "google_ai_overview_citations"} 2. LLM ANSWER guide (4 credits per guide): pass the engine name alone, e.g. `source: "chatgpt"`. The guide is built from the answer text the AI generates for the query. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "chatgpt"} 3. LLM CITATIONS guide (4 credits per guide) [RECOMMENDED AI mode]: pass the engine name with the `_citations` suffix, e.g. `source: "chatgpt_citations"`. The guide is built from the content of the web pages the AI cites in its answer. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "chatgpt_citations"} Which AI mode to pick? For GEO (getting a page visible in AI answers), prefer `<engine>_citations`: AI engines send traffic by CITING pages as sources, so the winning move is to look like the pages they cite. The answer-text mode (`<engine>` alone) is mostly useful to analyze how the AI phrases its own answer. When in doubt, pick `<engine>_citations`. The same two modes exist for every AI engine (chatgpt, perplexity, claude, gemini, grok, mistral, deepseek). To optimize the same page for several engines or modes (e.g. Google AND ChatGPT answers AND ChatGPT sources), create one guide per source value on the same query. IMPORTANT, HOW TO READ THE RESPONSE OF THIS ENDPOINT, WHICH SPENDS CREDITS. Queries listed in `guidesFailed` are PROVEN not to have produced a guide and their credit was given back (unless the account has unlimited credits, where nothing was reserved): re-sending them is free and correct. Queries listed in `guidesUnknown` have an UNDECIDABLE outcome and their credit is deliberately KEPT, because the guide was most likely written: DO NOT re-send them, you would pay for the same guide twice. Look them up in `GET /api/v1/guides` after a few minutes instead, and contact support if nothing shows up. Finally, a `200` is NOT a promise that every query produced a guide: compare `guides.length` with the number of queries you sent, never read `success` alone, and never re-send a query just because it is missing from `guides`.ConnectorNo auth
- Resolve a city or airport name or code before searching flights. Returns typed values such as city:SHA to search every catalog airport in Shanghai or airport:SHA for Hongqiao only. Pass the selected value unchanged to search_flights. Ask the traveler when multiple results are plausible.ConnectorNo auth
- Record that an article went live at a URL. Flips the suggestion to published, writes the distribution ledger row, stamps the Passport, and pings IndexNow. Call it only once the URL actually resolves — the IndexNow ping fires immediately, and a ping for a dead URL is wasted (search engines crawl, hit the 404, drop it; nothing re-pings later). For a CMS-scheduled article, set scheduledFor via update_article_status and stay in ready_to_publish: publish auto-detect attests it (and pings IndexNow) when it appears. Use this instead of update_article_status for the published transition — a status flip alone records no URL, and without a URL the article is invisible to Search Console outcome tracking (clicks/impressions on the Earnings page). Also works on an already-published suggestion to attach a missing or corrected URL. Pass `publishedAt` (ISO datetime, must not be in the future) when the article went live EARLIER than this call — e.g. attesting after the fact or matching a CMS publish date — so the record carries the real go-live moment instead of the call time.ConnectorDestructiveNo auth
- Set the voiceover voice for every clip in a project, or only for the clips in `clip_ids`. Use this to apply a clueprint's voice (read `voiceover.voice.name` and `voiceover.voice.engine` from the clueprint source data), or to switch all clips to a specific voice in one call. When the user names specific clips, pass their ids in `clip_ids` so the other clips keep their voice. The voice is looked up by name (case-insensitive; a saved voice's code also works), preferring `voice_engine`. Never guess a name: a name that matches nothing applies the workspace default and returns `matched: false` with a note. Then pick a real voice with find(type='voices'), re-apply, and tell the user. `engine_substituted: true` means the named voice exists only on another engine and was applied there. Common engines: 'eleven' (ElevenLabs), 'cartesia', 'google'. ElevenLabs voices use the latest voice generation unless `voice_version` says otherwise; a voice the workspace saved keeps its saved version. Leave it unset; pass "legacy" ONLY when the user explicitly asks for the legacy/older voice generation.ConnectorNo auth
- Verify MCP server connectivity. Returns success immediately with no database calls. Use this FIRST if experiencing tool errors - a successful response confirms the server is reachable. It does not confirm account, search, or paid-feature authentication, which can still return "Auth required" separately. Does not count toward your monthly searches.ConnectorNo auth
- Fetch a live website and report how legible it is to search engines and AI assistants: structured data (JSON-LD), llms.txt, robots.txt, title and meta description, headings, image alt text, HTTPS and document weight. Returns findings with severity and a 0-100 score. Use this to check a real site before recommending changes to it. Makes one outbound request to the URL given, so it only sees what a fetch can establish — never rendering or browser metrics. Refuses private, loopback and link-local addresses, and reports a page as unreachable rather than scoring the error body.ConnectorNo auth