Web Forager — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Web Forager (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Illustration of a determined scribe wielding a giant quill fighting a tangle of papers and monsters, with a duck in a cap at his side and stacks of documents and crates behind
The thing about information on the web is that it doesn't want to be found. It wants to hide behind cookie banners, keep itself to itself, and generally behave like a cat that knows it's time for the vet. Web Forager is the sort of dogged, slightly grubby assistant who goes out there anyway — accompanied by a duck of questionable temperament — rummages through DuckDuckGo, grabs pages directly when it can, and calls in Jina Reader when things get complicated. The results come back neatly converted for LLM consumption, which is to say, in a format that would make a librarian weep with either joy or despair, depending on the librarian.
Web Forager gives AI agents practical web research workflows as Agent Skills. The skills search DuckDuckGo, monitor news, fetch pages, and synthesize cited answers.
Default usage is skill-first. You do not need to configure an MCP server to use the research workflows.
Install all five skills with one command. It works for 50+ coding agents:
npx skills@latest add CyranoB/web-foragerThe installer detects your agents, asks which skills you want, and places them in the right location.
Common variations:
npx skills@latest add CyranoB/web-forager --list
npx skills@latest add CyranoB/web-forager --skill deep-research
npx skills@latest add CyranoB/web-forager --skill '*' -a claude-code -a codex -yInstall as skills/plugins when your agent supports them. Use MCP only when your tool does not support skills, or when you want raw search/fetch tools instead of guided research workflows.
<details> <summary><strong>Claude Code</strong></summary>
Install all five skills from the plugin marketplace:
/plugin marketplace add CyranoB/web-forager
/plugin install forager-skills@web-foragerRestart Claude Code, then check /skills.
The Quickstart command above is also available as a cross-agent install path.
MCP-only fallback:
claude mcp add --transport stdio web-forager -- uvx --python ">=3.10,<3.14" web-forager serve</details>
<details> <summary><strong>Codex</strong></summary>
Install the skills for the current project:
npx skills@latest add CyranoB/web-forager -a codexInstall globally instead:
npx skills@latest add CyranoB/web-forager -a codex -gMCP-only fallback:
codex mcp add web-forager -- uvx --python ">=3.10,<3.14" web-forager serve</details>
<details> <summary><strong>VS Code / GitHub Copilot</strong></summary>
If your VS Code build supports agent plugins, use the command palette:
Cmd+Shift+P on macOS or Ctrl+Shift+P on Windows/Linux.Chat: Install Plugin From Source.https://github.com/CyranoB/web-forager.MCP-only fallback: configure a local MCP server with the standard config below.
</details>
<details> <summary><strong>Gemini CLI</strong></summary>
Install the skills for the current project:
npx skills@latest add CyranoB/web-forager -a gemini-cliInstall globally instead:
npx skills@latest add CyranoB/web-forager -a gemini-cli -gMCP-only fallback:
gemini mcp add web-forager uvx --python ">=3.10,<3.14" web-forager serve</details>
<details> <summary><strong>Pi Coding Agent</strong></summary>
Install the skills for the current project:
npx skills@latest add CyranoB/web-forager -a piInstall globally instead:
npx skills@latest add CyranoB/web-forager -a pi -gFor one-off sessions from a local checkout, pass a skill path explicitly:
pi --skill web-forager/skills/deep-researchMCP-only fallback: configure a local MCP server with the standard config below.
</details>
<details> <summary><strong>Kiro CLI</strong></summary>
Install the skills for the current workspace:
npx skills@latest add CyranoB/web-forager -a kiro-cliInstall globally instead:
npx skills@latest add CyranoB/web-forager -a kiro-cli -gKiro's default agent loads skills from both locations automatically. For custom agents, add skill resources such as:
{
"resources": [
"skill://.kiro/skills/*/SKILL.md",
"skill://~/.kiro/skills/*/SKILL.md"
]
}</details>
<details> <summary><strong>Cursor, OpenCode, Cline, Windsurf, JetBrains</strong></summary>
Use the standard MCP config below unless your client supports Agent Skills or plugins from a GitHub repository. If it does, install from:
https://github.com/CyranoB/web-forager</details>
For any Agent Skills-compatible tool, install one skill by name:
npx skills@latest add CyranoB/web-forager --skill deep-researchDirect skill URLs also work:
npx skills@latest add https://github.com/CyranoB/web-forager/tree/main/skills/deep-researchAfter installing, ask your agent naturally. The matching skill should be selected automatically by skill metadata.
Examples:
Research the current state of open-source browser agents.
Fact check: did Apple announce a foldable iPhone?
What's new with Anthropic this month?
Map the competitive landscape for AI meeting assistants.
Should we adopt Bun for a production Node service?| Skill | Use it for | Output |
|---|---|---|
| deep-research | General research, lookups, deep dives | Adaptive report with citations |
| fact-check | Verifying a specific claim | Verdict with supporting and contradicting evidence |
| news-monitor | Recent news and updates | Chronological briefing |
| competitive-intel | Market maps and competitor analysis | Landscape or positioning report |
| tech-advisor | Tech/product evaluation and adoption decisions | Recommendation with evidence |
The skills prefer tools in this order:
uvx.ddgs fallback through uv run --no-project.Python 3.10-3.13 is supported. Python 3.14 is not supported yet, so all documented uvx commands pin --python ">=3.10,<3.14".
Use the MCP server only if you want reusable search/fetch tools exposed directly to an MCP-compatible client. Skills work without this setup.
Add a local stdio MCP server with this standard config:
{
"mcpServers": {
"web-forager": {
"command": "uvx",
"args": ["--python", ">=3.10,<3.14", "web-forager", "serve"]
}
}
}Some clients use a different top-level config shape, but the command and args are the same.
Run commands without installing the package:
uvx --python ">=3.10,<3.14" web-forager search "your search query" --max-results 5 --output-format text
uvx --python ">=3.10,<3.14" web-forager news "your topic" --max-results 10 --output-format text
uvx --python ">=3.10,<3.14" web-forager fetch "https://example.com" --format markdownOr install locally:
uv pip install web-forager
web-forager search "your search query"
web-forager news "your topic"
web-forager fetch "https://example.com"The MCP server exposes:
| Tool | Purpose |
|---|---|
duckduckgo_search | Search the web with DuckDuckGo-compatible results |
duckduckgo_news_search | Search recent news with dates and sources |
web_fetch | Fetch a URL and return markdown or JSON |
Search and news tools return JSON by default and support output_format="text" for LLM-friendly formatted results.
git clone https://github.com/CyranoB/web-forager.git
cd web-forager
uv pip install -e ".[dev]"
pytestUseful local commands:
web-forager serve
web-forager version --debugddgs package.trafilatura first, then falls back to Jina Readerfor JavaScript-heavy or bot-protected pages.
.claude-plugin/marketplace.json.MIT. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.