Skip to content

Stophy blog

How to Add a YouTube MCP Server to Hermes Agent

Add the Stophy YouTube MCP server to Nous Research's Hermes Agent with one YAML block. Search videos, pull transcripts, read comments, and monitor live chat.

← All posts
MCPHermes AgentYouTubeAPI
Hussein Hakizimana··5 min read

Hermes Agent by Nous Research speaks MCP natively, which makes it easy to extend, but nothing in the base install reaches YouTube. Add the Stophy server to ~/.hermes/config.yaml and Hermes can search videos, fetch transcripts, read comment threads, walk channels and playlists, and poll live chat. Because Hermes also has skills, cron, and memory, those tools compose into workflows that run on their own.

Prerequisites

  • Hermes Agent installed and configured
  • A Stophy API key (see below)
  • Node.js, only for the local stdio option

Get an API key

Create an account at stophy.dev/dashboard. Keys start with st_ and are active immediately. Copy one for the config.

Each data tool costs one credit, stophy_get_credits is free, and credits don't expire. No Google quota to request, no scraping pipeline to maintain.

Add the server to ~/.hermes/config.yaml

Hermes loads MCP servers from ~/.hermes/config.yaml. Open or create it and add one of the blocks below under mcp_servers. Replace st_YOUR_API_KEY either way.

Local stdio server

Hermes spawns the npm package as a subprocess and passes the key through env.

yaml
1mcp_servers:
2 stophy:
3 command: "npx"
4 args: ["-y", "@stophy/mcp"]
5 env:
6 STOPHY_API_KEY: "st_YOUR_API_KEY"

Hosted HTTP

No local process or Node, since Hermes connects to api.stophy.dev over HTTPS.

yaml
1mcp_servers:
2 stophy:
3 url: "https://api.stophy.dev/v1/mcp"
4 headers:
5 Authorization: "Bearer st_YOUR_API_KEY"

YAML is whitespace-sensitive, so keep mcp_servers, stophy, and the nested keys consistently indented, and quote the key and URL strings. A stray indent is the most common reason the server fails to register.

Confirm it loaded

Hermes reads MCP servers at startup, so restart any running session. In a new one, ask Hermes to list its tools or just run a YouTube query. The stophy_* tools should answer with no extra skill or plugin install.

Run your first query

Try a search.

Search YouTube for "hermes agent" and show me the top 3 by view count.

Hermes calls stophy_search_videos and gets an array at data.items[], each entry carrying videoUrl, viewCount, viewCountText, and durationText. This is a real response, trimmed to the fields that matter:

json
1{
2 "success": true,
3 "creditsRemaining": 35689,
4 "data": {
5 "query": { "q": "hermes agent", "type": "video", "sortBy": "popularity" },
6 "items": [
7 {
8 "type": "video",
9 "videoUrl": "https://youtube.com/watch?v=QQEgIo4Juxg",
10 "title": "you need to use Hermes RIGHT NOW!! (goodbye OpenClaw!!)",
11 "author": "NetworkChuck",
12 "viewCount": 1234379,
13 "viewCountText": "1.2M Views",
14 "durationText": "32:39"
15 },
16 {
17 "type": "video",
18 "videoUrl": "https://youtube.com/watch?v=gb5TlGw6Uks",
19 "title": "Hermes Agent: Zero to Personal AI Assistant (1 Hour Course)",
20 "author": "Nate Herk | AI Automation",
21 "viewCount": 287334,
22 "viewCountText": "287.3K Views",
23 "durationText": "58:23"
24 },
25 {
26 "type": "video",
27 "videoUrl": "https://youtube.com/watch?v=TS_hH4sdiKs",
28 "title": "This 100% uncensored AI model is insane… let's run it",
29 "author": "David Ondrej",
30 "viewCount": 277241,
31 "viewCountText": "277.2K Views",
32 "durationText": "22:54"
33 }
34 ]
35 }
36}

Pull the transcript of the top result next.

Get the transcript for https://youtube.com/watch?v=QQEgIo4Juxg and tell me why the reviewer switched to Hermes.

stophy_get_video with type="transcript" returns timestamped segments:

json
1{
2 "data": {
3 "language": { "code": "en" },
4 "segments": [
5 { "start": 0, "text": "I'm switching to Hermes." },
6 { "start": 1.52, "text": "The vibe, the mission, that alone sold me." },
7 { "start": 4.24, "text": "But the idea that the Hermes agent grows with" }
8 ]
9 }
10}

Read the room with type="comments" to see what viewers actually said, ranked with like counts:

json
1{
2 "data": {
3 "items": [
4 { "author": "@cybersika", "text": "The most relatable part of this video is hitting the Rate Limit!!", "likeCount": 768 },
5 { "author": "@112Haribo", "text": "\"yes, we have 6 kids - 6 daughters\" Now the coffee addiction makes sense!", "likeCount": 477 }
6 ]
7 }
8}

The tools you just added

ToolWhat it does
stophy_search_videosSearch YouTube by keyword, with filters for type, upload date, duration, and sort order
stophy_get_videoFetch details, transcript, comments, replies, or live chat for a video URL
stophy_get_channelBrowse a channel's videos, Shorts, playlists, or about page
stophy_get_playlistList a playlist's videos with metadata
stophy_get_suggestionsGet autocomplete suggestions for a partial query
stophy_get_creditsCheck your remaining balance (free)

Composing with Hermes' native features

The payoff with Hermes is combining these tools with skills, cron, and memory.

  • Scheduled channel monitoring. A Hermes cron job runs stophy_get_channel daily and flags new uploads.
  • Memory-augmented research. Store video summaries in Hermes memory for cross-session recall, so a topic you researched last week is still there.
  • Live-stream monitoring. Poll an active stream's chat with stophy_get_video and type="livechat".
  • Single-turn pipelines. Search, fetch transcripts, and summarize in one agent turn.

Troubleshooting

Server not connecting? Confirm the file is ~/.hermes/config.yaml and the indentation is consistent. YAML is whitespace-sensitive, and a misaligned key will drop the whole block.

YAML parsing errors? Quote string values (especially the key and URL), keep args as a [...] list, and keep env and headers as mappings.

HTTP transport rejected? The Authorization value must be "Bearer st_...", noting the single space after Bearer.

Tools not appearing? Restart Hermes. MCP servers load at session start, so a running session won't see a newly added one.

FAQ

Does this use the official YouTube Data API? No. Stophy reads YouTube without Google quota or approval forms, so there's nothing to apply for and no daily cap to hit.

What does each call cost? One credit per data tool. stophy_get_credits is free and credits don't expire. New accounts start with a free balance.

Where does Hermes read the config? From ~/.hermes/config.yaml under mcp_servers. Restart Hermes so it reloads servers at startup.

Can Hermes run this on a schedule? Yes. Pair the tools with Hermes cron and memory to monitor a channel for new uploads or poll a live stream on its own.

Get your API key at stophy.dev/dashboard

Full reference for every client and tool lives at docs.stophy.dev/mcp.