Unified real-time search MCP server supporting general web search, vertical domain search, parallel batch search, and full-page URL content extraction.
- General Web Search — open-ended natural language queries
- Vertical Domain Search — structured queries across finance, academic, security, legal, code, and more
- Parallel Batch Search — execute multiple independent queries in one call
- URL Content Extraction — fetch and extract full page content as Markdown
- Anonymous Access — works without an API key (with lower rate limits)
An API key is optional but recommended. Without a key, all features still work via anonymous access with lower rate limits.
Visit https://anysearch.com/console/api-keys to create a free API key.
| Priority | Source |
|---|---|
| 1 (highest) | --api_key CLI flag / Authorization header |
| 2 | Environment variable ANYSEARCH_API_KEY |
| 3 | .env file (ANYSEARCH_API_KEY=<key>) |
| 4 | Anonymous access (lower rate limits) |
| Scenario | Behavior |
|---|---|
| No key | Proceed with anonymous access (lower rate limits) |
| Has key | Sent via Authorization: Bearer <key> header, higher rate limits |
| Key exhausted, auto-registered key returned | Agent should ask user for confirmation, then persist the new key |
| Key exhausted, no new key | Inform user and suggest configuring a new API key |
AnySearch MCP server natively supports Streamable HTTP transport (MCP spec 2025-03-26). SSE and stdio clients can connect via proxy.
| Transport | Native? | Best for |
|---|---|---|
| Streamable HTTP | Yes | OpenCode, Claude Desktop (2025.6+), web-based clients |
| SSE | Via proxy | Cursor, Windsurf |
| stdio | Via proxy | Claude Desktop (legacy), VS Code Copilot, Cline |
For agents that support the Streamable HTTP transport (MCP spec 2025-03-26+):
OpenCode (~/.opencode/config.json or project opencode.json):
{
"mcp": {
"anysearch": {
"type": "remote",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}"
}
}
}
}Claude Desktop (2025.6+, claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"type": "streamable-http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}"
}
}
}
}Without an API key, omit the
headerssection. The server will use anonymous access automatically.
For agents that only support stdio transport. Two proxy options:
mcp-remote — auto-detects Streamable HTTP, simplest config:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}VS Code Copilot (.vscode/mcp.json):
{
"servers": {
"anysearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}Cline (VS Code settings):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}Without an API key, omit the
"--header"and"Authorization: Bearer ..."args.
supergateway — more transport options, supports SSE output:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"https://api.anysearch.com/mcp",
"--oauth2Bearer",
"${ANYSEARCH_API_KEY}"
]
}
}
}Without an API key, omit the
"--oauth2Bearer"and key args.
For agents that only support SSE transport (Cursor, Windsurf). Requires running a local SSE proxy server:
npx -y supergateway \
--streamableHttp https://api.anysearch.com/mcp \
--outputTransport sse \
--port 8000 \
--oauth2Bearer <your_api_key>Without an API key, omit the
--oauth2Bearerflag.
Then configure your agent:
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"anysearch": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}Windsurf (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"anysearch": {
"serverUrl": "http://localhost:8000/sse"
}
}
}The SSE proxy must remain running while the agent is active. Consider running it as a background service.
| Agent | Transport | Config Location | Needs Proxy? | Proxy Tool |
|---|---|---|---|---|
| OpenCode | Streamable HTTP | opencode.json |
No | — |
| Claude Desktop (2025.6+) | Streamable HTTP | claude_desktop_config.json |
No | — |
| Claude Desktop (legacy) | stdio | claude_desktop_config.json |
Yes | mcp-remote |
| Cursor | SSE | .cursor/mcp.json |
Yes | supergateway |
| VS Code Copilot | stdio | .vscode/mcp.json |
Yes | mcp-remote |
| Windsurf | SSE | mcp_config.json |
Yes | supergateway |
| Cline | stdio | VS Code settings | Yes | mcp-remote |
Execute a search query — general or vertical domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Natural language search query. ONE intent per call |
domain |
string | No | Vertical domain (e.g. finance, academic, security). Must come from get_sub_domains enum |
sub_domain |
string | No | Sub-domain routing key (e.g. finance.us_stock). Must come from get_sub_domains output |
sub_domain_params |
object | No | Structured params from get_sub_domains params column. NEVER invent values |
max_results |
integer | No | 1–10, default 10 |
Query the vertical domain directory. Required before any search that uses a domain — returns valid sub_domains and their parameter schemas.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain |
string | One of | Single domain to query |
domains |
string[] | One of | Batch up to 5 domains (preferred — covers more ground) |
Returns a Markdown table: sub_domain | description | params
Execute 1–5 independent search queries in parallel. Single failure does not block others.
| Parameter | Type | Required | Description |
|---|---|---|---|
queries |
object[] | Yes | 1–5 query objects, each with same fields as search |
Fetch full page content from a URL and return as Markdown. Truncated at 50,000 characters. HTML pages only.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | Target URL (http:// or https://) |