Public leaderboard

Public assessment

ashlrai/webfetch (getwebfetch-mcp)

getwebfetch-mcp · v0.1.5 · scanned

What changed in the harness

Selection accuracy 98→95, token cost up 15%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

26.4 / 30

26.4 out of 30
03Economics

19.6 / 20

19.6 out of 20
04Discoverability

19.2 / 20

19.2 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

7 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
search_images
params_unexplained
Federated image search across license-aware providers (Wikimedia Commons, Openverse, Unsplash, Pexels, Pixabay, iTunes, MusicBrainz CAA, Spotify, Brave). `query` is the text to search for. `providers` restricts the search to specific upstream services; omit for the default set. `safeSearch` sets content filtering level (strict/moderate/off). `licensePolicy` selects allowed licensing: 'safe-only' (default; open, platform-license, and editorial/press tags, rejects UNKNOWN) or 'open-only' (CC/public-domain only). `maxPerProvider` caps results per provider (1-50); `minWidth`/`minHeight` filter out smaller images; `timeoutMs` bounds each provider request. Returns concise ranked candidates with license + attribution. Does NOT auto-download — call `download_image` after. For large batches, prefer CLI: webfetch batch --jsonl --continue-on-error.
search_artist_images
params_unexplained no_return_description
Specialized image search for a musical artist. `artist` is the artist name to search. `kind` selects provider set + query expansion: 'portrait' (Wikimedia + Unsplash + Spotify), 'album' (MusicBrainz CAA + iTunes + Spotify), 'logo' (Wikimedia), 'performing' (Wikimedia + Pexels). `providers` overrides the provider set chosen by `kind`; `safeSearch` sets content filtering (strict/moderate/off); `licensePolicy` selects allowed licensing ('safe-only' default, 'open-only' for CC/public-domain only); `maxPerProvider` caps results per provider (1-50); `minWidth`/`minHeight` filter out smaller images; `timeoutMs` bounds each provider request. Returns ranked image candidates with license + attribution. Prefer this over `search_images` when building artist/band content.
search_album_cover
params_unexplained
Find canonical album artwork for an artist/album pair. `artist` is the artist name and `album` is the album name to match. Uses MusicBrainz Cover Art Archive + iTunes + Spotify. `providers` restricts which upstream providers to query; `safeSearch` sets content filtering (strict/moderate/off); `licensePolicy` selects allowed licensing ('safe-only' default, 'open-only' for CC/public-domain only); `maxPerProvider` caps results per provider (1-50); `minWidth`/`minHeight` filter out smaller images; `timeoutMs` bounds each provider request. Returns matching album artwork candidates. Results are EDITORIAL_LICENSED — safe for album identification UI per platform ToS; always show attribution.
download_image
params_unexplained
Download an image URL (typically from a prior search_images result) to the local disk cache. `url` is the image URL to download. `maxBytes` overrides the 20MB hard cap on download size (1KB-100MB). `cacheDir` overrides the default local cache directory. Streams with the size cap, a content-type guard, and SHA-256 hash, and returns the cached file path. Host blocklist enforced.
fetch_with_license
params_unexplained no_return_description
Given an arbitrary URL (image or webpage), determine its license via host heuristics + page metadata (<link rel=license>, dc.rights, og tags). `url` is the image or webpage URL to assess. `probe` (default false) additionally downloads the bytes to verify the assessment. Returns the detected license and the evidence used — a go/no-go decision for shipping.
find_similar
params_unexplained
Reverse-image-search: given a public image URL, find visually similar images. `url` is the public URL of the reference image. `providers` selects which upstream provider to query; this tool requires SERPAPI_KEY env var and providers must be ['serpapi']. Returns candidates with heuristic licenses — treat results as leads, not shippable.
probe_page
params_unexplained
Given a webpage URL, return every <img> on the page with inferred dimensions and a heuristic license per image. `url` is the webpage to scan. `respectRobots` (default true) makes the crawler honor robots.txt restrictions. Use to triage a candidate source page before picking.

Selection evidence

Confusable tool pairs.

4 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
search_images search_artist_images high A task like 'find images of Drake' fits both tools: the general federated search and the artist-specialized variant overlap heavily in purpose and name tokens. The artist tool's own description even says to prefer it over search_images for artist content, which signals the agent must infer intent from phrasing (artist name in query vs. explicit kind) to pick correctly.
search_artist_images search_album_cover medium 'Get the album cover for artist X' is ambiguous: search_artist_images with kind='album' uses the same providers (MusicBrainz CAA + iTunes + Spotify) as search_album_cover, so an agent could pick the artist tool (kind album) instead of the dedicated album-cover tool, especially since both are keyed by artist.
search_images search_album_cover low 'Search for an album cover' could map to either: search_images also queries iTunes/MusicBrainz CAA and returns artwork, while search_album_cover is narrowly specialized and requires an album field. Only the required album parameter and 'canonical artwork' wording disambiguate, so a generic query like 'find the cover of Nevermind' might land on the broader tool.
search_images download_image low A request like 'download an image of X' could make the agent pick download_image directly, but its required url field (and 'typically from a prior search_images result') forces it to first search. Confusion is possible on the first tool choice, though the schema quickly disambiguates.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard