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.
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.
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.
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:
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:
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:
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
| Tool | What it does |
|---|---|
stophy_search_videos | Search YouTube by keyword, with filters for type, upload date, duration, and sort order |
stophy_get_video | Fetch details, transcript, comments, replies, or live chat for a video URL |
stophy_get_channel | Browse a channel's videos, Shorts, playlists, or about page |
stophy_get_playlist | List a playlist's videos with metadata |
stophy_get_suggestions | Get autocomplete suggestions for a partial query |
stophy_get_credits | Check 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_channeldaily 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_videoandtype="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.
Related guides
- Add the YouTube MCP server to Claude Code
- Add the YouTube MCP server to Codex
- Add the YouTube MCP server to Cursor
- The Stophy CLI and MCP server, side by side
Get your API key at stophy.dev/dashboard →
Full reference for every client and tool lives at docs.stophy.dev/mcp.
Related posts
How to Add a YouTube MCP Server to Claude Code
Wire the Stophy YouTube MCP server into Claude Code with one command. Search videos, pull transcripts, read comments, and browse channels without leaving the terminal.
How to Add a YouTube MCP Server to Codex
Add the Stophy YouTube MCP server to OpenAI's Codex CLI with one TOML block. Search videos, pull transcripts, read comments, and browse channels from your terminal.
How to Add a YouTube MCP Server to Cursor
Add the Stophy YouTube MCP server to Cursor with one JSON block. Search videos, pull transcripts, read comments, and browse channels from Cursor's Agent.