The Model Context Protocol (MCP) allows Claude and other AI assistants to use external tools through a standardized server interface. Scavio provides an official MCP server that exposes Google, Amazon, YouTube, and Walmart search as tools Claude can invoke directly during conversations. This tutorial covers installing the Scavio MCP server, configuring it in Claude Desktop and Claude Code, and verifying that Claude can perform live searches during a conversation.
Prerequisites
- Node.js 18 or higher installed
- Claude Desktop or Claude Code installed
- A Scavio API key
- Basic familiarity with JSON configuration files
Walkthrough
Step 1: Run the Scavio MCP server
The Scavio MCP server is available as an npm package. Run it with npx — no installation needed.
SCAVIO_API_KEY=your_scavio_api_key npx -y @scavio/mcpStep 2: Configure Claude Desktop
Add the Scavio MCP server to Claude Desktop's configuration file. On macOS this is ~/Library/Application Support/Claude/claude_desktop_config.json.
{
"mcpServers": {
"scavio": {
"command": "npx",
"args": ["-y", "@scavio/mcp"],
"env": {
"SCAVIO_API_KEY": "your_scavio_api_key"
}
}
}
}Step 3: Configure Claude Code
Add the same MCP server configuration to the .mcp.json file in your project root for use with Claude Code.
{
"mcpServers": {
"scavio": {
"command": "npx",
"args": ["-y", "@scavio/mcp"],
"env": {
"SCAVIO_API_KEY": "your_scavio_api_key"
}
}
}
}Step 4: Test the integration
Restart Claude Desktop or Claude Code after saving the config. Ask Claude to search for something and verify it uses the Scavio tool.
# In a Claude conversation, ask:
# "Search for the latest Python web frameworks released in 2026"
# Claude will invoke the scavio MCP tool and return live results.Python Example
# Python script to verify the MCP server responds correctly
import subprocess
import json
import os
def test_mcp_server():
# Start the MCP server as a subprocess
env = {**os.environ, "SCAVIO_API_KEY": "your_scavio_api_key"}
proc = subprocess.Popen(
["npx", "-y", "@scavio/mcp"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env
)
# Send MCP initialize request
init_request = json.dumps({"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {"protocolVersion": "2024-11-05", "capabilities": {}}})
proc.stdin.write((init_request + "\n").encode())
proc.stdin.flush()
response = proc.stdout.readline()
data = json.loads(response)
print("MCP server initialized:", data.get("result", {}).get("serverInfo", {}))
proc.terminate()
if __name__ == "__main__":
test_mcp_server()JavaScript Example
// Verify MCP server tools list
const { spawn } = require("child_process");
function testMCPServer() {
const proc = spawn("npx", ["-y", "@scavio/mcp"], {
env: { ...process.env, SCAVIO_API_KEY: process.env.SCAVIO_API_KEY },
stdio: ["pipe", "pipe", "pipe"]
});
const initRequest = JSON.stringify({
jsonrpc: "2.0", id: 1, method: "initialize",
params: { protocolVersion: "2024-11-05", capabilities: {} }
});
proc.stdin.write(initRequest + "\n");
proc.stdout.on("data", (data) => {
const response = JSON.parse(data.toString());
console.log("Server info:", response.result?.serverInfo);
proc.kill();
});
}
testMCPServer();Expected Output
MCP server initialized: { name: '@scavio/mcp', version: '1.0.0' }
Available tools:
- google_search: Search Google for current information
- amazon_search: Search Amazon products
- youtube_search: Search YouTube videos
- walmart_search: Search Walmart products
- youtube_transcript: Get YouTube video transcript
Claude Desktop: Search tool active in conversation