Skip to main content
Glama

Server Details

Paid web research, fact-check, page summary and page extraction tools for AI agents. Pay per call in USDC with x402 (Base or Solana). A failed call is not charged.

Ownership verified
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.8/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a clearly distinct task: page.extract vs page.summarize, research.answer vs research.factcheck, and research.company vs research.market vs web.news vs web.search. Descriptions explicitly cross-reference the correct alternative, leaving no ambiguous boundaries.

Naming Consistency5/5

All names follow a consistent namespace.action pattern (page.*, research.*, web.*) in lowercase dot notation. The action part mixes verbs and nouns but the convention is uniform and predictable.

Tool Count5/5

Eight tools is well-scoped for a research assistant, covering discovery, reading, synthesis, verification, and specialized briefs without redundancy. Each tool earns its place.

Completeness5/5

The surface covers the full research lifecycle: search, extract, summarize, answer, factcheck, company briefs, market evidence, and news. Cross-references provide workarounds for multi-page or multi-question needs, so no dead ends.

Available Tools

8 tools
page.extractA
Read-only
Inspect

Returns the main text of one public web page as clean markdown, unchanged and not summarized, up to 8,000 characters, as {url, markdown, truncated}, usually in 2 to 5 seconds. Pass the address of the specific page, not a site's home page; pages that need a login cannot be read, and longer pages are cut and flagged truncated. Use page.summarize for a short version. To read several pages, or to crawl a topic, get the addresses from web.search and call this once per address. Read-only. Paid per call with x402, up to 60 calls a minute per client; a failed call is not charged.

NameRequiredDescriptionDefault
urlYesPublic http or https address of the page to extract; private or local addresses are refused.

Output Schema

NameRequiredDescription
urlYesThe page that was read.
markdownYesMain content of the page as markdown, up to 8,000 characters.
truncatedNoTrue if the page was longer than the cap.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint, destructiveHint=false), and the description adds substantial context beyond them: expected latency of 2-5 seconds, truncation at 8,000 characters with a truncated flag, refusal of login-gated pages, x402 per-call payment, a 60 calls/minute per-client rate limit, and that failed calls are not charged. This is exactly the operational detail annotations cannot express.

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?

Front-loads the output contract (markdown, unsummarized, 8,000 char cap, response shape) before operational caveats, then routes to siblings. Every sentence carries distinct, load-bearing information with no filler.

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?

Although an output schema exists and return values need not be described, the description still adds cost, rate-limit, latency, auth, and truncation behavior that structured fields do not capture. For a single-parameter extraction tool, nothing an agent needs to call it correctly is missing.

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% and the single url parameter is already documented as a public http/https address with private/local addresses refused, so the baseline is 3. The description goes beyond it by specifying that the address must be of the specific page and not a site's home page, a constraint absent from the schema.

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 and resource ('Returns the main text of one public web page as clean markdown'), defines the scope (one page, unchanged, not summarized, 8,000 char cap) and the exact return shape. It explicitly distinguishes itself from page.summarize, so an agent can choose 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 explicit when-to-use rules and exclusions: pass a specific page not a home page, login-gated pages cannot be read, use page.summarize for a short version, and for multiple pages or crawling, get addresses from web.search and call once per address. Alternatives and conditions are named rather than implied.

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

page.summarizeA
Read-only
Inspect

Condenses one public web page into an 80-word summary with up to 4 key points, returned as {url, summary, key_points}, usually in 3 to 6 seconds. The page is fetched live, so the summary reflects it now; pages behind a login or paywall may return little. Pass the address of the specific page, not a site's home page. Use page.extract for the page's own text. Read-only. Paid per call with x402; if the page cannot be read in time the call fails and is not charged.

NameRequiredDescriptionDefault
urlYesPublic http or https address of the page to summarize; private or local addresses are refused.

Output Schema

NameRequiredDescription
urlYesThe page that was summarized.
summaryYesAbout 80 words.
key_pointsNoKey points from the page.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover readOnly/openWorld/destructive, but the description goes well beyond them: live fetch semantics, 3-6 second latency, paywall limitation, paid-per-call via x402, and the important billing behavior that a timed-out read fails without charge. That is exactly the operational context annotations cannot express.

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?

