Skip to main content
Glama

AIsa Web Search & Research

BytePlus Web Search

post_byteplus_web_search
Destructive

Run a real-time web search built for AI agents and return a ranked list of titled results with links and snippets. Query is required; narrow the result set with Count (≤ 20), Filter (restrict to Sites or exclude BlockHosts), Language, and TimeRange. The response wraps ResponseMetadata.RequestId and a Result list of web results. Use it for RAG retrieval augmentation, competitive/PR monitoring, fact-checking, and content sourcing; pair each result URL with post_byteplus_fetch to pull full page content. failed requests are not charged.

Published reference price: $0.0048 USD per successful request. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / Count
      Removed value: -{
      -  "default": 10,
      -  "description": "Number of results to return. Optional; default 10, maximum 20.",
      -  "example": 10,
      -  "maximum": 20,
      -  "type": "integer"
      -}
    • removedInput schema / properties / Filter
      Removed value: -{
      -  "description": "Optional result filter. Both fields are pipe-separated strings of full domains (max 5 each).",
      -  "properties": {
      -    "BlockHosts": {
      -      "description": "Exclude results from these full domains. Pipe-separated, max 5, e.g. \"reddit.com|quora.com\".",
      -      "example": "reddit.com|quora.com",
      -      "type": "string"
      -    },
      -    "Sites": {
      -      "description": "Restrict results to these full domains. Pipe-separated, max 5, e.g. \"bytedance.com|byteplus.com\". (Sending an array returns 10400 Invalid Parameter.)",
      -      "example": "bytedance.com|byteplus.com",
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedInput schema / properties / Language
      Removed value: -{
      -  "description": "Optional language hint in the upstream format, e.g. EN, ZH-HANS, ZH-HANT.",
      -  "example": "EN",
      -  "type": "string"
      -}
    • removedInput schema / properties / Query
      Removed value: -{
      -  "description": "The search query. Required. Max 400 characters; the upstream engine also effectively caps around 50 words.",
      -  "example": "OpenAI news",
      -  "maxLength": 400,
      -  "type": "string"
      -}
    • removedInput schema / properties / TimeRange
      Removed value: -{
      -  "description": "Optional recency window. One of the named windows OneDay / OneWeek / OneMonth / OneYear, or a custom range \"YYYY-MM-DD..YYYY-MM-DD\". Omit for no time filter. NOTE: values like \"week\"/\"month\" are silently ignored upstream.",
      -  "example": "OneWeek",
      -  "oneOf": [
      -    {
      -      "enum": [
      -        "OneDay",
      -        "OneWeek",
      -        "OneMonth",
      -        "OneYear"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "description": "Custom range, e.g. 2026-08-01..2026-09-01.",
      -      "pattern": "^\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}$",
      -      "type": "string"
      -    }
      -  ]
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "Count": {
      +      "default": 10,
      +      "description": "Number of results to return. Optional; default 10, maximum 20.",
      +      "example": 10,
      +      "maximum": 20,
      +      "type": "integer"
      +    },
      +    "Filter": {
      +      "description": "Optional result filter. Both fields are pipe-separated strings of full domains (max 5 each).",
      +      "properties": {
      +        "BlockHosts": {
      +          "description": "Exclude results from these full domains. Pipe-separated, max 5, e.g. \"reddit.com|quora.com\".",
      +          "example": "reddit.com|quora.com",
      +          "type": "string"
      +        },
      +        "Sites": {
      +          "description": "Restrict results to these full domains. Pipe-separated, max 5, e.g. \"bytedance.com|byteplus.com\". (Sending an array returns 10400 Invalid Parameter.)",
      +          "example": "bytedance.com|byteplus.com",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "Language": {
      +      "description": "Optional language hint in the upstream format, e.g. EN, ZH-HANS, ZH-HANT.",
      +      "example": "EN",
      +      "type": "string"
      +    },
      +    "Query": {
      +      "description": "The search query. Required. Max 400 characters; the upstream engine also effectively caps around 50 words.",
      +      "example": "OpenAI news",
      +      "maxLength": 400,
      +      "type": "string"
      +    },
      +    "TimeRange": {
      +      "description": "Optional recency window. One of the named windows OneDay / OneWeek / OneMonth / OneYear, or a custom range \"YYYY-MM-DD..YYYY-MM-DD\". Omit for no time filter. NOTE: values like \"week\"/\"month\" are silently ignored upstream.",
      +      "example": "OneWeek",
      +      "oneOf": [
      +        {
      +          "enum": [
      +            "OneDay",
      +            "OneWeek",
      +            "OneMonth",
      +            "OneYear"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "description": "Custom range, e.g. 2026-08-01..2026-09-01.",
      +          "pattern": "^\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}$",
      +          "type": "string"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "Query"
      +  ],
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "Query"
      -]New value: +[
      +  "body"
      +]
  2. Changed2 schema fields changed
    • removedInput schema / properties / TimeRange / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "OneDay",
      -      "OneWeek",
      -      "OneMonth",
      -      "OneYear"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "description": "Custom range, e.g. 2026-08-01..2026-09-01.",
      -    "pattern": "^\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / TimeRange / oneOf
      Added value: +[
      +  {
      +    "enum": [
      +      "OneDay",
      +      "OneWeek",
      +      "OneMonth",
      +      "OneYear"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "description": "Custom range, e.g. 2026-08-01..2026-09-01.",
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}$",
      +    "type": "string"
      +  }
      +]
  3. Added
  4. Removed
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare openWorldHint=true and destructiveHint=true, so the safety profile is partly covered; the description adds value annotations cannot express: per-request billing ($0.0048) and the fact that failed requests are not charged, plus upstream quirks (silently ignored TimeRange values, array input returning error 10400 in schema). It never addresses what the destructiveHint=true would mean for a search call, leaving a small ambiguity.

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?

Front-loaded with purpose, then constraints, then response shape, then use cases and pairing — a sensible order with no filler. It is slightly heavy for a search tool (pricing block, a stray double space and lowercase sentence start before 'failed requests are not charged'), but every sentence carries information.

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?

An output schema exists, so return values need not be explained, yet the description still sketches ResponseMetadata.RequestId and a Result list. With one required nested body parameter and two nested Filter fields, the coverage is adequate; only error/failure behavior beyond billing and rate-limit expectations is left unstated.

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 reported as 0%, so the description has to carry meaning, and it does enumerate Query (required), Count (≤20), Filter with Sites/BlockHosts, Language, and TimeRange. However it only names them — the pipe-separated domain format, max-5 limit, and custom YYYY-MM-DD..YYYY-MM-DD range syntax live only in the schema, so the description adds little beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run a real-time web search') and names the output shape (ranked titled results with links and snippets), which is concrete and actionable. It clearly identifies the companion tool post_byteplus_fetch, but does not distinguish itself from the many other search siblings (post_exa_search, post_tavily_search, post_firecrawl_search), so an agent still needs external judgement to pick this one.

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 concrete use contexts (RAG augmentation, competitive/PR monitoring, fact-checking, content sourcing) and an explicit follow-up action ('pair each result URL with post_byteplus_fetch to pull full page content'). It stops short of any exclusion or 'use X instead when...' rule versus competing search providers, which is the only missing piece.

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.

Resources