Skip to content
Agentmart
Submit a tool

webfetch

License-first federated image search with attribution, dimensions, and download tooling.

Connector by ashlrai · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 3
Write a review

Chalk Labs

Need help deploying webfetch?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ashlrai-webfetch

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

License-first federated image search with attribution, dimensions, and download tooling.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
16 read · 1 write · 0 delete · 5 not yet classified
Secrets
5 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 22

Read from the source code; the running server may list different tools.

Read 16 · Look things up without changing anything.

  • analyze_deduplication_quality
  • audit_license_consensus
  • batch_find_similar
  • batch_find_similar_with_distances
  • compare_candidates
  • compute_federation_fallback
  • extract_image_metadata_audit
  • fetch_with_license
  • find_similar
  • get_federation_diagnostics
  • get_federation_health_report
  • inspect_cache
Show 4 more tools
  • provider_recommendations
  • search_album_cover
  • search_artist_images
  • search_images

Write 1 · Create, change, send or run things.

  • download_image

Not yet classified 5 · We could not tell from the name and description.

  • batch_cluster_by_phash
  • compare_phashes
  • export_cache_for_replay
  • probe_page
  • refine_search_results

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • BRAVE_API_KEY
  • PEXELS_API_KEY
  • PIXABAY_API_KEY
  • SERPAPI_KEY
  • UNSPLASH_ACCESS_KEY

