AnySearch
OfficialAnySearch MCP Server
English | 简体中文
Unified real-time search MCP server supporting general web search, vertical domain search, parallel batch search, and full-page URL content extraction.
Features
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)
Related MCP server: Scout
API Key Configuration
An API key is optional but recommended. Without a key, all features still work via anonymous access with lower rate limits.
Register for an API Key (Recommended)
The agent can register the user and obtain an API key in a single call — no verification code, no manual signup. Ask the user for a real email address: it becomes the account username.
curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'Success response (code: 0) returns the account info and a one-time plaintext API key:
{
"code": 0,
"message": "success",
"data": {
"username": "you@example.com",
"email": "you@example.com",
"login_url": "https://www.anysearch.com/login",
"api_key": {
"id": "key_xxxxxxxx",
"key": "as_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"key_prefix": "as_sk_xxxxxx...",
"name": "default",
"rate_limit": 100,
"quota_limit": 0,
"expires_at": null,
"created_at": "2026-06-23T10:23:00Z"
}
}
}On success the agent MUST:
Put
data.api_key.keyinto the MCP server config as theAuthorization: Bearer <key>value (and/or setANYSEARCH_API_KEY) — it is shown only once (it can also be retrieved later from the dashboard).Tell the user their username (= email) and the
login_url.
Error handling (always code: -1 on error; branch on the message string):
message | what to do |
| ask the user to re-enter the email |
| email is taken — tell the user to sign in at |
contains | read retry seconds from message (e.g. |
starts with | account created but key failed — extract the email and URL from the message ( |
| retry later or fall back to anonymous |
The email must be real and reachable.
Get an API Key
Alternatively, visit https://anysearch.com/console/api-keys to create a free API key.
Key Priority
Priority | Source |
1 (highest) |
|
2 | Environment variable |
3 |
|
4 | Anonymous access (lower rate limits) |
Key Behavior
Scenario | Behavior |
No key | Proceed with anonymous access (lower rate limits) |
Has key | Sent via |
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 |
MCP Transport
The production endpoint is:
https://api.anysearch.com/mcpIt natively uses Streamable HTTP. Current OpenCode, Claude Code, Cursor, VS Code, Windsurf, and Cline releases can connect to it directly; no SSE or stdio proxy is needed. The configurations below follow each client's current official documentation.
Installation
The API key is optional. In clients that support custom headers, the examples use the recommended authenticated setup. To use anonymous access, remove only the Authorization entry and keep X-Anysearch-Client.
OpenCode
Official docs: MCP servers and configuration locations.
Use ~/.config/opencode/opencode.json for a global configuration or opencode.json in the project root. On Windows, the global path is %USERPROFILE%\.config\opencode\opencode.json.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"anysearch": {
"type": "remote",
"url": "https://api.anysearch.com/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}OpenCode uses {env:NAME} for environment-variable substitution. "oauth": false prevents an unnecessary OAuth discovery flow for this API-key-authenticated server.
Claude Code
Official docs: Connect Claude Code to tools via MCP.
For a private, user-wide installation, run:
claude mcp add --transport http anysearch https://api.anysearch.com/mcp --scope user --header "Authorization: Bearer <your_api_key>" --header "X-Anysearch-Client: mcp/1.0.0"The user scope stores the server in ~/.claude.json and makes it available across all projects on the machine. For anonymous access, omit the Authorization --header option.
For a shareable project configuration, create .mcp.json in the project root:
{
"mcpServers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}Claude Code expands ${VAR} and ${VAR:-default} in .mcp.json, including inside url and headers. Set ANYSEARCH_API_KEY before starting Claude Code. Project-scoped servers require approval when first opened interactively.
Verify the connection with:
claude mcp get anysearch
claude mcp listInside Claude Code, /mcp shows the server status and available tools.
Cursor
Official docs: Model Context Protocol.
Use .cursor/mcp.json for a project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"anysearch": {
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}Cursor automatically recognizes the remote HTTP endpoint and supports ${env:NAME} interpolation in url and headers.
VS Code
Official docs: MCP configuration reference.
Run MCP: Open User Configuration for a user-wide server, or create .vscode/mcp.json in a workspace. This example uses a password input so the key is prompted for and stored securely instead of being committed:
{
"inputs": [
{
"type": "promptString",
"id": "anysearch-api-key",
"description": "AnySearch API key",
"password": true
}
],
"servers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${input:anysearch-api-key}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}For anonymous access, remove the Authorization entry and the entire inputs array.
Windsurf
Official docs: Cascade MCP integration.
Open Settings > Tools > Windsurf Settings > Add Server, or edit ~/.codeium/mcp_config.json via View Raw Config:
{
"mcpServers": {
"anysearch": {
"serverUrl": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}Windsurf supports environment-variable interpolation in serverUrl, url, and headers. Refresh the MCP server list after saving.
Cline
Official docs: MCP.
In the Cline panel, open MCP Servers > Configure > Configure MCP Servers, or add a hosted endpoint from the Remote Servers tab. Use the explicit streamableHttp type; omitting it falls back to legacy SSE behavior.
{
"mcpServers": {
"anysearch": {
"type": "streamableHttp",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer <your_api_key>",
"X-Anysearch-Client": "mcp/1.0.0"
},
"disabled": false,
"autoApprove": []
}
}
}For Cline CLI, the config file is ~/.cline/mcp.json; cline mcp opens the interactive MCP wizard.
Client Quick Reference
Client | Official connection | Configuration location | Direct Streamable HTTP? |
OpenCode | Remote MCP config |
| Yes |
Claude Code | Remote HTTP MCP | User | Yes |
Cursor | Remote MCP config |
| Yes |
VS Code | HTTP MCP config | User MCP config or | Yes |
Windsurf | Remote HTTP MCP |
| Yes |
Cline | Remote Streamable HTTP | Cline MCP settings or | Yes |
Available Tools
search
Execute a search query — general or vertical domain.
Parameter | Type | Required | Description |
| string | Yes | Natural language search query. ONE intent per call |
| string | No | Vertical domain (e.g. |
| string | No | Sub-domain routing key (e.g. |
| object | No | Structured params from |
| integer | No | 1–10, default 10 |
get_sub_domains
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 |
| string | One of | Single domain to query |
| string[] | One of | Batch up to 5 domains (preferred — covers more ground) |
Returns a Markdown table: sub_domain | description | params
batch_search
Execute 1–5 independent search queries in parallel. Single failure does not block others.
Parameter | Type | Required | Description |
| object[] | Yes | 1–5 query objects, each with same fields as |
extract
Fetch full page content from a URL and return as Markdown. Truncated at 50,000 characters. HTML pages only.
Parameter | Type | Required | Description |
| string | Yes | Target URL ( |
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native search engine with live web research optimized for AI agents.
The best web search for your AI Agent
Search Google straight from your AI agent. Web results, images, videos, news, products, scholarly ar
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides LLMs with real-time web search and content extraction capabilities, including text/news search, full-text URL reading, and targeted technical documentation search.324MIT
- AlicenseBqualityCmaintenanceEnables AI agents to perform comprehensive search across 27 search engines including web, academic, code, community, package managers, video, images, podcasts, and maps, with multi-modal support, caching, and security features.14MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform unified web searches, GitHub, and GitLab searches with caching, reranking, and fallback across multiple providers.42218MIT
- AlicenseNot gradedqualityBmaintenanceProvides web search and content extraction for AI agents.MIT