web-forager
A search-and-fetch toolkit for AI agents — MCP server and standalone Agent Skills powered by DuckDuckGo and Jina Reader
What it is and what it does
Web Forager is a search-and-fetch toolkit designed for AI agents and LLM workflows. It wraps DuckDuckGo web search, DuckDuckGo news search, and Jina Reader into a unified interface that can run as an MCP server (for integration with Claude, Cursor, and other MCP clients) or as standalone command-line tools and Python Agent Skills. The package converts web pages and search results into markdown or JSON formats optimized for LLM consumption, handling the common friction points of web scraping — cookie banners, dynamic content, and inconsistent HTML structure — by falling back through multiple fetching strategies.
The toolkit ships with six runtime dependencies: mcp and fastmcp for MCP server functionality, requests and urllib3 for HTTP transport, beautifulsoup4 for HTML parsing, and ddgs for DuckDuckGo integration. It supports Python 3.10 through 3.13 and is actively maintained. The package is positioned as a research and fact-checking aid for AI agents, with specialized Agent Skills for competitive analysis and technology evaluation.
Use it for:
- Integrate web search into Claude Desktop or Cursor via MCP to give LLMs real-time web access.
- Build autonomous research agents that fetch and summarize news articles and web pages.
- Fact-check claims by searching DuckDuckGo and converting results into structured data for LLM analysis.
- Monitor competitive products and technologies by automating news search and page fetching.
- Use standalone Agent Skills in Python scripts for specialized research workflows without MCP overhead.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Web Forager is a search-and-fetch toolkit for AI agents that retrieves web content via DuckDuckGo, news search, and Jina Reader, then converts results into LLM-friendly formats.
Yes, if you need web search and page fetching for AI agents. The package is actively maintained, has low install friction, carries a permissive MIT license, and integrates cleanly with MCP clients like Claude Desktop. No known vulnerabilities. The main gotcha is Python version support (3.10–3.13 only) and potential rate-limiting or API stability issues with DuckDuckGo and Jina Reader, which the fact sheet does not detail.
Install
web-forager on PyPI
pip
pip install web-forageruv
uv add web-foragerpoetry
poetry add web-foragerInstalling web-forager
Before you install
Low install friction with a pure Python wheel. Requires Python 3.10 or higher. Actively maintained with a recent commit on 2026-08-09 and six runtime dependencies (mcp, fastmcp, requests, urllib3, beautifulsoup4, ddgs) that are themselves well-established.
License in practice
MIT license is permissive, allowing use in commercial and private projects with minimal restrictions — only requiring attribution.
Quickstart
pip install web-forager
# CLI usage
web-forager search "your query" --max-results 5
web-forager news "your query" --max-results 10
web-forager fetch "https://example.com" --format markdown
# Or start as MCP server
web-forager serve
Requires Python 3.10 or higher; Python 3.14 is not yet supported.
Verify before relying
- Whether Jina Reader API access requires authentication or has rate limits.
- DuckDuckGo API stability and any terms-of-service constraints for automated queries.
- Performance characteristics when handling large result sets or long-form page content.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — mcp, fastmcp, requests, urllib3, beautifulsoup4, ddgs |
| Maintenance | actively maintained — 162 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 328,912/month — #7,551 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: web_forager-3.0.1-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
duckduckgo-mcpThis package is deprecated; install web-forager…
permissive · top 15,000 on PyPI
duckduckgo-mcp-serverProvides web search and content fetching…
permissive · top 15,000 on PyPI
duckduckgo-searchRetrieves search results from DuckDuckGo for…
permissive · top 5,000 on PyPI
mcp-server-fetchProvides a Model Context Protocol server that…
permissive · top 5,000 on PyPI
cogneeCognee builds a self-hosted knowledge graph…
permissive · top 15,000 on PyPI
ddgsAggregates web search results from multiple…
permissive · top 5,000 on PyPI
gpt-researcherGPT Researcher is an autonomous agent that…
permissive · top 15,000 on PyPI
arxiv-mcp-serverAn MCP server that exposes arXiv search, paper…
permissive · top 15,000 on PyPI
reme-aiReMe is a local-first knowledge base that…
permissive · top 15,000 on PyPI
wikipedia-mcpExposes Wikipedia search, article retrieval,…
permissive · top 15,000 on PyPI