Network hosts it talks to 2

  • getwebfetch.com · found in code
  • github.com · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (22)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • analyze_deduplication_quality

    Analyze deduplication quality for a set of ImageCandidates by orchestrating semantic + pHash clustering and surfacing actionable metrics. Returns per-cluster false-positive risk (same hash, different visual — threshold too permissive), false-negative risk (same visual split across clusters — threshold too strict due to compression/alt-source), composite confidence (pHash similarity + metadata similarity), provider diversity, and a recommended threshold. Also generates a flat export-ready metrics table. phashThreshold: maximum Hamming distance (default 8) to merge two candidates. semanticWeight…

  • audit_license_consensus

    Reconcile licenses across multiple ImageCandidate objects that may represent the same image from different providers (e.g. wikimedia=CC_BY_SA, unsplash=UNSPLASH_LICENSE). Candidates are grouped automatically by pHash proximity (or URL fallback). For each group the tool: (1) computes pairwise Levenshtein similarity on license strings, (2) determines consensus (similarity > 0.85) or flags a conflict, (3) emits a per-provider audit trail with reasoning sourced from licenseAuditTrail when available, (4) returns a composite confidence score that decays with disagreement and low per-candidate confid…

  • batch_cluster_by_phash

    Cluster a set of ImageCandidates by perceptual similarity using Hamming distance on their pHashes. Candidates are grouped using single-linkage clustering (connect when Hamming distance ≤ hammingThreshold). Within each cluster, the best candidate is promoted to 'representative' — ranked by: license openness (CC0 > CC_BY > … > UNKNOWN), then phash confidence, then image resolution, then provider priority (wikimedia > openverse > unsplash > …). Returns: clusters (sorted largest-first then by top score), clusterMetrics (avgClusterSize, lonelyCount, discardedCount), and dedupeRate (fraction of cand…

  • batch_find_similar

    Reverse-image-search multiple public image URLs in a single call, across one or more providers (brave, serpapi). Returns per-URL candidate lists with heuristic licenses, deduplicated across providers. Federation-level rate-limit state is checked per-provider per-URL; saturated providers are skipped with a warning rather than blocking the batch. Use when an agent needs to discover similar content for many images at once.

  • batch_find_similar_with_distances

    Batch reverse-image search: given multiple reference image URLs, find visually similar images across providers (brave, serpapi) and return results grouped by perceptual-distance clusters. Clusters: 'exact' (Hamming 0-3), 'near-duplicate' (4-8), 'similar' (9-15), 'loosely-related' (16-25). Within each cluster, candidates are ranked license-first (open > platform > editorial > unknown), then by pHash confidence, then provider quality. Returns per-reference pHash metadata, clusters with ranked candidates, aggregate statistics (band breakdown, median/p90 Hamming distances), and non-fatal warnings.…

  • compare_candidates

    Analyse a SearchResultBundle for cross-provider duplicates. Runs two detection passes: (1) URL-level — normalised URLs that appear from multiple providers form a 'url' group (confidence 1.0); (2) pHash-level — candidates whose perceptual hashes are within a Hamming distance threshold form 'phash' groups. Returns a structured ProviderDedupeReport: { duplicateGroups: [{members, reason, confidence}], merged }. Use this after search_images or search_artist_images to understand which providers returned the same image, to tune federation provider selection, and to inform cache strategy. hammingThres…

  • compare_phashes

    Download two image URLs, compute structured perceptual hashes for each (DCT pHash via sharp when available, aHash fallback otherwise), and return per-image metadata plus the Hamming distance. `isMatch` is true when distance ≤ 6 (near-duplicate). Use to rank candidates by perceptual stability, choose between fast (aHash) vs accurate (DCT) deduplication, and build confidence-aware deduplication pipelines.

  • compute_federation_fallback

    Given a FederationRepairPlan (from a prior searchImages call with repairPlan:true) and the detected failure patterns, compute an ordered list of concrete fallback provider substitutions that match the original license policy. Patterns handled: all-unknown-license (switches to providers with structured license metadata, filtered by open-only vs safe-only policy), auth-missing (auto-disables paid/credentialed providers, suggests free alternatives), all-timeout (adds managed-browser opt-in and lower-latency providers), partial-failure (promotes healthy providers, adds backup providers for the fai…

  • download_image

    Download an image URL (typically from a prior search_images result) to the local disk cache. Streams with a 20MB hard cap, content-type guard, SHA-256 hash, and returns the cached file path. Host blocklist enforced.

  • export_cache_for_replay

    Export cached images as a tar archive suitable for CI test fixtures and local-first development. Optionally filter by mimeType prefix (e.g. 'image/jpeg') or ageMs (only include entries younger than this many ms). The tarball can be imported later with importCache / POST /v1/cache/import to restore a deterministic cache state without network calls.

  • extract_image_metadata_audit

    Extract embedded metadata (EXIF artist/copyright, XMP dc:creator/dc:rights/cc:license/xmpRights:UsageTerms, IPTC record 2) from downloaded image bytes, cross-check against provider-supplied candidate metadata, and return a full ImageMetadataAuditResult with per-field confidence scores and a conflict resolution log. Input: base64-encoded image bytes (obtain via download_image) + the ImageCandidate used to find the image. Conflict detection: compares embedded vs provider values using Levenshtein similarity. When similarity > 0.8 (near-agreement), fields are merged and confidence is boosted to 0.…

  • fetch_with_license

    Given an arbitrary URL (image or webpage), determine its license via host heuristics + page metadata (<link rel=license>, dc.rights, og tags). Set probe: true to also download the bytes. Use when an agent already has a URL and needs a go/no-go decision before shipping.

  • find_similar

    Reverse-image-search: given a public image URL, find visually similar images. Requires SERPAPI_KEY env var and providers: ['serpapi']. Returns candidates with heuristic licenses — treat results as leads, not shippable.

  • get_federation_diagnostics

    Returns real-time aggregated provider telemetry over a sliding 5-minute window. Shows per-provider avg latency, result counts, error rates, last-success timestamp, and rate-limit bucket state (saturated / nextTokenAt). Use to detect slow/failing providers, spot rate-limit saturation, and optimize provider selection mid-run. windowMs defaults to 5 minutes (300000).

  • get_federation_health_report

    Returns a comprehensive federation health report combining real-time diagnostics with actionable provider recommendations over a sliding 5-minute window. Includes: per-provider health status (healthy/degraded/saturated/unavailable), ranked provider list by composite score (latency_p50, error_rate, throughput), suggested fallbackChain ordered by reliability (excludes saturated/unavailable providers), estimated recovery time from rate-limit buckets, and the full diagnostics dashboard. Use this instead of get_federation_diagnostics when you need both health analysis and routing recommendations in…

Show 7 more tools
  • inspect_cache

    Return cache statistics (total entries, bytes, content-type breakdown, oldest/newest sha) plus the most recent cache entries. Use to debug cache state, understand what is cached locally, and confirm that prior downloads are available for replay without network calls.

  • probe_page

    Given a webpage URL, return every <img> on the page with inferred dimensions and a heuristic license per image. Respects robots.txt by default. Use to triage a candidate source page before picking.

  • provider_recommendations

    Returns actionable per-provider recommendations with four enhanced diagnostics surfaces: (1) Comparative performance ranking — narrative insights per provider (e.g. 'Unsplash consistently fastest at p50=120ms; Bing has 15% error rate'). (2) License-coverage heatmap — which providers return the most OPEN vs UNKNOWN results, ranked by openness, based on each provider's known license profile. (3) Per-query-category provider selection advice — e.g. for 'portraits' prioritize wikimedia + spotify; for 'album_art' use musicbrainz-caa + itunes. (4) Cost-benefit analysis — free vs paid tiers, license p…

  • refine_search_results

    Post-process a SearchResultBundle to identify low-confidence candidates and emit a RefinementPlan. For each low-confidence or UNKNOWN-license candidate the tool assigns one of three actions: 'probe-page' (fetch sourcePageUrl for richer metadata), 'upgrade-provider' (retry with a provider that returns structured license data), or 'fallback-to-open-only' (restrict licensePolicy to eliminate UNKNOWN results). Also returns an ordered upgradePath of licensePolicy changes ranked by expected confidence gain, and lists providers observed to have high confidence for similar queries via federation diagn…

  • search_album_cover

    Find canonical album artwork. Uses MusicBrainz Cover Art Archive + iTunes + Spotify. Results are EDITORIAL_LICENSED — safe for album identification UI per platform ToS; always show attribution.

  • search_artist_images

    Specialized image search for a musical artist. `kind` selects provider set + query expansion: 'portrait' (Wikimedia + Unsplash + Spotify), 'album' (MusicBrainz CAA + iTunes + Spotify), 'logo' (Wikimedia), 'performing' (Wikimedia + Pexels). Prefer this over `search_images` when building artist/band content.

  • search_images

    Federated image search across license-aware providers (Wikimedia Commons, Openverse, Unsplash, Pexels, Pixabay, iTunes, MusicBrainz CAA, Spotify, Brave). Returns concise ranked candidates with license + attribution. Does NOT auto-download — call `download_image` after. Default safe-only policy includes open, platform-license, editorial/press tags and rejects UNKNOWN. Use open-only for CC/public-domain only. For large batches, prefer CLI: webfetch batch --jsonl --continue-on-error.

Signals

Stars
3
Forks
0
Open issues
1
Last commit (this folder)
Sep 29, 2026 (1 month ago)
Last release
May 10, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.ashlrai/webfetch
Version
0.1.5
Auth
API key
Packages
npm getwebfetch-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from ashlrai

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get webfetch running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying webfetch?

CallGet help
Cite this page

webfetch MCP server. Agent Mart. https://agentmart.dev/connectors/ashlrai-webfetch (last updated 2026-10-25)