Rand Stats

MCP::Server::Tool::Web

zef:apogee
Revision history for MCP::Server::Tool::Web

0.1.1  2026-08-21T21:45:32+01:00
    - All four tools (web_search, web_fetch, web_crawl, web_grep) now declare
      the MCP annotations readOnlyHint and idempotentHint -- every one of them
      is a GET and nothing here ever submits anything -- so a host may run a
      batch of them side by side and ask for one URL once however many slots
      wanted it.
    - Fixed: the Brave provider built its HTTP client in an unguarded lazy
      initialiser, so two searches arriving at once could each build one and
      leak the loser. It is built under a lock now, at most once per provider.

0.1.0  2026-08-20T22:43:57+01:00
    - Initial release: web_search, web_fetch, web_crawl, web_grep tool pack
    - Fixed: Brave.rakumod sent `Accept-Encoding: gzip`, but Cro's
      body-blob never decompresses a gzipped response unless the optional
      Compress::Zlib module is installed, and this class hand-decodes
      body-blob itself — so real (non-error) Brave responses came back
      gzip-compressed, got mangled by the latin-1 decode fallback, and
      web_search failed with a "not JSON" error on every live search.
      The header is no longer sent, and !blob-text now recognises the
      gzip magic bytes and dies with a clear diagnostic instead of
      feeding compressed bytes to from-json, in case a proxy forces
      compression regardless.