Information is front-loaded: what it produces first, then latency, then fetch caveats, then routing to page.extract, then cost/failure semantics. Every sentence carries distinct, actionable content with no filler.

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?

Despite an output schema existing, the description still summarizes the return shape, and it covers the one risk an agent cares about for a paid, live-fetch tool (unreadable pages and non-charged failures). Nothing needed to invoke it correctly is missing.

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% for the single url parameter, so the baseline is 3. The description adds genuinely useful usage semantics beyond the schema by specifying that the address must be the specific page rather than a home page, which is a selection constraint not encoded in the schema.

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 (condense/summarize) and resource (one public web page) with quantified output shape (80-word summary, up to 4 key points, {url, summary, key_points}). It also explicitly distinguishes itself from the sibling page.extract, so an agent can route correctly 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 explicit when-to-use ('Pass the address of the specific page, not a site's home page') and names the alternative for a different need ('Use page.extract for the page's own text'). It also states the failure condition (pages behind login/paywall may return little), which is real selection guidance.

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

research.answerA
Read-only
Inspect

Answers one open research question from the live web in at most 80 words with up to 3 source URLs, returned as {answer, sources}, usually in 4 to 9 seconds. Use it for a synthesized answer; use web.search for raw links or research.factcheck to verify a claim. Name the people, places and dates the question depends on, and ask one question per call: several in one call get one blended answer. Read-only. Paid per call with x402, up to 60 calls a minute per client; a call that fails, times out or hits capacity is not charged. For several questions, make one call per question: calls are independent and can run in parallel.

NameRequiredDescriptionDefault
qYesThe research question to answer, 1 to 500 characters.

Output Schema

NameRequiredDescription
answerYesShort answer synthesized from the live web.
sourcesNoSource URLs the answer rests on.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: reveals latency (4-9s), x402 paid-per-call billing, a 60 calls/min per-client rate limit, that failed/timed-out/capacity calls are not charged, and that calls are independent and parallelizable. Annotations only cover the read-only/open-world profile, so this fills the real behavioral gap.

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-loads output shape, then routing, then usage and billing. Efficient overall, though the 'one question per call' instruction is stated twice (once in usage, again in the closing parallel-calls sentence), which is slightly redundant.

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?

With an output schema present and rich annotations, the description supplies everything else an agent needs: latency expectations, cost model, rate limits, failure billing behavior, and invocation constraints. Nothing material is missing for a single-parameter tool.

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 baseline is 3, but the description adds meaningful semantics the schema lacks: name the people, places and dates the question depends on, and ask exactly one question per call. This is genuine invocation guidance beyond the 1-500 character constraint.

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 (answers a research question from the live web) plus concrete output shape (max 80 words, up to 3 source URLs, {answer, sources}) and latency. It explicitly disambiguates from web.search and research.factcheck, so an agent can select it without opening other schemas.

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 explicit routing: 'use web.search for raw links or research.factcheck to verify a claim', and states the calling convention 'one question per call' with the reason (multiple questions get one blended answer). When-to-use and the alternatives are both named.

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

research.companyA
Read-only
Inspect

Returns a short sourced brief on one company as {company, summary, what_it_does, facts, recent, sources}, usually in 5 to 8 seconds. Pass a website address such as stripe.com to avoid name clashes; a bare name resolves to the best-known company with that name and the summary says when the name is ambiguous. Facts such as founding year, location, size, funding or leadership appear only when the sources state them, and conflicting figures are reported as the most recent one with its date. Read-only. Paid per call with x402; if the company cannot be described in time the call fails and is not charged.

NameRequiredDescriptionDefault
companyYesA company name or website, 1 to 500 characters, e.g. Stripe or stripe.com.

Output Schema

NameRequiredDescription
factsNoUp to 5 short facts, only if the sources state them.
recentNoUp to 3 recent developments.
companyYes
sourcesNoSource URLs.
summaryYesAbout 60 words.
what_it_doesNoOne sentence on the business.

