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.