ScavioScavio
ToolsPricing
Sign InsGet Startedg
Blog
hermesreleasemcp

Hermes Ships Every Few Days: Building Search Tools That Survive

Hermes ships a release every one to three days, so version-pinned search integrations rot in weeks. What stays stable across releases, what does not, and how to build data tooling that outlives the version number.

May 17, 2026
9 min
Try Scavio FreePricing

50 free credits · no credit card

Hermes ships a release every one to three days. At roughly 232k GitHub stars and 460k PyPI downloads a month (GitHub and PyPI, August 2026), it also ships to a lot of people. Those two facts together are the whole problem for anyone building or choosing search tooling around it: the install base is big enough that integrations matter, and the release cadence is fast enough that any integration written against a specific version is stale before it is indexed.

This post is about the parts of Hermes that hold still. If you are wiring web data into a Hermes agent, build against those and ignore the release notes.

The cadence tax

A minor version of Hermes lands every few days. That is a healthy sign for the project and a tax on everything that depends on it. Three things go stale fastest:

  • Config file shapes. Field names and file locations move between minor versions more often than tool APIs do.
  • Built-in tool lists. Hermes keeps absorbing capabilities that used to require an external tool. What you wrap today may ship natively next month.
  • Bundled skills. Skills that shell out to third-party scrapers break on the third party's schedule, not on Hermes's.

The stable layer underneath is smaller than it looks, and it is where your integration should live.

What actually holds still

MCP. Model Context Protocol support has been in Hermes since well before the current version line and is the closest thing to a stable contract the project has. A server that speaks MCP correctly keeps working across upgrades because the protocol, not the host, defines the surface. This is the single highest-leverage decision: an MCP server survives Hermes releases in a way that a hand-written tool wrapper does not.

pip install. Installation friction is gone. Hermes is pip install and run, on Linux, macOS and Windows. Practically this means two things for tool authors: your user base is no longer filtered down to people comfortable with a Python build, and Windows is not optional. If your MCP server assumes POSIX paths or shells out to sh, a meaningful slice of your users hit a stack trace on first run.

The skill system. Skills are markdown files with frontmatter. They are cheap to install, cheap to read, and they do not hold a process open. For single-platform needs they are lighter than a server.

Structured JSON in, structured JSON out. Every reliability mechanism Hermes has added over the last several releases -- per-turn verification, output checks -- pushes in the same direction: tools that return well-formed, predictable data pass, and tools that return HTML fragments or inconsistently shaped blobs get rejected or confuse the loop. Design for the strict case.

The bundled-skill trap, in one concrete example

Hermes ships a youtube-content skill. It is a good illustration of the failure mode because the problem is structural, not sloppy: the skill is built on youtube-transcript-api and yt-dlp, both free, both excellent, and both in a permanent arms race with YouTube.

What that produces in practice, repeatedly:

  • Undeclared dependencies. The skill assumes packages that are not installed by the skill install, so the first run dies on an import error rather than on anything to do with YouTube.
  • Transcript fetches failing behind proxies. youtube-transcript-api calls YouTube directly from the user's IP. On a datacenter IP, or after a burst of requests, transcripts start coming back empty or blocked, and the proxy configuration needed to work around it is not part of the skill.
  • A Shorts filter that does not filter. Shorts and regular uploads are the same object type on YouTube's side with a duration heuristic separating them, and the heuristic drifts. When it drifts, the filter silently returns the wrong set.

None of this is a Hermes defect. It is what happens when an agent's data layer is a scraper maintained by volunteers against a hostile target, and it is exactly the class of breakage that a fast release cadence makes worse -- the skill gets re-bundled faster than the upstream fixes land.

The fix is not to patch the skill. It is to move the data layer to something with an API contract behind it. For the YouTube case specifically, Scavio's YouTube endpoints cover the same ground with a stable response shape: search, shorts, video metadata, comments and replies, transcripts, related videos, streams, and full channel data. Transcripts are one POST:

Python
import os, requests

resp = requests.post(
    "https://api.scavio.dev/api/v1/youtube/transcript",
    headers={"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"},
    json={"video_id": "VIDEO_ID_HERE", "format": "text"},
    timeout=60,
)
data = resp.json()["data"]
print(data["language_code"], len(data["content"]))

