Add web search to your AI agent
SCOUTS-AI gives AI agents a no-key web search tool. One MCP server, one HTTP endpoint and the same JSON shape everywhere. Pick your host, copy the config and start searching.
Shared contract
- Endpoint:
GET https://scouts-ai.com/api/search - Params:
q(required, 1–512 chars),lang(defaulten),page(1–10). - Top-level JSON:
query,lang,page,pageSize,cached,tookMs,results. - Each item in
results:title,url,content,publishedAt(ornull),engine(ornull). - MCP tool name:
web_search. - OpenClaw provider id:
scouts-ai-search. Tool name:scouts_ai_web_search. - Errors:
429withRetry-After. Do not bypass rate limits.
1. Claude Desktop (MCP)
Add the MCP server to claude_desktop_config.json:
{
"mcpServers": {
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
}
Test prompt: “Search the web for the latest MCP server registry changes and cite sources.”
2. Cursor (MCP)
Open Cursor → Settings → MCP and add a new global MCP server. Command is the same as Claude Desktop.
{
"mcpServers": {
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
}
Use it for code research, library lookups and changelog checks. Test prompt: “Look up the current TypeScript ESM package.json contract for MCP plugins.”
3. Cline (MCP)
Cline reads the same MCP config. Point its MCP server list to:
{
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
Test prompt: “Search docs for InetAddress.ofLiteral in Java 25.”
4. Continue (MCP or HTTP)
If your Continue build supports MCP, register the same server. Otherwise point it at the HTTP endpoint:
GET https://scouts-ai.com/api/search?q={query}&lang=en&page=1
5. Open WebUI (MCP)
Open WebUI accepts MCP servers under Settings → Tools. Set command to scouts-ai-mcp and pick a stable name like scouts-ai.
{
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
Pair it with a local model for private agent search. The tool shows up in chat as web_search.
6. OpenClaw (plugin)
Install the OpenClaw plugin:
openclaw plugins install clawhub:@scouts-ai/openclaw-search
Or from a local checkout:
git clone https://github.com/scouts-ai/scouts-ai-openclaw-plugin.git
cd scouts-ai-openclaw-plugin
pnpm install
pnpm build
openclaw plugins install --link .
Optional config in ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"scouts-ai-search": {
"enabled": true,
"config": {
"baseUrl": "https://scouts-ai.com",
"defaultLang": "en",
"timeoutMs": 5000,
"maxQueryLength": 512,
"maxPage": 10
}
}
}
}
}
Tool: scouts_ai_web_search. Enable in tools.allow if your host filters tools by name.
7. Hermes (MCP or HTTP wrapper)
Hermes agents that support MCP can register the official server:
{
"mcpServers": {
"scouts-ai": {
"command": "scouts-ai-mcp"
}
}
}
Hermes builds without MCP support can wrap the HTTP endpoint. Example wrapper exposing a web_search tool to a Hermes agent runtime:
import httpx
def web_search(query: str, lang: str = "en", page: int = 1) -> dict:
"""Search the public web via SCOUTS-AI and return compact JSON."""
r = httpx.get(
"https://scouts-ai.com/api/search",
params={"q": query, "lang": lang, "page": page},
timeout=10.0,
)
r.raise_for_status()
return r.json()
Hook the wrapper into your Hermes tool registry under the name web_search. The exact registration call depends on your Hermes build — check your host’s tool/plugin docs.
8. LangChain (Python tool)
import requests
from langchain_core.tools import tool
@tool
def scouts_ai_web_search(query: str, lang: str = "en", page: int = 1) -> dict:
"""Search the public web via SCOUTS-AI and return compact JSON."""
r = requests.get(
"https://scouts-ai.com/api/search",
params={"q": query, "lang": lang, "page": page},
timeout=10,
)
r.raise_for_status()
return r.json()
9. LlamaIndex (tool)
import requests
from llama_index.core.tools import FunctionTool
def scouts_ai_web_search(query: str, lang: str = "en", page: int = 1) -> dict:
r = requests.get(
"https://scouts-ai.com/api/search",
params={"q": query, "lang": lang, "page": page},
timeout=10,
)
r.raise_for_status()
return r.json()
tool = FunctionTool.from_defaults(
fn=scouts_ai_web_search,
name="scouts_ai_web_search",
description="Search the public web via SCOUTS-AI.",
)
10. Dify (HTTP tool)
In Dify, create a new custom tool and add an HTTP request step with this configuration:
Method: GET
URL: https://scouts-ai.com/api/search
Headers: (none required)
Query:
q: {{ input.query }}
lang: {{ input.lang | default("en") }}
page: {{ input.page | default(1) }}
Output variable: json. Map {{ json.results }} to your workflow as a list of {title, url, content}.
11. Flowise (Custom tool node)
In a Flowise agent flow, drop a Custom Tool node and paste:
import requests
def scouts_ai_web_search(query: str, lang: str = "en", page: int = 1) -> dict:
r = requests.get(
"https://scouts-ai.com/api/search",
params={"q": query, "lang": lang, "page": page},
timeout=10,
)
r.raise_for_status()
return r.json()
Name the tool scouts_ai_web_search and describe it as “Search the public web via SCOUTS-AI.”
12. n8n (HTTP Request node)
Add an HTTP Request node to your n8n workflow:
Method: GET
URL: https://scouts-ai.com/api/search
Authentication: None
Query Parameters:
Name: q Value: {{ $json.query }}
Name: lang Value: {{ $json.lang ?? "en" }}
Name: page Value: {{ $json.page ?? 1 }}
Response: JSON
Options → Timeout: 10000
Use the returned results array in the next n8n node (Agent, Set, Email, Slack, etc.).
Troubleshooting
- 429 RATE_LIMIT_EXCEEDED: read
Retry-Afterand back off. Do not rotate IPs. - 503 UPSTREAM_UNAVAILABLE: tell the user search is temporarily unavailable and retry later.
- BAD_REQUEST:
qis blank or longer than 512 chars,pageis out of 1–10, orlangis not a valid BCP-47-like tag. - MCP server not visible in host: restart the host so it re-reads the MCP config, or check the host’s MCP config file path.
- OpenClaw plugin not loading: confirm
openclawis the host’s plugin runtime and thatscouts-ai-searchis enabled.
FAQ
Do I need an API key?
No. SCOUTS-AI is no-key. Respect the per-IP rate limit and Retry-After.
What tool name should I expect from MCP?
The official scouts-ai-mcp package exposes one tool named web_search.
What tool name does the OpenClaw plugin expose?
The plugin registers the web search provider id scouts-ai-search and an agent tool named scouts_ai_web_search.
Can agents crawl the API?
No. Use the API only for user-requested searches. Do not crawl /api/search to build a derivative index.
Is there a paid tier?
No. SCOUTS-AI is best-effort with no SLA. See the terms.