Tutorial

How to Add Web Search to a Hermes Agent via MCP

Connect a Hermes agent to live web search through Scavio MCP server. Config update and test query in under 5 minutes.

Hermes agents support tool calling through MCP but ship without a built-in search tool. Adding Scavio MCP gives your Hermes agent access to Google, YouTube, Amazon, Walmart, Reddit, and TikTok search data with zero custom code. The MCP endpoint is https://mcp.scavio.dev/mcp and costs $0.005 per tool call. This tutorial connects it in under 5 minutes.

Prerequisites

  • Hermes agent runtime installed
  • A Scavio API key from scavio.dev
  • Basic familiarity with Hermes configuration

Walkthrough

Step 1: Get your Scavio API key and MCP endpoint

Sign up at scavio.dev and note the MCP server URL.

Bash
# 1. Sign up at https://scavio.dev (free: 250 credits/month)
# 2. Dashboard > API Keys > Create New Key
# 3. MCP endpoint: https://mcp.scavio.dev/mcp

# Verify the MCP server is reachable:
curl -X POST https://mcp.scavio.dev/mcp \
  -H 'x-api-key: YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'

Step 2: Add Scavio MCP to Hermes agent config

Update your Hermes agent configuration to include the Scavio MCP server.

# In your Hermes agent config (config.yaml or equivalent):
# Add the MCP server under the tools or mcp_servers section

mcp_servers:
  scavio:
    url: "https://mcp.scavio.dev/mcp"
    headers:
      x-api-key: "${SCAVIO_API_KEY}"
    tools:
      - search
      - extract
      - tiktok

# Environment variable:
# export SCAVIO_API_KEY=your_key_here

Step 3: Test the search tool in your agent

Run a test query to verify the MCP connection works end-to-end.

Python
# Start your Hermes agent with the updated config
# Then send a test message:

# User: Search for the best Python web frameworks in 2026

# Expected agent behavior:
# 1. Agent recognizes it needs live data
# 2. Calls scavio.search tool via MCP
# 3. Receives structured Google results
# 4. Synthesizes answer from live data

# You can also test programmatically:
import requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
data = requests.post('https://api.scavio.dev/api/v1/search',
    headers=SH, json={'query': 'best python web framework 2026', 'country_code': 'us'}).json()
print(f'Results: {len(data.get("organic_results", []))} organic')
print(f'AI Overview: {"yes" if data.get("ai_overview") else "no"}')

Step 4: Configure platform-specific searches

Use platform parameters to search Reddit, YouTube, Amazon, and more.

Bash
# Your Hermes agent can now use these search patterns:

# Google search (default):
# {"query": "serp api comparison", "country_code": "us"}

# Reddit search:
# {"query": "best api for agents", "platform": "reddit", "country_code": "us"}

# YouTube search:
# {"query": "python tutorial 2026", "platform": "youtube", "country_code": "us"}

# Amazon product search:
# {"query": "mechanical keyboard", "platform": "amazon", "country_code": "us"}

# Example agent prompt that triggers multi-platform search:
# "Research what Reddit says about the best SERP APIs,
#  then check YouTube for tutorial coverage"

# Cost: $0.005 per search call
# Free tier: 250 searches/month
# Project plan: $30/month = 7,000 searches

Python Example

Python
# The MCP integration requires no Python code.
# To verify the same data programmatically:
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
for platform in ['google', 'reddit', 'youtube']:
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': 'best serp api', 'platform': platform if platform != 'google' else None,
                          'country_code': 'us'}).json()
    print(f'{platform}: {len(data.get("organic_results", []))} results ($0.005)')

JavaScript Example

JavaScript
// MCP integration requires no JS code.
// To verify the same data programmatically:
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
for (const platform of [null, 'reddit', 'youtube']) {
  const body = { query: 'best serp api', country_code: 'us' };
  if (platform) body.platform = platform;
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH, body: JSON.stringify(body)
  }).then(r => r.json());
  console.log(`${platform || 'google'}: ${(data.organic_results || []).length} results`);
}

Expected Output

JSON
# After config update and agent restart:

Hermes Agent > MCP Servers:
  scavio: Connected (3 tools available)

# Test query:
User: Search for best Python web frameworks in 2026

Agent: [Calling scavio.search]
Based on current search results:
1. FastAPI leads for async API development
2. Django 5.1 remains the full-stack standard
3. Litestar gaining traction as FastAPI alternative

google: 10 results ($0.005)
reddit: 8 results ($0.005)
youtube: 10 results ($0.005)

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Hermes agent runtime installed. A Scavio API key from scavio.dev. Basic familiarity with Hermes configuration. A Scavio API key gives you 250 free credits per month.

Yes. The free tier includes 250 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Connect a Hermes agent to live web search through Scavio MCP server. Config update and test query in under 5 minutes.