TDQS

A4.6/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 substantial context on top: typical 5-8s latency, x402 per-call payment, no charge on timeout failure, and the rule that facts appear only when sources state them with conflicts resolved to the most recent dated figure.

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-loads what is returned and the response shape, then layers timing, input guidance, sourcing rules, and payment terms. Every sentence carries information, though the run is dense enough that a reader must parse several distinct concerns in one block.

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?

An output schema exists so return structure needn't be explained, yet the description still covers cost model, failure behavior, latency, and sourcing caveats. Nothing an agent needs to decide to call it, or to interpret a failure, is missing.

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, but the description meaningfully enriches the single parameter: a website address avoids name clashes while a bare name resolves to the best-known match, and ambiguity is surfaced in the output. That is real semantics beyond the schema's 'company name or website' text.

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 and resource ('Returns a short sourced brief on one company') and enumerates the returned fields, so an agent can distinguish it from research.answer, research.market, or page.summarize without opening a schema.

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 clear usage context: pass a website to avoid name clashes, bare names resolve to the best-known company, and ambiguity is flagged in the summary. It does not explicitly name a sibling tool or state when a different research tool would be preferable, so it stops short of full routing guidance.

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

research.factcheckA
Read-only
Inspect

Checks one factual claim against the live web and returns {verdict, explanation, sources}, where verdict is supported, contradicted or unclear, usually in 4 to 9 seconds. Write the claim as a plain statement such as 'The Eiffel Tower is in Berlin' and split a compound claim into separate calls. Use research.answer for open questions. For several claims, call once per claim. Read-only. Paid per call with x402; a failed call is not charged.

NameRequiredDescriptionDefault
claimYesThe factual claim to check, 1 to 500 characters, written as a statement.

Output Schema

NameRequiredDescription
sourcesNoSource URLs behind the verdict.
verdictYesHow the live web treats the claim.
explanationNoOne or two sentences on why.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, non-destructive, open-world), and the description adds value beyond them: latency expectation (4-9s), the returned fields, and monetization behavior ('paid per call with x402; a failed call is not charged'). The billing and failure-charging disclosure is exactly the kind of operationally critical context an agent needs.

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, output shape and latency, then routing and usage rules — every sentence carries information. Minor redundancy: 'Read-only' restates the readOnlyHint annotation and could be dropped.

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?

Output schema exists, so return values need no further explanation, yet the verdict enum is still summarized helpfully. Latency, cost model, input format, and when-to-use alternatives are all covered for a one-parameter tool.

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, but the description adds real semantic guidance beyond the schema: write the claim as a plain statement, keep it to one claim per call, and split compound claims. That constrains how the single string parameter should be composed.

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 and resource ('Checks one factual claim'), names the output shape, and explicitly distinguishes itself from the sibling research.answer. An agent can select it without opening any 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 explicit routing rules: use research.answer for open questions, split compound claims into separate calls, call once per claim for multiple claims. When-not and alternatives are both present.

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

research.marketA
Read-only
Inspect

Builds an evidence brief for a prediction-market question (Kalshi, Polymarket or similar) from the live web: {question, as_of, summary, evidence_for, evidence_against, key_dates, resolution_notes, sources}, usually in 5 to 8 seconds. Pass the question as the market words it, including its date or threshold (for example 'by Dec 31, 2026' or 'above 4.5%'). It reports evidence and what decides resolution; it gives no probability, forecast or trading advice. Use research.answer for general questions. Read-only. Paid per call with x402; if it cannot answer in time the call fails and is not charged.

NameRequiredDescriptionDefault
questionYesThe prediction-market question to research, 1 to 500 characters, worded as the market words it.

Output Schema

NameRequiredDescription
noteNo
as_ofNoThe date the brief was written, YYYY-MM-DD.
sourcesNoSource URLs.
summaryYesAbout 50 words of evidence, not a forecast.
questionYes
key_datesNoKnown or upcoming dates, each 'YYYY-MM-DD: what happens'.
evidence_forNoUp to 3 facts that support Yes.
evidence_againstNoUp to 3 facts that support No.
resolution_notesNoWhat usually decides resolution and what is ambiguous.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only/open-world safety profile, yet the description adds materially new behavior: typical latency (5-8 seconds), a paid x402 per-call model, and the failure-and-no-charge contract. This is exactly the extra context annotations cannot express.

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?

