{"name":"io.github.firish/webfetch","slug":"firish-webfetch","title":"webfetch","description":"Self-hosted web search for LLM agents: search -> fetch -> rank pipeline with semantic caching","url":"https://mcp.market/server/firish-webfetch","rating":null,"grade":"B","score":71,"certified":false,"status":"active","category":"seo","tags":["seo","ai","search"],"presence":{"score":33,"stars":56,"forks":6,"downloads_week":18,"last_push_at":"2026-07-23T01:13:30.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/firish/webfetch","website":null,"version":"0.1.3","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"webfetch-llm","version":"0.1.3","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional - adds Brave to the multi-engine fusion. DDG works with no keys at all.","isSecret":true,"name":"BRAVE_API_KEY"},{"description":"Optional - adds Serper (Google results) to the multi-engine fusion.","isSecret":true,"name":"SERPER_API_KEY"},{"description":"Optional - adds Tavily to the multi-engine fusion.","isSecret":true,"name":"TAVILY_API_KEY"},{"description":"Optional - search strategy: multi (RRF fusion of available engines, default), fallback (priority failover), or a single engine name like ddg.","name":"WEBFETCH_PROVIDER"}]}],"tools":[{"name":"fetch_url","description":"Fetch one page's full extracted text under a budget.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save_finding","description":"Cache a fact learned outside web_search, marked unverified.","write_action":false,"price_micros":0,"input_schema":null},{"name":"savings_report","description":"What webfetch has saved vs hosted web-search pricing: this session (since the server started) plus the lifetime total.","write_action":false,"price_micros":0,"input_schema":null},{"name":"status","description":"Setup status: which search engines have keys and will serve, which optional features are on or degraded, cache location, and the env-var configuration surface.","write_action":false,"price_micros":0,"input_schema":null},{"name":"web_search","description":"Search the web and return ranked, source-labeled excerpts.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":71,"grade":"B","scanned_at":"2026-09-25T17:25:20.093Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:25:19.998Z","components":{"code":{"score":20,"max":25,"notes":["59 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 65 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"webfetch_llm-0.1.3/evals/run_matcher_eval.py: …\"\"\" Layer 1: offline semantic-matcher eval (no network beyond model downloads). Ans…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"webfetch-llm","version":"0.1.3","found":true,"weeklyDownloads":18,"license":"MIT","dependencyCount":23,"publishedAt":"2026-07-19T05:15:02.992276Z","repositoryUrl":"https://github.com/firish/webfetch"}],"repo":{"found":true,"owner":"firish","repo":"webfetch","archived":false,"pushedAt":"2026-07-23T01:13:30Z","stars":56,"forks":6,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/106293665?v=4","ownerCreatedAt":"2022-05-26T03:41:28Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/106293665?v=4&s=128","source":"github"},"presence":{"stars":56,"forks":6,"downloadsWeek":18,"license":"MIT","lastPushAt":"2026-07-23T01:13:30.000Z","score":33}}}},"grade_history":[],"reviews":[]}