Build in Public · LF-08
Selecting Agent Search Tools: From Discovery to Verified Answers
Choose tools for search, content reading, and cross-checking by task phase, preserving sources, timestamps, and failure states. Inspect input contracts against public catalogs rather than treating search hit counts as credibility.
A search agent can list ten seemingly relevant links yet still fail to answer whether a parameter is currently supported. Links may point to outdated versions, snippets may omit restrictions, and multiple articles may cite the same announcement. The next step is often reading the original page rather than increasing search frequency.
When selecting tools, first clarify the deliverable for the current step: sources to read, content from a specific page, or evidence supporting a concrete conclusion. This post organizes search tools by these three deliverables EveryInfra, then explains when to stop searching, preserve unknowns, and verify citations. Catalogs and timestamped historical calls are documented separately; this post does not benchmark every tool or claim an end-to-end research system.
Rewrite Questions into Verifiable Assertions First
"Understand this product" works as a research direction, but not as a completion condition for a tool. Break it down into testable questions: which endpoint accepts this parameter, which version applies, whether extra permissions are required, and whether failures can be retried. Each question should specify the timestamp, product, and usage context.
For example, an editor verifying whether a remote service integrates with a client must separately check: what transport the service supports, what authentication methods the client accepts, and whether a call was successfully executed in that client. The first two come from documentation, while the third requires runtime evidence. Even if two documents independently mention supporting MCP, they cannot be combined into a verified integration without runtime proof.
Recording the expected evidence type for each question helps prevent search scope creep. Parameter definitions prioritize official reference documentation for the corresponding version; real failure phenomena require specific inputs, errors, and environments; customer outcomes require permitted and traceable case studies. Without corresponding evidence, narrow the conclusion rather than substituting alternative materials.
When understanding this pipeline, review the original RAG paper by Lewis et al., which combines generative models with retrieval stores rather than treating parametric knowledge as the sole source of truth. The findings, readings, and itemized verifications in this post constitute application-layer design; experimental results from the paper are not extrapolated into accuracy guarantees for any web agent.
Start with Discovery Only When the Page Location Is Unknown
When you have questions but no URLs, start by finding potentially relevant pages using web. The public catalog for 2026-9-4 lists q as a required parameter along with optional parameters such as site, region, time, and page number; always check the current catalog before calling rather than guessing parameter names in natural language.
Discovery-phase tools can be selected based on their inputs and expected outputs:
semanticis suited for describing concepts in natural language;suggestis used to find query expressions. Associated terms are search clues, not conclusions.similaruses existing URLs as starting points to find similar pages;deepprovides deeper retrieval entry points. Including "deep" in a tool name does not mean the page satisfies current evidence requirements.news,scholar, andforumshift the search scope toward news, academic content, or discussions. They change the source scope, not the standards for automatic fact validation.places,shopping,media, andlenstarget locations, products, media keywords, and image URLs respectively. Inputs differ, so they cannot be bundled into a single function accepting onlyq.
Specific error messages in forums can reveal environment discrepancies not covered by documentation, but human discussions should not override version-matched official definitions. A more useful approach is preserving the conflict—documenting that the documentation states support while an environment reports failure—and detailing what reproduction is missing to determine why they differ.
Switch from Repeated Searches to Reading When You Have a URL
Content for specified pages is handled by read. Use map to inspect page structures within a site, and consider crawl when reading multiple pages. Review the goals and field requirements of harvest for structured site tasks, rather than using it as a default entry point for single-page reading.
This distinction affects downstream validation. After obtaining a URL list from map, do not record a discovered page as read content; sentences extracted from search snippets cannot be marked as fully verified either. When content is truncated, restricted to navigation, or returns a login page, the reading step remains incomplete.
Tool escalation should not be used to bypass access restrictions. When encountering login prompts, explicit access denials, or unclear authorization scopes, stop and investigate authorized paths first. Temporary page failures can retain retry conditions, but unauthorized targets require scope adjustments rather than a tool swap to force permission.
Inspect Required Parameters with a Single Free Command
The following reads only public tool catalogs without executing searches, downloading target content, or requiring API keys. Curl and jq must be installed in your terminal; opening pipefail prevents request errors from being masked by downstream processing.
set -o pipefail
curl -fsS --max-time 20 \
'https://api.everyinfra.com/api/v1/search/tools' \
| jq -e '
[.tools[] |
select(.tool == "web" or .tool == "read" or .tool == "crosscheck") |
{tool, required_params, optional_params}]
| if length == 3 then . else error("selected tool missing") end'In this verification, web and crosscheck require q, while read requires url. Optional parameters for crosscheck include num, since, read_top, depth, and mechanisms, whereas read lists no optional parameters. Do not blindly pass identical time or quantity fields to all tools. Public search catalog
The same catalog lists 17 tools. This number represents the query list length, not business validation for 17 items, nor does it serve as a long-term commitment in article titles. Catalog declarations solve how to make requests, but they do not guarantee full content, result counts, or billing statuses.
Crosscheck Helps Find Evidence Relations Without Adjudicating Facts
When answers will be written into documentation, code, or external commitments, crosscheck serves as a cross-checking entry point. Its purpose is to let editors observe how different retrieval mechanisms discover sources before reading key original text; hit counts from mechanisms must not be converted into uncalibrated probability scores.
Finding the same announcement across three search chains still yields only one piece of original evidence. Different domains republishing the same news do not constitute multiple independent observations. You must evaluate the final URL, original publisher, citation relations, version, and timestamp to determine whether sources provide independent corroboration or repetitive paraphrasing.
Do not apply unverified fixed thresholds to this process, such as assuming AI citation weights double when a number appears across three domains. Citing Google's official documentation on AI Overviews and AI Mode, public recommendations focus on foundational SEO, discoverable internal links, and helpful content without prescribing multi-domain multiplier rules, nor do these notes represent all RAG systems. Numbers published by the same team across corporate sites, LinkedIn, and Medium help readers find original sources, but in evidence cards they must trace back to the same original observation rather than counting as three separate votes.
When sources conflict, break down the conflict. For discrepancies between old and new documentation, prioritize version changes; for official notes versus runtime failures, preserve scenarios and reproduction gaps; for secondary sites versus primary sources, return to specific paragraphs in the source. Do not force-vote a single answer or let tool-generated summaries become your sole evidence.
Keep an Evidence Card for Every Conclusion
We recommend maintaining the following fields in business systems. These are proposed recording designs, not claims about API response structures:
claim: The minimum required assertion, plus applicable products, versions, and regions.source_urlandfinal_url: Original entry point and final landing page to identify redirects or duplicate sources.observed_at: Read timestamp, kept separate from page-declaredpublished_atandupdated_at.evidence_locator: Locators pointing to specific sections, paragraphs, or samples rather than just homepages.support_status: Recommended classification distinguishing supported, contradictory, irrelevant, unreadable, and pending validation.limits: Scope limits, exceptions, evidence gaps, and re-evaluation conditions from the source text.
The goal of evidence cards is not adding paperwork, but enabling another reviewer to judge the same matter using the same link. Storing only "Website A says yes" prevents re-verification; omitting source conditions means conclusions cannot be fixed by extra links.
Set re-evaluation timelines for dynamic pricing, versions, or capability lists, and re-check actual citations before publishing. Active pages do not guarantee unchanged content, and working links do not guarantee original assertions remain valid. Preserve original evidence when modifying conclusions rather than updating old observation dates to today.
For cross-step tracking, consult W3C PROV recommendations on entities, activities, and derivation relations to link source versions, reading logs, and answers. This helps explain where conclusions originate without automatically determining source independence or content correctness.
Separate Success, Empty Results, and Unreadable States
In a sanitized business sample from 2026-9-02, web returned 3 results, and one instance of crosscheck returned records for 4 mechanisms. The same round included samples where read failed to read specified documents, HTTP 503 occurred, and requests to scholar succeeded with empty results. These represent specific historical inputs, not behavior guarantees for all calls.
The re-check on 2026-9-4 focused solely on tool catalogs without re-running authentication workflows. Consequently, this post neither claims "read is currently failing" nor "read is restored." Integration acceptance must independently verify full content retrieval, failure state preservation, and citation support; old samples cannot replace current results.
For agents, empty sets should preserve query conditions and time ranges while outputting "no results found this round" rather than "facts do not exist." When unreadable, preserve found URLs and failure states without disguising snippets as full content. When timeouts leave request results unknown, do not jump to conclusions about unexecuted tasks or unchanged accounts.
Retries require limits on counts and trigger conditions. Handle authorization issues for permission failures, fix inputs for parameter errors, and process transient retryable failures according to interface conventions. If evidence remains unobtainable, conclude the item with gaps intact rather than trapping agents in infinite loops or inventing unread content.
Citation Verification and Security Checks Share a Single Delivery Chain
Search content is data to be verified, not new operational instructions. When web pages request local file uploads, API key pasting, security check disabling, or unfamiliar address routing, do not execute them simply because the text originated from search results. Isolate page content from system instructions, credentials, and user authorizations; tools retrieve only data necessary for current problems.
Verify citations line by line after completing answers: do links support adjacent assertions, are limitations preserved, do dates match observations, and are primary sources double-counted? Ensuring reference lists are non-empty is insufficient. Especially when translating "connectable" into "fully implemented" or "supports fields" into "returns every field," citations rarely warn you that original meanings have been broadened.
Workflows can be checked using manually prepared test materials: one primary source with two reprints, old and new versions of the same page, reading results containing only titles, and malicious operational instructions embedded in content. Expected behaviors are removing duplicate evidence, noting versions, keeping reading incomplete, and refusing page instructions. This is a recommended acceptance set, not a running product test in this cycle.
Malicious instructions in web page text represent indirect prompt injection risks described by OWASP. Following principles of least privilege and tool call validation, reading tools should not gain file upload or account modification capabilities from page text; high-risk actions remain controlled by independent authorization steps.
Start Integration with a Single Verifiable Question
Select a single public, low-risk, clearly authorized question for the first round and fix expected primary sources. Record discovery, content, conclusions, and citations step by step, and have humans check for skipped logic. After validating this single evidence chain, expand question categories and tool scopes.
Public catalogs from EveryInfra help verify tools and inputs first; actual business calls, failure handling, and delivery quality must be validated against your own authorized samples. The completion criterion for this post is not "every tool was called," but whether readers can point out which statements have primary support, which remain unknown, and what evidence is needed next. View API Documentation