Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/firish/webfetchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/plugins/firish/webfetch/plugin)<a href="https://agentmods.dev/plugins/firish/webfetch/plugin"><img src="https://agentmods.dev/badge/plugins/firish/webfetch/plugin/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/plugins/firish/webfetch/plugin"><img src="https://agentmods.dev/badge/plugins/firish/webfetch/plugin.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
webfetch scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "webfetch",
"displayName": "webfetch",
"version": "0.1.3",
"description": "Own your LLM's web search: web_search, fetch_url, and save_finding tools backed by a local search -> fetch -> rank pipeline with semantic caching - up to 8x fewer input tokens and 3x lower cost than hosted web search.",
"author": {
"name": "Rishi Gulati",
"url": "https://github.com/firish"
},
"homepage": "https://github.com/firish/webfetch",
"repository": "https://github.com/firish/webfetch",
"license": "MIT",
"keywords": ["web-search", "search", "mcp", "semantic-cache", "cost-optimization"]
}
What it installs
The manifest is a name and a version. 1 MCP server travel with it, and installing the plugin installs all of them. Each is measured on its own page, and each can be installed alone.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 16 lines scan A 773b75081d99
webfetch is a plugin published in the GitHub repository firish/webfetch (59 stars, last pushed 2mo ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other plugins, from other repositories
wiki
AI-generated documentation backend for code repositories.
scg
Source Capability Graph — map connector reachability + route/traverse it for Agentic Search.
mewbo-apps-builder
app-builder + app-repair agents and the submitapp / appdata session tools for the Mewbo Apps sub-product.
generative-ui
presentui SessionTool — structured UI panels rendered inline in the conversation.
widget-builder
st-widget-builder sub-agent for stlite console widgets.
device-control
Observe→act playbook for driving an Android device through the deviceui / deviceaction tools.