One front-loaded paragraph ordered purpose, output, usage, then cost/behavior — every sentence carries information. Slightly dense, and listing the output field names is mildly redundant given an output schema exists, but nothing is wasted.

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?

Covers purpose, required input wording, exclusions, latency, pricing, and failure semantics; with an output schema present, it need not explain return values. An agent has everything needed to decide and invoke correctly.

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 baseline is 3, but the description adds real guidance beyond the schema by telling the agent to include the market's date or threshold and giving concrete examples ('by Dec 31, 2026', 'above 4.5%'). That is actionable formatting advice the schema does not supply.

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 and resource ('Builds an evidence brief for a prediction-market question ... from the live web') and even enumerates the output shape, so an agent can distinguish it from generic research siblings without opening the schema.

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?

Explicitly routes general questions to a named alternative ('Use research.answer for general questions') and states what it is not for ('no probability, forecast or trading advice'). It stops short of contrasting with the other research.* siblings (factcheck, company), so it is clear but not exhaustive.

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

web.newsA
Read-only
Inspect

Returns recent news on one topic, person, company or event as {query, window_days, summary, developments: [{headline, date, source}]}: a summary of about 50 words and up to 4 dated developments, newest first, usually in 3 to 7 seconds. A short topic or name works better than a full question; days sets the look-back from today (1 to 30, default 7), so a quiet topic needs a larger value. Use web.search for raw links. Read-only; only what the dated results support is returned. Paid per call with x402; if nothing recent is found the call fails and is not charged.

NameRequiredDescriptionDefault
qYesThe topic, person, company or event to get recent news on, 1 to 500 characters.
daysNoHow many days back to look, 1 to 30. Default 7.

Output Schema

NameRequiredDescription
queryYesThe topic that was searched.
summaryYesAbout 50 words on what happened.
window_daysNoHow many days back were searched.
developmentsYesUp to 5 dated developments, newest first.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations' read-only/open-world safety profile, it discloses latency (3-7 seconds), the x402 paid-per-call model, and the failure semantics ('if nothing recent is found the call fails and is not charged'). It also bounds output to what dated results support. Rich behavioral context an agent cannot get from structured fields.

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?

A single dense paragraph that front-loads the return shape and core purpose, then layers constraints, alternatives, and cost. Every sentence carries load, though the inline schema sketch makes the sentence long and slightly harder to scan.

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?

Covers return shape, result count, ordering, latency, pricing, failure behavior, and parameter tuning. An output schema exists, yet the description still adds the interpretive details an agent needs before committing a paid call. Nothing material is missing.

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, but the description adds genuine meaning: q should be a short topic/name rather than a full question, and days is a look-back from today (1-30, default 7) that must be raised for quiet topics. This is more than a restatement of the schema.

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 and resource ('Returns recent news on one topic, person, company or event') and immediately distinguishes itself from web.search for raw links. An agent can pick it apart from the research.* and web.search siblings without inspecting schemas.

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 an explicit alternative ('Use web.search for raw links'), query-shaping advice ('a short topic or name works better than a full question'), and parameter tuning guidance ('a quiet topic needs a larger value'). Both when-to-use and how-to-use are covered.

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

web.searchA
Read-only
Inspect

Runs a web search and returns ranked results as {query, results: [{title, url, snippet}]}. Use it for raw links to read yourself; use research.answer 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.

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

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

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 genuinely new behavioral facts: an x402 payment is required per call, and there is no charge when the search fails or returns nothing. That billing/refund semantics is exactly the kind of context annotations cannot convey.

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?

Four dense sentences, front-loaded with what it does and the return shape, then routing, then query/date guidance, then billing. Nothing is padded or repeated.

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?

