How to Connect Hermes Agent to a Video Pipeline with MCP
Hermes Agent runs on your own machine or server, remembers your work, and answers you on Telegram, Discord or Slack. Over MCP it can also make videos. This guide adds Treza's hosted MCP server to Hermes, covers sign-in on a laptop and on a headless server, and shows prompts that turn it into a video producer.

Hermes Agent is the open-source agent from Nous Research that lives on your own hardware: a laptop, a $5 VPS or a serverless box. It keeps memory across sessions, writes its own skills, runs cron jobs and talks to you through Telegram, Discord, Slack, WhatsApp and more. What it does not have is a video model. Connect it to a video pipeline over the Model Context Protocol and your agent can make the videos itself, from a message you send it on your phone.
This guide uses Treza's hosted MCP server, the same server ChatGPT, Claude, Cursor and Codex connect to. Hermes speaks the same Streamable HTTP transport, so setup is four lines of YAML and one login.
What the connection gives Hermes
Treza's MCP server lives at trezalabs.com/api/mcp. Once it is added, Hermes gets tools scoped to your Treza account:
make_video, which turns a plain request into a ready-to-run video with a model, a graph and a price in one calllist_node_types,get_node_type,create_pipeline,update_pipelineandpublish_pipeline, so it can author a multi-step pipeline (script, shots, narration, captions) instead of waiting for you to draw oneestimate_run_costandget_credit_balance, so it can tell you what a render costs before any credits moverun_pipeline,get_runandcancel_run, so it can start a render, follow it to the finished video's link, and stop one you no longer wantcreate_upload_urlandimport_media, so a photo, a logo or a voiceover on the machine Hermes runs on can go into a videolist_assets,assemble_videoandedit_asset, so it can finish media you already have: join clips over a voiceover, add captions, trim or upscalelist_connected_channelsandconnect_channel, for pipelines that post to YouTube or TikTok
Hermes's own strengths stack on top. Its memory means it remembers which pipeline is your daily Short and how you like captions. Its skills mean a video workflow it gets right once becomes something it repeats.
Step 1: Add Treza to config.yaml
Hermes reads MCP servers from ~/.hermes/config.yaml. Add Treza under mcp_servers:
mcp_servers:
treza:
url: "https://www.trezalabs.com/api/mcp"
auth: oauthauth: oauth tells Hermes to register itself with Treza and sign you in through the browser, so no key goes in the file.
Step 2: Sign in
From a terminal on a machine with a browser, run:
hermes mcp login trezaHermes opens Treza's sign-in page. Sign in with Google and approve access, and Hermes stores the token in ~/.hermes/mcp-tokens/treza.json and refreshes it on its own from then on.
Then start a new Hermes session, or run /reload-mcp in one that is already open, and the Treza tools appear.
Running Hermes on a server
A VPS has no browser to sign in with. There, use a Treza API key instead. Create one on the API keys page with the pipelines:read, pipelines:run and pipelines:write permissions, put it in ~/.hermes/.env:
TREZA_API_KEY=treza_live_...and swap the auth line for a header that reads it:
mcp_servers:
treza:
url: "https://www.trezalabs.com/api/mcp"
headers:
Authorization: "Bearer ${env:TREZA_API_KEY}"The key stays out of the config file, and if the gateway is running it picks up the change without a restart.
Step 3: Ask for a video
Prompts like these work as-is, in the terminal or from a chat app through the gateway:
- "Use Treza to make a 30 second Short about the deep sea's strangest animals, narrated and captioned."
- "Use Treza to turn the product photos in ~/shots into a 15 second vertical ad with captions."
- "Build a Treza pipeline that turns each new post in our RSS feed into a narrated Short, and schedule it daily."
- "What would one run of my Daily Short pipeline cost?"
Treza tells Hermes the price before anything renders and waits for your go-ahead, so a misunderstood request costs nothing. Renders run in the background on Treza's workers. Hermes polls get_run and hands you the finished link, and on the gateway that means the video lands in the same Telegram or Slack thread you asked in.
Agents that work while you are away
This is where Hermes differs from an editor or a chat app. It keeps running when you close the laptop.
For a video you want on a fixed schedule, build it as a Treza pipeline and let Treza's own schedule run it, with an upload step at the end if it should post. That keeps the recipe, the models and the caption style versioned in one place, and every run is priced the same way.
For work that needs judgment each time, give Hermes a cron job. Something like "every weekday at 9, check yesterday's runs, retry anything that failed and send me the links" uses the same tools you would, and reports back on whichever platform you chose. Tell it the most it may spend in one go, and it can check that against estimate_run_cost before each run.
Where this beats calling a video model directly
An agent wired straight to a video model API gets you a clip. Wired to a pipeline, it gets you a finished video:
- The recipe lives in the pipeline. Model choices, narration, caption style and posting settings are saved once. Every run Hermes starts inherits them, so quality does not depend on how a request was phrased.
- The output is finished. A run can end with narration mixed, captions burned in and the video ready to post, not raw frames that need three more tools.
- Costs are visible. Runs started by Hermes draw the same prepaid credits and show up in the same run history as everything else, with a cost on every step.
Frequently Asked Questions
Can Hermes Agent make videos by itself?
No. Hermes has no built-in video model. With Treza connected it can make one over MCP: it prices the render, starts it, follows its progress and returns the finished video's link, while models like Veo 3.1 and Seedance 2.0 do the rendering inside the pipeline.
Where does the Treza config go?
In ~/.hermes/config.yaml, under mcp_servers, with the URL https://www.trezalabs.com/api/mcp and auth: oauth. Then run hermes mcp login treza and /reload-mcp. Setup for every other app is on the integrations page.
Do I need an API key?
Not on a machine with a browser: hermes mcp login treza signs you in with Google and no key touches your config. On a headless server, use a scoped API key from an environment variable in an Authorization header, as shown above.
What does a video made through Hermes cost?
The same as one made anywhere else in Treza: each generation is charged at the model's rate from your prepaid balance, and Hermes can tell you the price before you agree to it. There is no subscription.
Does it work with the Hermes gateway?
Yes. The gateway uses the same config.yaml, so once Treza is added you can ask for a video from Telegram, Discord, Slack or any other platform Hermes is connected to, and the finished link comes back in that conversation.


