npx skills add ...
npx skills add reason-machines/mcp-skills --skill anysearch-mcp-server
Unified real-time search MCP server with general web search, 23 vertical domains, batch queries, and URL content extraction
npx skills add reason-machines/mcp-skills --skill anysearch-mcp-server
Skill by ara.so — MCP Skills collection.
AnySearch MCP Server is a unified real-time search engine for AI agents, providing general web search, 23 vertical domain searches (finance, academic, security, legal, code, etc.), parallel batch search, and full-page URL content extraction via the MCP protocol.
For agents supporting MCP spec 2025-03-26+ (OpenCode, Claude Desktop 2025.6+):
OpenCode (~/.opencode/config.json or opencode.json):
Claude Desktop (claude_desktop_config.json):
Claude Desktop (claude_desktop_config.json):
VS Code Copilot (.vscode/mcp.json):
Cline (VS Code settings):
Start the proxy server:
Cursor (.cursor/mcp.json):
Windsurf (~/.codeium/windsurf/mcp_config.json):
Optional but recommended. Get a free key at: https://anysearch.com/console/api-keys
Priority order:
Authorization header / --api_key flagANYSEARCH_API_KEY environment variable.env file with ANYSEARCH_API_KEY=<key>Set environment variable:
Or create .env file:
search - General or Vertical Domain SearchExecute a search query. For vertical searches, you MUST call list_domains first.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query (format depends on domain) |
domain | string | No | Vertical domain (e.g., finance, academic) |
sub_domain | string | No | Sub-domain routing key (required for vertical) |
sub_domain_params | object | No | Extra params per sub_domain schema |
content_types | array | No | Filter: web, news, code, doc, etc. |
zone | string | No | cn or intl (required when sub_domain requires) |
max_results | integer | No | 1-100, default 10 |
freshness | string | No | day, week, month, year |
General Web Search Example:
Vertical Search Example (Stock):
First, call list_domains:
Then use the discovered sub_domain and query_format:
News Search Example:
Academic Search Example:
list_domains - Query Vertical Domain DirectoryMUST be called before vertical search to discover available sub_domains and their query formats.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | One of | Single domain to query |
domains | array | One of | Batch up to 5 domains |
Single Domain Example:
Multiple Domains Example:
Returns Markdown table with:
sub_domain: Routing key for searchdescription: What the sub_domain searchesquery_format: Exact format required (e.g., raw ticker, DOI)params_schema: JSON schema for optional parameterszone: If CN, must set zone: "cn" in searchbatch_search - Parallel Search ExecutionExecute 2-5 independent search queries in parallel. Single failure doesn't block others.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
queries | array | Yes | 1-5 query objects, each with same fields as search |
Example:
extract - URL Content ExtractionFetch full page content from a URL and return as Markdown. HTML pages only, truncated at 50,000 characters.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Target URL (http:// or https://) |
Example:
23 vertical domains available:
code - Code repositories, packages, documentationtech - Technology news, products, reviewsfashion - Fashion trends, brands, productstravel - Flights, hotels, destinationshome - Home improvement, furniture, decorecommerce - Products, prices, reviewsgaming - Games, platforms, newsfilm - Movies, reviews, showtimesmusic - Songs, artists, albumsfinance - Stocks, crypto, markets, companiesacademic - Papers, patents, researchlegal - Laws, regulations, casesbusiness - Companies, industries, marketsip - Patents, trademarks, copyrightssecurity - CVEs, vulnerabilities, threatseducation - Courses, schools, materialshealth - Medical, wellness, drugsreligion - Religious texts, organizationsgeo - Geographic data, maps, placesenvironment - Climate, conservation, ecologyenergy - Energy sources, efficiency, policyugc - User-generated content, forumsWhen user asks an open-ended question:
When user wants current information:
When user mentions structured identifiers (stock ticker, CVE, DOI, etc.):
Step 1: Identify the domain and call list_domains
Step 2: Parse the response to find the correct sub_domain and query_format
Step 3: Execute search with exact format
When user has multiple independent questions:
When search results provide URLs but user needs full content:
Step 1: Search
Step 2: Extract top result
When user needs code examples:
When user references DOI or research topic:
Use this logic to choose the right tool:
Before executing vertical search, you MUST:
list_domains for the target domainquery_format exactly (e.g., raw ticker "AAPL", not "Apple stock")sub_domain that matches user intentzone: "cn" if the sub_domain requires it (check zone field)sub_domain_params if the schema requires additional fieldsCause: Query doesn't match the query_format from list_domains
Solution:
list_domains for the domainquery_format fieldCause: Sub_domain requires zone: "cn" but it wasn't provided
Solution:
list_domains response for zone fieldzone: "CN", add "zone": "cn" to search callCause: No API key configured, hitting lower anonymous limits
Solution:
ANYSEARCH_API_KEY environment variableCause: Proxy server not running or incorrect configuration
Solution for SSE:
supergateway proxy is running: npx -y supergateway --streamableHttp https://api.anysearch.com/mcp --outputTransport sse --port 8000 --oauth2Bearer ${ANYSEARCH_API_KEY}curl http://localhost:8000/ssehttp://localhost:8000/sseSolution for stdio:
mcp-remote proxy (simpler, auto-detects transport)npx can download packagesCause: Wrong sub_domain selected or malformed query
Solution:
list_domains output againdescription field of sub_domainsquery_format exactlyCause: Page content exceeds 50,000 character limit
Solution:
| Agent | Transport | Proxy? | Config File |
|---|---|---|---|
| OpenCode | Streamable HTTP | No | opencode.json |
| Claude Desktop 2025.6+ | Streamable HTTP | No | claude_desktop_config.json |
| Claude Desktop (legacy) | stdio | Yes (mcp-remote) | claude_desktop_config.json |
| VS Code Copilot | stdio | Yes (mcp-remote) | .vscode/mcp.json |
| Cline | stdio | Yes (mcp-remote) | VS Code settings |
| Cursor | SSE | Yes (supergateway) | .cursor/mcp.json |
| Windsurf | SSE | Yes (supergateway) | mcp_config.json |
list_domains before vertical search - Don't assume you know the sub_domainsmax_results - Default 10 is good, reduce for speed, increase for thoroughnessfreshness for time-sensitive queries - News, events, recent developmentszone: "cn" parameterhttps://api.anysearch.com{
"mcpServers": {
"anysearch": {
"type": "streamable-http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}"
}
}
}
}{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}{
"servers": {
"anysearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}npx -y supergateway \
--streamableHttp https://api.anysearch.com/mcp \
--outputTransport sse \
--port 8000 \
--oauth2Bearer ${ANYSEARCH_API_KEY}{
"mcpServers": {
"anysearch": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}{
"mcpServers": {
"anysearch": {
"serverUrl": "http://localhost:8000/sse"
}
}
}export ANYSEARCH_API_KEY="your-api-key-here"ANYSEARCH_API_KEY=your-api-key-here{
"query": "quantum computing breakthroughs 2025",
"max_results": 5,
"freshness": "month"
}{
"domain": "finance"
}{
"domain": "finance"
}{
"query": "AAPL",
"domain": "finance",
"sub_domain": "finance.us_stock",
"max_results": 5
}{
"query": "artificial intelligence",
"content_types": ["news"],
"freshness": "week",
"max_results": 10
}{
"query": "10.1038/s41586-019-1666-5",
"domain": "academic",
"sub_domain": "academic.doi"
}{
"domains": ["finance", "academic", "security"]
}{
"queries": [
{
"query": "AAPL",
"domain": "finance",
"sub_domain": "finance.us_stock"
},
{
"query": "python async http client",
"domain": "code",
"sub_domain": "code.general"
},
{
"query": "CVE-2024-1234",
"domain": "security",
"sub_domain": "security.cve"
}
]
}{
"url": "https://en.wikipedia.org/wiki/Quantum_computing"
}{
"query": "best practices for microservices architecture",
"max_results": 10
}{
"query": "SpaceX launches",
"content_types": ["news"],
"freshness": "week",
"max_results": 5
}{
"domain": "security"
}{
"query": "CVE-2024-1234",
"domain": "security",
"sub_domain": "security.cve"
}{
"queries": [
{
"query": "TSLA",
"domain": "finance",
"sub_domain": "finance.us_stock"
},
{
"query": "electric vehicle market trends",
"freshness": "month"
}
]
}{
"query": "kubernetes best practices",
"max_results": 3
}{
"url": "https://kubernetes.io/docs/concepts/configuration/overview/"
}{
"query": "react hooks useEffect",
"domain": "code",
"sub_domain": "code.general",
"max_results": 10
}{
"query": "10.1038/nature12373",
"domain": "academic",
"sub_domain": "academic.doi"
}User query
|
+-- Has structured identifiers? (ticker, CVE, DOI, IATA, patent, etc.)
| YES -> 1) list_domains(domain) -> discover sub_domain & query_format
| 2) search with domain + sub_domain + exact format
|
+-- Multiple independent questions?
| YES -> batch_search with array of queries
|
+-- Need full article/page content beyond snippets?
| YES -> search -> extract(url) from results
|
+-- Filter by content type or freshness?
| YES -> search with content_types and/or freshness params
|
+-- Otherwise -> search (general, natural language)