yttcom.net · CAI Document Library
Research & Reference · Tools

Web Research Tools — Platform Reference

Complete reference for every tool available on the CAI platform for fetching and researching external web content. Three distinct tools at three distinct layers: MCP (AI session), server-side PHP, and interactive browser UI. This document covers what each tool does, how to call it, when to use it, and where it lives in the platform hierarchy.

08/07/26 Claude Code · v1.0 Reference Live — all tools active PATH: backend/ed/library/web-research-tools.html
Overview

The CAI platform has three independent web research tools, each serving a different layer of the platform. They can be used together — for example, Exa Search to find a URL, Exa Fetch or web-fetch.php to pull the full content, and web-browser.html to drill deeper into the links on that page. None of them require the others to function.

MCP Layer

Exa Search

Live external web search. Returns fresh results from the open web — news, docs, prices, code. No HTTP call needed — built into every Claude session automatically.

Tool: web_search_exa
Account-wide · No setup
MCP Layer

Exa Fetch

Fetch the full clean text from a specific URL. Better than raw HTML — extracts readable content. Available in every Claude session automatically.

Tool: web_fetch_exa
Account-wide · No setup
Server Layer

Web Fetch API

PHP backend with multi-source search (8 sources), URL fetch, media download, and SQLite cache. Callable from any system via HTTP GET with the platform token.

backend/tools/critical/web-fetch.php
Token · REST API
Interactive Layer

Web Browser

Full interactive proxy browser UI. Enter a URL, navigate by clicking links, browse history, and send page content directly to any system inbox. David-facing.

backend/web/web-browser.html
Browser UI · Proxy-based
Exa tools are MCP-layer only. They are available in Claude Code sessions and any AI system session — but they cannot be called via HTTP. If a PHP script or a non-Claude process needs web data, use web-fetch.php instead.
Tool 1 — Exa Search (MCP)
Exa Search
web_search_exa
MCP · Account-wide

Live web search powered by Exa. Returns recent, real-world results — news, documentation, pricing, code, research — that postdate Claude's training cutoff. Use this whenever you need information about something that happened recently, want to verify current facts, or need to find a specific URL before fetching it. Announced in COMMS #39 (08/05/26) by Tech [30].

How to call (in any AI session)
# No HTTP request, no token, no setup required. # Call the MCP tool directly in your session: Tool: web_search_exa Input: { "query": "your search query here" } # Returns: list of results with title, URL, snippet, and optionally full text.
Parameters
ParameterTypeDescription
querystringSearch query. Natural language works well. Be specific for better results.
num_resultsintegerOptional. Number of results to return.
use_autopromptbooleanOptional. Let Exa optimize the query for better results.
typestringOptional. "keyword" or "neural" search mode.
include_domainsarrayOptional. Limit results to these domains (e.g. ["github.com"]).
start_published_datestringOptional. ISO date — filter results published after this date.
Best use: Finding current information, research, documentation lookups, price checks, "what is the latest version of X," verifying facts that may have changed since training. Not needed for things Claude already knows well.
Tool 2 — Exa Fetch (MCP)
Exa Fetch
web_fetch_exa
MCP · Account-wide

Fetches the full readable text from a specific URL. Exa's extraction is clean — it removes navigation, ads, and boilerplate and returns the meaningful content of the page. Use this when you already have a URL and want to read the full content of that page. Announced in COMMS #41 (08/05/26) by Tech [30].

How to call (in any AI session)
# No HTTP request, no token, no setup required. Tool: web_fetch_exa Input: { "url": "https://example.com/page" } # Returns: clean extracted text content of the page.
Parameters
ParameterTypeDescription
urlstringFull URL to fetch. Must be publicly accessible. HTTPS preferred.
Tip — Search then Fetch: Use web_search_exa first to find the best URL, then web_fetch_exa to get the full content of that page. This is the recommended pattern for thorough research.
Tool 3 — web-fetch.php (Server Layer)
Web Fetch API
backend/tools/critical/web-fetch.php
PHP · Token Required

Server-side PHP tool for web search and page fetching. Supports 8 specialized search sources (Wikipedia, PubMed, news, Stack Overflow, GitHub, Dev.to, Google Scholar, recipes). Results are cached for 120 minutes in SQLite. Has a visual UI at /backend/web/web-fetch.html. Use this when you need web data from PHP code, cron scripts, or server-side logic. Also useful from AI sessions when you want to cache results server-side.

Endpoint
GET https://yttcom.net/backend/tools/critical/web-fetch.php ?token=[AUTH_TOKEN] &action=search | fetch | download_media | log &system=[decade_code] # 00 for CC, 10-95 for systems
Actions
ActionKey ParamsWhat it does
search q, source, limit Search external web. source: auto | wikipedia | pubmed | news | stackoverflow | github | devto | scholar | recipes | all. Results cached 120 min.
fetch url, extract Fetch a URL and return its content. extract=text returns clean text; extract=raw returns HTML. Cached 120 min.
download_media url, filename Download a media file (image, video, PDF) and save it to backend/web/media/[system]/.
log limit Return recent fetch log entries from the SQLite DB.
Example — Search
GET /backend/tools/critical/web-fetch.php ?token=yttcom-admin-... &action=search &q=php sqlite caching best practices &source=stackoverflow &limit=10 &system=30
Example — Fetch URL
GET /backend/tools/critical/web-fetch.php ?token=yttcom-admin-... &action=fetch &url=https://www.wikipedia.org/wiki/SQLite &extract=text &system=40
UI available: David can use all of these actions through the visual interface at /backend/web/web-fetch.html — no coding needed.
Tool 4 — Web Browser (Interactive UI)
Web Browser
backend/web/web-browser.html
Browser UI · David-facing