Output schema exists, so return values need not be explained, yet the description still gives the shape; it also covers routing, date filtering, cost, and no-charge-on-failure. Nothing an agent needs to invoke this correctly is missing.

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 description coverage is 100%, so the schema already documents n, q, since and until; baseline would be 3. The description adds value beyond it by telling the agent that plain phrases work as well as keywords and that since/until filter on publish date (useful for news queries).

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?

Specific verb+resource ("Runs a web search") plus the exact return shape {query, results:[{title,url,snippet}]}. It explicitly distinguishes itself from research.answer, so an agent can choose between the two 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?

States when to use it ("raw links to read yourself") and names the alternative with the condition that selects it ("use research.answer for a written answer"). It also adds a topical-use hint: since/until "suits recent news".

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updates
    • Removedbob_company_brief
    • Removedbob_extract
    • Removedbob_factcheck
    • Removedbob_market_research
    • Removedbob_news
    • Removedbob_research
    • Removedbob_search
    • Removedbob_summarize
    • Addedpage.extract
    • Addedpage.summarize
    • Addedresearch.answer
    • Addedresearch.company
    • Addedresearch.factcheck
    • Addedresearch.market
    • Addedweb.news
    • Addedweb.search
  2. 1 tool update
    • Changedbob_news1 field changed
      • changedOutput schema / properties / summary / description
        Previous value: -"About 60 words on what happened."New value: +"About 50 words on what happened."
  3. 3 tool updates
    • Addedbob_company_brief
    • Addedbob_market_research
    • Addedbob_news
  4. 5 tool updates
    • Changedbob_extract1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "markdown": {
        +      "description": "Main content of the page as markdown, up to 8,000 characters.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True if the page was longer than the cap.",
        +      "type": "boolean"
        +    },
        +    "url": {
        +      "description": "The page that was read.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "url",
        +    "markdown"
        +  ],
        +  "type": "object"
        +}
    • Changedbob_factcheck1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "explanation": {
        +      "description": "One or two sentences on why.",
        +      "type": "string"
        +    },
        +    "sources": {
        +      "description": "Source URLs behind the verdict.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "verdict": {
        +      "description": "How the live web treats the claim.",
        +      "enum": [
        +        "supported",
        +        "contradicted",
        +        "unclear"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "verdict"
        +  ],
        +  "type": "object"
        +}
    • Changedbob_research1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "answer": {
        +      "description": "Short answer synthesized from the live web.",
        +      "type": "string"
        +    },
        +    "sources": {
        +      "description": "Source URLs the answer rests on.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedbob_search1 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"
        +}
    • Changedbob_summarize1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "key_points": {
        +      "description": "Key points from the page.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "summary": {
        +      "description": "About 80 words.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "The page that was summarized.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "url",
        +    "summary"
        +  ],
        +  "type": "object"
        +}
  5. 1 tool update
    • Changedbob_search3 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"
        +}
  6. 5 tool updates
    • Changedbob_extract1 field changed
      • addedInput schema / properties / url / description
        Added value: +"Public http or https address of the page to extract; private or local addresses are refused."
    • Changedbob_factcheck1 field changed
      • addedInput schema / properties / claim / description
        Added value: +"The factual claim to check, 1 to 500 characters, written as a statement."
    • Changedbob_research1 field changed
      • addedInput schema / properties / q / description
        Added value: +"The research question to answer, 1 to 500 characters."
    • Changedbob_search1 field changed
      • addedInput schema / properties / q / description
        Added value: +"The web search query, 1 to 500 characters."
    • Changedbob_summarize1 field changed
      • addedInput schema / properties / url / description
        Added value: +"Public http or https address of the page to summarize; private or local addresses are refused."
  7. 1 tool update
    • Addedbob_search
  8. 4 tool updates
    • First observedbob_extract
    • First observedbob_factcheck
    • First observedbob_research
    • First observedbob_summarize

Publisher details

Operator
Bob Research Tools · Publisher source
Vendor relationship
Not applicable
Trust center
Not available
Restrictions
No account, API key, admin approval or regional limit. Each tool call is paid per call in USDC with x402 on Base or Solana, so the client needs an x402-capable wallet. · Publisher source

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources