The Problem
MCP clients (Claude Desktop, Cursor, VS Code Copilot) need a single search endpoint that provides multi-platform data. Each agent framework expects tools exposed via the MCP protocol. Building a custom MCP server from scratch requires implementing the protocol, handling tool discovery, managing authentication, and maintaining search infrastructure. This is weeks of work for what should be a simple tool integration.
The Scavio Solution
Connect MCP clients directly to Scavio's hosted MCP server at mcp.scavio.dev/mcp. The server exposes search tools for all 6 platforms with typed parameters and structured responses. No custom server code needed. For teams wanting custom logic (caching, result filtering, usage tracking), build a thin MCP proxy that forwards requests to Scavio's REST API while adding your middleware layer.
Before
Before the MCP gateway, each agent integration required custom HTTP client code, authentication handling, and response parsing per provider. Adding a new agent client meant duplicating integration work.
After
After connecting to the MCP gateway, any MCP-compatible client gets multi-platform search by adding one server URL to its configuration. New clients (Cursor, Claude Desktop, custom agents) get search capability in seconds rather than hours of integration work.
Who It Is For
Developers integrating web search into MCP-compatible AI tools (Claude Desktop, Cursor, VS Code). Teams building custom agent platforms that need standardized search tool exposure via MCP.
Key Benefits
- One MCP server URL provides 6 platform search tools
- Zero custom code: add server URL to client config
- Automatic tool discovery: clients see available search tools
- Typed parameters and structured responses per MCP spec
- Works with Claude Desktop, Cursor, VS Code, and custom MCP clients
Python Example
# Option 1: Use Scavio hosted MCP directly (no code needed)
# Add to your MCP client config:
# {"mcpServers": {"scavio": {"url": "https://mcp.scavio.dev/mcp", "headers": {"x-api-key": "your_key"}}}}
# Option 2: Custom MCP proxy with caching layer
import requests
from functools import lru_cache
API_KEY = "your_scavio_api_key"
@lru_cache(maxsize=1000)
def cached_search(query: str, platform: str) -> str:
"""Search with in-memory cache for repeated queries."""
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=15,
)
res.raise_for_status()
data = res.json()
results = []
for r in data.get("organic", [])[:5]:
results.append(f"- {r.get('title', '')}: {r.get('snippet', '')} ({r.get('link', '')})")
return "\n".join(results)
# This function can be exposed as an MCP tool via mcp-python-sdk
# from mcp.server import Server
# server = Server("search-gateway")
# @server.tool()
# def search(query: str, platform: str = "google") -> str:
# return cached_search(query, platform)
print(cached_search("best search api 2026", "google"))JavaScript Example
// Option 1: Use Scavio hosted MCP (no code)
// Add to MCP client config: {"url": "https://mcp.scavio.dev/mcp", "headers": {"x-api-key": "your_key"}}
// Option 2: Custom MCP proxy with caching
const API_KEY = "your_scavio_api_key";
const cache = new Map();
async function cachedSearch(query, platform = "google") {
const key = `${platform}:${query}`;
if (cache.has(key)) return cache.get(key);
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
const result = (data.organic ?? []).slice(0, 5).map((r) => `- ${r.title}: ${r.snippet} (${r.link})`).join("\n");
cache.set(key, result);
return result;
}
// Expose as MCP tool via @modelcontextprotocol/sdk
// import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
// const server = new McpServer({ name: "search-gateway" });
// server.tool("search", { query: "string", platform: "string" }, async ({ query, platform }) => cachedSearch(query, platform));
console.log(await cachedSearch("best search api 2026"));Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Amazon
Product search with prices, ratings, and reviews
YouTube
Video search with transcripts and metadata
TikTok
Trending video, creator, and product discovery
Walmart
Product search with pricing and fulfillment data
Community, posts & threaded comments from any subreddit