Full interactive proxy browser. Enter any URL and see a clean reader view of the page. All links on the page are listed and clickable — click to drill deeper into any page without leaving the platform. Full navigation history, back/forward buttons, and a "Send to System" bar at the bottom to drop the current page into any AI system's inbox for them to work with.

Interface Layout
ElementWhat it does
Address barEnter any URL + Go. Back, Forward, Reload buttons.
Page tabReader view — structured sections, title, Copy URL / Copy text.
Links tabEvery link from the current page. Filter box. Click any link to navigate there.
History tabLast 40 visited pages. Click to revisit. Clear all button.
Send barToggle buttons for each system (10–95). Hit Send Page to drop the full page text to selected system inboxes via ANNOUNCE.
Backend
backend/tools/critical/web-browser.php # Actions: fetch # Fetch URL → title + structured sections + links[] history # Return last N visited pages from SQLite clear_history # Wipe browsing history send # Send page text to system inboxes via ANNOUNCE # History DB: backend/tools/critical/browser-history.db
Sending to systems: When David sends a page, the system receives an inbox message with the full URL, page title, and up to 4,000 characters of extracted text. The system can then use Exa Fetch or web-fetch.php to pull more if needed.
Use-Case Guide — Which Tool to Use
Situation What you need Use this
AI session needs current news or facts Live search with fresh results web_search_exa
AI session has a URL, needs full page content Fetch specific URL cleanly web_fetch_exa
Research a topic from Wikipedia Source-specific search web-fetch.php (source=wikipedia)
Find code solutions or answers Stack Overflow / GitHub search web-fetch.php (source=stackoverflow or github)
Medical or scientific research PubMed / Scholar search web-fetch.php (source=pubmed or scholar)
Download an image or PDF to the server Save media file server-side web-fetch.php (action=download_media)
David wants to browse a site interactively Visual browser with link navigation web-browser.html
David found a useful page, wants a system to see it Send page content to system inbox web-browser.html → Send to System
PHP script or cron needs web data Server-side HTTP call with cache web-fetch.php (call from PHP)
Need results cached and available without re-fetching 120-min SQLite cache web-fetch.php
Platform Hierarchy — Where Everything Lives

The web research tools span three platform layers. The diagram below shows where each file lives, who can access it, and how they connect.

── MCP LAYER (Claude sessions only) ────────────────────────────────────── web_search_exa ← live web search · no file, no token · auto-available web_fetch_exa ← fetch any URL cleanly · no file, no token · auto-available ↕ Available in: Claude Code (CC) + all 11 AI system sessions ↕ Announced: COMMS #39 (search), COMMS #41 (fetch) — 08/05/26 by Tech [30] ── SERVER LAYER (HTTP · token required) ────────────────────────────────── backend/tools/critical/web-fetch.php ← search + fetch + media download backend/tools/critical/web-browser.php ← browser proxy backend backend/tools/critical/browser-history.db ← browsing history (SQLite) ↕ Callable from: any system via GET/POST · PHP scripts · cron jobs ↕ Auth: token = yttcom-admin-d60283b1a40a3180ea51e7a579e4d9f2f8fc5f07ac81d89e ── INTERACTIVE LAYER (Browser UIs · David-facing) ──────────────────────── backend/web/web-browser.html ← interactive proxy browser (v1.0) backend/web/web-fetch.html ← web-fetch.php visual UI (v1.0) ↕ Access from: backend/index.html → Admin Tools section ↕ Send to systems: page content → ANNOUNCE → system inboxes ── DOCUMENTATION ────────────────────────────────────────────────────────── backend/ed/library/web-research-tools.html ← this document backend/api/index.html ← API catalog (v1.2) systems/governance/NAV-MAP.md ← URL navigation map backend/docs/platform-architecture-ai.html ← architecture reference (v1.2)
Complete File Index
backend/tools/critical/web-fetch.php PHP API — search (8 sources), fetch URL, download media, log. Token auth. 120-min cache.
backend/tools/critical/web-browser.php PHP proxy — cURL external pages, extract sections+links, SQLite history, send to inboxes. v1.0 · 08/07/26.
backend/tools/critical/browser-history.db SQLite DB for web-browser.php history. Auto-created on first use. UNIQUE url constraint.
backend/web/web-fetch.html UI for web-fetch.php. Tabs: Search, Fetch URL, Download, Log. v1.0 · 08/06/26.
backend/web/web-browser.html Interactive proxy browser. Address bar, back/forward, Page/Links/History tabs, Send to System. v1.0 · 08/07/26.
backend/ed/library/web-research-tools.html This document. Full reference for all platform web tools.
backend/api/index.html API catalog — web-fetch.php, web-browser.php, and Exa MCP tools all documented here. v1.2.
systems/governance/NAV-MAP.md Navigation map — all four web tools listed (Admin Tools section + API endpoints section).
COMMS Record — How This Came to Be
COMMS #DateSent BySubject
#3908/05/26Tech [30]Exa Search MCP tool now available — account-wide web search in every Claude session
#4108/05/26Tech [30]Exa Fetch MCP tool now available — pull full clean page text from any URL in every Claude session
08/06/26Claude Codeweb-fetch.html UI built (v1.0) — visual interface for web-fetch.php
08/07/26Claude Codeweb-browser.html built (v1.0) — interactive proxy browser with link drill-down and Send to System