返回 Skill 列表
extension
分类: 其它无需 API Key

AnySearch MCP

实时 MCP 服务器,提供通用与垂直网页搜索、并行批量查询以及完整页面 URL 内容以 Markdown 形式提取。

person作者: anysearch-aihubclawhub

AnySearch MCP Server

Unified real-time search MCP server supporting general web search, vertical domain search (23 domains), parallel batch search, and full-page URL content extraction.

Features

  • General Web Search — open-ended natural language queries
  • Vertical Domain Search — structured queries across 23 domains (finance, academic, security, legal, code, etc.)
  • Parallel Batch Search — up to 5 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)

API Key Configuration

An API key is optional but recommended. Without a key, all features still work via anonymous access with lower rate limits.

Get an API Key

Visit https://anysearch.com/console/api-keys to create a free API key.

Key Priority

| 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) |

Key Behavior

| 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 |

MCP Transport

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 |

Installation

Streamable HTTP (Recommended — No Proxy Needed)

For agents that support the Streamable HTTP transport (MCP spec 2025-03-26+):

OpenCode (~/.opencode/config.json or project opencode.json):

{
  "mcp": {
    "anysearch": {
      "type": "streamable-http",
      "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 headers section. The server will use anonymous access automatically.

stdio (Via Proxy)

For agents that only support stdio transport. Two proxy options:

Option A: mcp-remote (Recommended)

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.

Option B: supergateway

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.

SSE (Via Proxy)

For agents that only support SSE transport (Cursor, Windsurf). Requires running a local SSE proxy server:

Start the proxy

npx -y supergateway \
  --streamableHttp https://api.anysearch.com/mcp \
  --outputTransport sse \
  --port 8000 \
  --oauth2Bearer <your_api_key>

Without an API key, omit the --oauth2Bearer flag.

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 Quick Reference

| 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 |

Available Tools

search

Execute a search query — general or vertical domain.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | query | string | Yes | Search query. For vertical search, follow the query_format from list_domains | | domain | string | No | Vertical domain (e.g. finance, academic, security) | | sub_domain | string | No | Sub-domain routing key (e.g. finance.us_stock). Required for vertical search | | sub_domain_params | object | No | Extra params per sub_domain schema | | content_types | string[] | No | Filter: web, news, code, doc, academic, data, image, video, audio | | zone | string | No | cn or intl. Required when sub_domain marks zone=CN | | max_results | integer | No | 1–100, default 10 | | freshness | string | No | day, week, month, year |

list_domains

Query the vertical domain directory. Must be called before vertical search to discover available sub_domains and their query formats.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | domain | string | One of | Single domain to query | | domains | string[] | One of | Batch up to 5 domains |

Returns a Markdown table: sub_domain | description | query_format | params_schema | zone

batch_search

Execute 2–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 |

extract

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://) |

Decision Flow

User query
  |
  +-- Has structured identifiers? (Stock:/CVE:/DOI:/IATA:/patent etc.)
  |     YES -> 1) list_domains -> discover sub_domain & query_format
  |             2) search with domain + sub_domain + zone
  |
  +-- Multiple independent intents?
  |     YES -> batch_search
  |
  +-- Need deeper content than snippets?
  |     YES -> extract the URL
  |
  +-- Otherwise -> search (general)

Vertical Search Constraints

Before vertical search, you must call list_domains for the target domain and follow:

  1. query_format — exact format for the query string (e.g. raw ticker, not natural language)
  2. params_schema — JSON schema for optional extra parameters
  3. zone — if CN, you must set zone: "cn" in the search call
  4. sub_domain selection — match user intent to the best sub_domain description

Supported Domains

code tech fashion travel home ecommerce gaming film music finance academic legal business ip security education health religion geo environment energy ugc

Examples

General search

{ "query": "quantum computing breakthroughs 2025", "max_results": 5, "freshness": "month" }

Vertical search (stock)

{ "query": "AAPL", "domain": "finance", "sub_domain": "finance.us_stock", "max_results": 5 }

Batch search

{
  "queries": [
    { "query": "AAPL", "domain": "finance", "sub_domain": "finance.us_stock" },
    { "query": "python async http client", "domain": "code", "sub_domain": "code.general" }
  ]
}

Extract URL

{ "url": "https://en.wikipedia.org/wiki/Quantum_computing" }

Security Notes

  • Search queries, extracted URLs, and API keys are sent to https://api.anysearch.com
  • Do not use for queries containing sensitive information (passwords, personal data, trade secrets) unless you trust the provider
  • Avoid pasting API keys directly in chat — use environment variables or .env files