Hermes Agent by Nous Research
Hermes learns your posting routine
Show Hermes the routine once: read last week's posts, pick the best, write the recap. It saves the steps as a skill and runs them on cron, with the result in Telegram or Discord.
- Connects through
- Remote MCP, OAuth or a key header
- Config
~/.hermes/config.yaml- Runs on
- Cron, delivered to Telegram or Discord
- Skill review
skills.write_approval
What Hermes Agent can do in your social accounts
Hermes Agent writes its own skills. The first time, it does the job step by step with the BuzzTake tools: read_profile, read_post, create_content. Then it saves the steps as a skill under ~/.hermes/skills, and the next run follows them.
Hermes cron jobs run a prompt or a skill on a schedule and deliver the result to Telegram, Discord or the chat that asked. A Monday recap, a daily mention check or a Friday plan for next week all fit.
With skills.write_approval on, a new or changed skill waits for your review before Hermes uses it, so a routine that posts is never rewritten without you.
It works on X, LinkedIn, Bluesky, Reddit and Telegram, and on every other platform BuzzTake connects. Each action is one tool, named as in the actions reference.
Jobs for Hermes Agent
Say it in plain words. These are prompts that work, and the calls they make.
A Monday recap, as a skill
Hermes reads last week's posts, picks the three with the most replies, and plans a recap post for review. After the first run it saves the steps as a skill.
Read last week's posts on our X and LinkedIn accounts, pick the three with the most replies, and plan a LinkedIn recap as a BuzzTake draft for review. Save the steps as a skill.
2 × read_profile, 1 × create_content8 credits ($0.08), plus 10 credits for each draft that goes outMentions every two hours
A cron job searches for your brand and sends new mentions to Discord, with the ones that ask a question first.
Every 2 hours, search X and Bluesky for Acme Sync with BuzzTake and send new mentions to #social on Discord.
2 × search8 credits ($0.08)Next week's plan on Friday
Hermes turns the notes you sent it during the week into five drafts on the BuzzTake calendar.
Every Friday at 16:00, turn this week's notes into five posts for next week as BuzzTake drafts, and submit them for review.
5 × create_content10 credits for each draft that goes outFollow back the people who matter
It lists new followers, checks their profiles, and follows back the ones that match what you described.
List our 50 newest followers on X. Follow back the ones who build developer tools, and tell me who you followed.
1 × list_followers, 6 × follow22 credits ($0.22)
Set up Hermes Agent
Hermes runs on your computer or on a server, and reaches BuzzTake over the internet.
Install Hermes
Skip this when Hermes is installed. The installer runs the setup.
Terminal curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashAdd the server
Add it to
config.yaml, or runhermes mcp add buzztake --url https://mcp.buzztake.com/mcp --auth oauth.~/.hermes/config.yaml mcp_servers: buzztake: url: "https://mcp.buzztake.com/mcp" auth: oauthSign in and test
The login opens BuzzTake in a browser. On a server without one, paste the redirect URL back when Hermes asks, or forward the callback port over SSH. In a running chat,
/reload-mcploads the server.Terminal hermes mcp login buzztake hermes mcp test buzztakeTurn on skill review
Set
skills.write_approval: true. New skill files then wait in~/.hermes/pending/skillsuntil you approve them with/skills approve.Teach it the routine
Do the job once in a chat and ask Hermes to save it.
Prompt Read last week's posts on our X account, pick the three with the most replies, and plan a LinkedIn recap as a BuzzTake draft. Save the steps as a skill called weekly-recap.
Ways to connect Hermes Agent
The routes that reach BuzzTake from Hermes Agent, and how well each one fits.
- Remote MCP, OAuth sign-inBest fit
Hermes signs in with OAuth 2.1 and PKCE, and registers itself with BuzzTake. BuzzTake has no device flow, so on a server use the paste-back or an SSH port forward.
- Remote MCP, API keyWorks
hermes mcp add buzztake --url https://mcp.buzztake.com/mcp --auth headerasks for the key, keeps it in~/.hermes/.envand writes the header for you.~/.hermes/config.yaml mcp_servers: buzztake: url: "https://mcp.buzztake.com/mcp" headers: Authorization: "Bearer ${MCP_BUZZTAKE_API_KEY}"- REST APIWorks
Hermes can run curl with its terminal tool. In cron, Hermes refuses commands it rates as dangerous, so MCP is steadier for scheduled work.
POST /v1/accounts/{id}/actions curl https://api.buzztake.com/v1/accounts/$ACCOUNT_ID/actions \ -H "Authorization: Bearer $BUZZTAKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type": "post", "text": "Version 2.4 is out.", "wait": 60}'
What it costs
BuzzTake charges in prepaid credits for the actions it runs. One credit is one US cent.
| Job | Credits | USD |
|---|---|---|
| A Monday recap, as a skill | 8 + 10 per post | $0.08 + $0.10 per post |
| Mentions every two hours | 8 | $0.08 |
| Next week's plan on Friday | 10 per post | $0.10 per post |
| Follow back the people who matter | 22 | $0.22 |
A post, a quote or a message is 10 credits, a reply 8, a like or a follow 3, and a read or a search 4. A planned post costs nothing until it goes out. Reads are charged when they succeed, and a write that fails before the page changes is refunded.
Hermes Agent's model use is billed by the model provider you set up, not by BuzzTake. Every price is on the pricing page, and the rules are in Credits.
Approvals and safety
A person can approve before anything goes out, and every action is recorded.
A skill that posts runs without a person by design. Make it plan drafts with create_content and submit_for_review, and a reviewer approves each post in BuzzTake. A key without content_publish enforces that.
skills.write_approval: true holds every new or changed skill until you review it with /skills pending, /skills diff and /skills approve.
- Ask for drafts when a person must check first.
create_contentputs the post on the calendar,submit_for_reviewsends it to a reviewer, and it goes out only after the approval. - Give the agent an API key without the
content_publishpermission. It can then plan drafts and send them for review, and it cannot post by itself. - BuzzTake records every action: who asked, through which key, on which account, what the page returned and what it cost.
- A sign-in step that BuzzTake cannot finish, such as a 2FA code, becomes a challenge. The agent asks you for the code, or gives you a link to a live browser where you answer it.
- Only an owner or an administrator can allow an OAuth client. Disconnect it under Developers in the app, and its token stops working.
More in Approvals and Reports and audit.
Limits
- Cron jobs run only while the Hermes gateway runs.
- A variable named in
config.yamlthat has no value in~/.hermes/.envstops the connection. Check it withhermes mcp test buzztake. - An action tool waits up to 120 seconds for its result. A longer action comes back with its id, and
get_actionfollows it to the end. - The MCP server runs up to 8 requests at a time for one key or sign-in. Above that it answers 429 with
Retry-After, and the client tries again. - One organization connects up to 200 accounts.
- The platforms set their own pace. When one asks an account to slow down, the action ends with
rate_limited, and a write that failed before the page changed is refunded.
Troubleshooting
Every error code and its fix is in Errors and challenges.
hermes mcp logincannot open a browser- Paste the redirect URL back when Hermes asks for it, or run the login on your computer with an SSH port forward to the server.
- A new chat does not see BuzzTake
- Run
/reload-mcpin the chat, or start a new session. - The client says the server refused the token (401)
- The sign-in expired or was revoked, or the API key is wrong. Sign in again from the client, or make a new key under Developers.
- An action stops at
needs_input - The platform asked for a code. Give the code to the agent so it calls
answer_challenge, or open the challenge'ssign_in_urland answer in the live browser. - The answer is
insufficient_credits - The balance is lower than the price, and nothing was queued. A post needs 10 credits. Top up, then ask again.
- The answer is
unsupported - The platform has no such action. The error lists the actions it has, and the generic
browseraction can do the rest step by step. - An account shows
signed_out - Its session ended and no stored password could sign it in again. Ask the agent for a sign-in link with
get_sign_in_linkand open it, or reconnect the account in the app.
Hermes Agent questions
- Can Hermes Agent post to social media on a schedule?
- Yes. A Hermes cron job can run a skill that uses the BuzzTake tools. Let it plan drafts for review, so a person approves each post before it goes out.
- Does Hermes keep my passwords in its skills?
- No. A skill holds steps such as read_profile and create_content. The accounts sign in at BuzzTake, and Hermes holds only its BuzzTake token.
- Can Hermes deliver results to Telegram or Discord?
- Yes. A cron job delivers to telegram, discord, a Discord channel, the chat that asked, or all of them.
- What does a weekly recap cost?
- Two profile reads are 8 credits, and the recap draft is 10 credits when it goes out.
Related agents
All AI agents, the MCP server docs, the quickstart, and the platforms: X LinkedIn Bluesky Reddit Telegram
Give Hermes Agent your social accounts.
Add an account with a password, cookies or a sign-in link, then connect the MCP server and ask.