Skip to main content
Glama
RapierCraft

alterlab-mcp-server

alterlab_search

Search the web, find online information, or research topics across Google, Bing, and DuckDuckGo; optionally scrape result pages for full content.

Instructions

Search the web, find information online, look up any topic, or research a subject across the internet. Returns search results with URLs, titles, and snippets from multiple search engines. Uses AlterLab's SERP engine with Google/Bing/DuckDuckGo multi-engine failover for reliable results. Costs $0.001 per search query on the default duckduckgo engine; engine='google' or 'bing' costs $0.004 per query. Set scrape_results=true to also scrape each result page (with anti-bot bypass) and get full content — each page is billed at its normal scraping tier cost. Use domain to restrict results to a specific site (equivalent to site: operator). Use time_range to filter by recency (hour/day/week/month/year). Safe search is on by default; pass safe_search=false to disable it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoResult page number (1-indexed). Page 2 returns results 11-20, etc.
queryYesSearch query (max 500 characters)
domainNoRestrict results to a specific domain (applied as site: prefix, e.g. 'docs.example.com')
engineNoSearch engine (API default duckduckgo). duckduckgo costs $0.001/query; google and bing use browser rendering and cost $0.004/query.
countryNoISO 3166-1 alpha-2 country code for geo-targeted results (e.g., 'US', 'GB', 'DE')
formatsNoOutput formats when scrape_results=true
languageNoLanguage code for results (e.g., 'en', 'fr', 'de')
time_rangeNoFilter results by recency
num_resultsNoNumber of results to return (1-30)
safe_searchNoSafe search filtering to exclude adult content from results (API default true). Set false to disable.
scrape_resultsNoIf true, scrape each result page and include content in response. Each page is billed at its scraping tier cost in addition to the base search fee.
extraction_schemaNoJSON schema for structured extraction when scrape_results=true

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.9.0
    • addedInput schema / properties / domain / maxLength
      Added value: +253
    • addedInput schema / properties / engine
      Added value: +{
      +  "description": "Search engine (API default duckduckgo). duckduckgo costs $0.001/query; google and bing use browser rendering and cost $0.004/query.",
      +  "enum": [
      +    "duckduckgo",
      +    "google",
      +    "bing"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / formats / items / enum
      Previous value: -[
      -  "text",
      -  "json",
      -  "json_v2",
      -  "html",
      -  "markdown"
      -]New value: +[
      +  "text",
      +  "json",
      +  "json_v2",
      +  "html",
      +  "markdown",
      +  "rag",
      +  "content"
      +]
    • changedInput schema / properties / safe_search / description
      Previous value: -"Enable safe search filtering to exclude adult content from results. Defaults to the search engine's own safe-search setting when omitted."New value: +"Safe search filtering to exclude adult content from results (API default true). Set false to disable."
  2. Changed1 schema field changedv1.8.0
    • addedInput schema / properties / safe_search
      Added value: +{
      +  "description": "Enable safe search filtering to exclude adult content from results. Defaults to the search engine's own safe-search setting when omitted.",
      +  "type": "boolean"
      +}
  3. First observedv1.5.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so well: it discloses per-engine pricing tiers ($0.001 vs $0.004), that scrape_results incurs additional per-page scraping-tier billing, multi-engine failover for reliability, anti-bot bypass, and that safe search is on by default. Cost and default behavior are exactly the traits an agent needs before invoking a paid API.

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?

It is a dense paragraph, but front-loaded with purpose and output shape before moving to cost and parameter guidance. Nearly every sentence carries information, though the repeated cost figures slightly overlap the engine parameter description in the schema.

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 tool with no output schema and no annotations, the description covers the response shape, cost model, and the most consequential optional parameters. It is a bit thin on how scrape_results interacts with formats/extraction_schema and says nothing about pagination beyond what the schema already states.

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 every parameter, giving a baseline of 3. The description restates a few key ones (domain as site:, time_range, engine cost differences) but adds no syntax or format detail beyond the schema, and omits extraction_schema and formats entirely.

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 opening sentence states a clear verb+resource ('Search the web... research a subject across the internet') and the second states the return shape (URLs, titles, snippets from multiple engines). It is distinguishable from siblings like alterlab_scrape or alterlab_extract, which retrieve page content rather than ranked results.

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 concrete when-to-use guidance for specific parameters: domain for site restriction, time_range for recency, scrape_results to fetch full page content, and engine selection driven by cost. It does not, however, explicitly say when to prefer this over alterlab_scrape or alterlab_extract, nor when not to use it.

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