Skip to main content
Glama

Bob Research Tools

bob_search

Read-only

Runs a web search and returns ranked results as {query, results: [{title, url, snippet}]}. Use it for raw links to read yourself; use bob_research for a written answer. Plain phrases work as well as keywords; since and until (YYYY-MM-DD) limit results to a publish-date range, which suits recent news. Needs an x402 payment per call; if the search fails or finds nothing, you are not charged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNoHow many results to return, 1 to 10. Default 5.
qYesThe web search query, 1 to 500 characters.
sinceNoOptional. Only results published on or after this date, written YYYY-MM-DD, e.g. 2026-09-01.
untilNoOptional. Only results published on or before this date, written YYYY-MM-DD.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe query that was searched.
resultsYesRanked results.
published_betweenNoThe since/until dates applied, if any.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "published_between": {
      +      "description": "The since/until dates applied, if any.",
      +      "items": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": "array"
      +    },
      +    "query": {
      +      "description": "The query that was searched.",
      +      "type": "string"
      +    },
      +    "results": {
      +      "description": "Ranked results.",
      +      "items": {
      +        "properties": {
      +          "snippet": {
      +            "description": "Short passage from the page.",
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / n
      Added value: +{
      +  "default": 5,
      +  "description": "How many results to return, 1 to 10. Default 5.",
      +  "maximum": 10,
      +  "minimum": 1,
      +  "title": "N",
      +  "type": "integer"
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional. Only results published on or after this date, written YYYY-MM-DD, e.g. 2026-09-01.",
      +  "title": "Since"
      +}
    • addedInput schema / properties / until
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional. Only results published on or before this date, written YYYY-MM-DD.",
      +  "title": "Until"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / q / description
      Added value: +"The web search query, 1 to 500 characters."
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description adds behavioral facts they cannot carry: a per-call x402 payment requirement and the no-charge guarantee on failure or empty results. That billing semantics is exactly the kind of context an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences: purpose and return shape first, sibling routing second, payment/date nuance last. Every clause carries information and nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param read tool with a full schema, full annotations, and an output schema, everything an agent needs is present: scope, routing, cost model, failure behavior, and filter intent. Return-value detail is correctly delegated to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes beyond it by advising that 'plain phrases work as well as keywords' and confirming since/until act as a publish-date range. It does not restate n's bounds, but the query-phrasing guidance is genuinely additive.

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?

States a specific verb+resource ('Runs a web search and returns ranked results') and even sketches the return shape {query, results:[{title,url,snippet}]}. It explicitly distinguishes itself from the sibling bob_research, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the when-to-use rule directly: 'Use it for raw links to read yourself; use bob_research for a written answer.' It also names the condition that makes the date filters appropriate ('which suits recent news'), leaving no ambiguity about selection.

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