🔍 Free Web Search Ultimate
Universal Search-First Knowledge Acquisition Plugin for LLMs
One install. Every LLM. Real-time knowledge. Zero cost.
Stop letting your LLM guess. Give it the ability to search.
By default, every LLM—Claude, GPT-4, Gemini—answers questions from training data that can be months or years out of date. This plugin introduces a Search-First Paradigm: the LLM is instructed to use real-time web search as its primary knowledge source, not a fallback.
🏗️ Architecture
One plugin, every ecosystem. Whether you use Claude Desktop, Cursor, OpenClaw, or a custom LangChain agent, this plugin connects your LLM to the live web through a unified interface.
The free_web_search/skills/ directory contains the auto-discoverable SKILL.md that CLI-Anything compatible frameworks (such as OpenClaw) load automatically at startup — no manual configuration required.
🌟 The "Search-First" Paradigm
| Old Paradigm (Default LLM) | New Paradigm (This Plugin) |
|---|---|
| Answers from training data | Answers from live web search |
| Knowledge cutoff date | Always up-to-date |
| May hallucinate facts | Cites verifiable sources |
| Single knowledge source | Multi-source cross-validation |
When this plugin is installed, the AI agent is instructed to:
- Never Guess Facts — Use
search-webbefore answering any factual, technical, or real-time question. - Override Internal Knowledge — Even if the LLM "knows" the answer, it verifies via search for topics prone to change.
- Deep Verification — If search snippets are insufficient, use
browse-pageto read the full source. - Cite Sources — Always provide the source URLs in the final answer.
📦 Installation
pip install free-web-search-ultimate
Requirements: Python 3.10+
Or install from source:
git clone https://github.com/wd041216-bit/free-web-search-ultimate.git
cd free-web-search-ultimate
pip install -e .
🔌 Integration Guide
Claude Desktop & Cursor (via MCP)
Add to your claude_desktop_config.json or Cursor MCP settings:
{
"mcpServers": {
"free-web-search": {
"command": "free-web-search-mcp",
"args": []
}
}
}
That's it. Claude and Cursor will now have access to search_web and browse_page tools.
OpenClaw (via CLI-Anything)
# Install — the skill is auto-discovered from the bundled SKILL.md
pip install free-web-search-ultimate
OpenClaw reads the bundled SKILL.md and automatically loads the Search-First behavioral instructions.
LangChain / Custom Agents
from langchain.tools import Tool
import subprocess, json
def search_web(query: str) -> str:
result = subprocess.run(
["search-web", query, "--json"],
capture_output=True, text=True
)
data = json.loads(result.stdout)
return data.get("answer", "No results found.")
search_tool = Tool(
name="search_web",
func=search_web,
description="Search the web for real-time information. Use this before answering any factual question."
)
OpenAI Function Calling
tools = [
{
"type": "function",
"function": {
"name": "search_web",
"description": "Search the web for real-time information, news, or facts. Always call this before answering factual questions.",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "The search query"},
"type": {"type": "string", "enum": ["text", "news", "images", "videos", "books"], "default": "text"}
},
"required": ["query"]
}
}
}
]
💻 CLI Usage
search-web — Web Search
# General knowledge
search-web "Python 3.13 new features"
# Breaking news
search-web "OpenAI GPT-5" --type news --timelimit w
# Images
search-web "neural network diagram" --type images
# Chinese search
search-web "人工智能最新进展" --region zh-cn
# JSON output for programmatic use
search-web "quantum computing" --json
browse-page — Deep Page Reading
# Read full page content
browse-page "https://docs.python.org/3/whatsnew/3.13.html"
# JSON output
browse-page "https://arxiv.org/abs/2303.08774" --json
🏆 Why This Over Alternatives?
| Feature | This Plugin | Tavily API | Serper API | Bing Search API |
|---|---|---|---|---|
| Cost | Free | $0.01/req | $0.001/req | $3/1000 req |
| API Key Required | No | Yes | Yes | Yes |
| Privacy | Local | Cloud | Cloud | Cloud |
| MCP Support | Yes | Partial | No | No |
| CLI-Anything | Yes | No | No | No |
| Image Search | Yes | No | Yes | Yes |
| Book Search | Yes | No | No | No |
| Browse Page | Yes | Yes | No | No |
📄 License
MIT License — free for personal and commercial use.
Metadata
Release files for free-web-search-ultimate 13.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| free_web_search_ultimate-13.0.0.tar.gz | 19.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| free_web_search_ultimate-13.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.8 kB
Release files / free_web_search_ultimate-13.0.0.tar.gz
| Download URL | free_web_search_ultimate-13.0.0.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
471d517512306f7414d51eee403ba877af6eac16b0de28772f8e54dab30c0097
|
|
BLAKE2b-256 checksum How to use checksums |
eb4748e161b507eff9b719a5db1cb557c952f5c84fa202b94c695cd8bf79245c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|
Release files / free_web_search_ultimate-13.0.0-py3-none-any.whl
| Download URL | free_web_search_ultimate-13.0.0-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7719016678d58cb628165989b2dd67597fa3b08c9b68b9e737784edbb783813e
|
|
BLAKE2b-256 checksum How to use checksums |
e5c1a0f1009c630bed7e7e1d977c055ee9609393136bdc6d309d7bb70e0b0cd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|