Shorts are their own endpoint (/api/v1/youtube/shorts) rather than a filter over search results, which removes the heuristic-drift problem instead of re-implementing it. Transcript calls cost 8 credits; most other YouTube endpoints cost 1 or 2. The full per-endpoint cost table is in the docs.

Built-in tools are a moving floor, not a ceiling

Hermes keeps adding first-party tools, X search among them. The instinct when a built-in lands is to read it as the platform closing a gap. The more useful reading is directional: agent users expect search across many surfaces as a default capability, and the built-ins will always cover the most popular one or two.

Design accordingly. Do not build a tool whose entire value is "search one platform that Hermes might ship natively next quarter." Build for the long tail and for breadth -- the fifty platforms nobody is going to bundle. Scavio's surface is 50 platforms, including an Extract endpoint that turns any URL into markdown, text or HTML: Google (SERP, News, Maps, Shopping, Trends, Flights, Hotels, AI Mode), YouTube, TikTok, TikTok Shop, Instagram, Threads, X, LinkedIn, Reddit, Kuaishou, Amazon, Walmart, eBay, Target, Home Depot, Booking.com, Airbnb, Tripadvisor, Yelp, Zillow, Redfin, Indeed, Glassdoor, App Store, Google Play, G2, Capterra, Google Ads Transparency, Meta Ads, SEC EDGAR and UK Companies House.

Keep the tool surface small

More tools registered is not more capability. It is more tokens in the system prompt and a harder selection problem for the model, and the effect is sharpest on the small local models Hermes users often run.

The hosted MCP server at https://mcp.scavio.dev/mcp (streamable HTTP, key in an x-api-key header) exposes 191 tools in total but registers 106 across 11 platforms by default, precisely for this reason. Widening is opt-in and additive -- SCAVIO_PLATFORMS locally, the x-scavio-platforms header on the hosted server, with values like default,zillow,sec. all works and registers all 191, but that payload is in every session whether the agent needs it or not.

If you want one platform and nothing else, install it as a skill:

Bash
hermes skills install @scavio-ai/scavio-youtube

50 skills cover the 50 platforms. Each is a single SKILL.md with the endpoint table, parameters and response shapes, so the model gets the contract without a server holding a socket open.

Collect once, reuse many times

Search-heavy agent workflows waste most of their budget re-fetching. The pattern worth building around is separating collection from generation: one pass gathers the data and writes it to a context document, subsequent passes work only on that document and make zero further calls.

Python
# Collection pass: every external call happens here, once.
research = {
    "topic": "kubernetes security best practices",
    "serp": search_google("kubernetes security best practices"),
    "sources": [extract(url) for url in top_urls],
    "collected_at": "2026-08-19T10:00:00Z",  # illustrative timestamp
}

# Generation passes: read research, call nothing.
# Cost of the second, third and fourth draft: zero credits.

The collected_at field is the part people skip and then regret. Without it you cannot tell a stale context document from a fresh one, and an agent will happily write a confident report off week-old data.

The checklist

  1. Build on MCP, not on a version-specific config shape.
  2. Test on Windows. pip install made it a first-class target.
  3. Return well-formed JSON with a consistent envelope; assume something is verifying it.
  4. Do not compete with built-ins. Cover the breadth they will never cover.
  5. Register the smallest tool set that does the job, and make widening explicit.
  6. Replace scraper-backed data paths with API-backed ones, especially for YouTube.
  7. Separate collection from generation and timestamp the collection.

None of those seven depend on which Hermes version is current when you read this, which is the point.

Scavio's free tier is 50 credits on signup, one-time, no card, at dashboard.scavio.dev/sign-up -- enough to test a tool path end to end. Credit cost varies by platform: Google, Amazon, Walmart and SEC EDGAR calls are 1 credit, Yelp and Tripadvisor are 2, G2 is 5. The docs carry the per-endpoint table.

Continue reading

amazonai-agents

Your Agent's Web Search Tool Cannot See the Price

11 min read
ebayebay-api

eBay Sold Listings Now Require a Login. What Can Price Research Use Instead?

12 min read
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy