Hermes-agent agentmail
Give the agent its own dedicated email inbox via AgentMail. Send, receive, and manage email autonomously using agent-owned email addresses (e.g. hermes-agent@agentmail.to).
install
source · Clone the upstream repo
git clone https://github.com/NousResearch/hermes-agent
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NousResearch/hermes-agent "$T" && mkdir -p ~/.claude/skills && cp -r "$T/optional-skills/email/agentmail" ~/.claude/skills/nousresearch-hermes-agent-agentmail-0fa8c5 && rm -rf "$T"
manifest:
optional-skills/email/agentmail/SKILL.mdsource content
AgentMail — Agent-Owned Email Inboxes
Requirements
- AgentMail API key (required) — sign up at https://console.agentmail.to (free tier: 3 inboxes, 3,000 emails/month; paid plans from $20/mo)
- Node.js 18+ (for the MCP server)
When to Use
Use this skill when you need to:
- Give the agent its own dedicated email address
- Send emails autonomously on behalf of the agent
- Receive and read incoming emails
- Manage email threads and conversations
- Sign up for services or authenticate via email
- Communicate with other agents or humans via email
This is NOT for reading the user's personal email (use himalaya or Gmail for that). AgentMail gives the agent its own identity and inbox.
Setup
1. Get an API Key
- Go to https://console.agentmail.to
- Create an account and generate an API key (starts with
)am_
2. Configure MCP Server
Add to
~/.hermes/config.yaml (paste your actual key — MCP env vars are not expanded from .env):
mcp_servers: agentmail: command: "npx" args: ["-y", "agentmail-mcp"] env: AGENTMAIL_API_KEY: "am_your_key_here"
3. Restart Hermes
hermes
All 11 AgentMail tools are now available automatically.
Available Tools (via MCP)
| Tool | Description |
|---|---|
| List all agent inboxes |
| Get details of a specific inbox |
| Create a new inbox (gets a real email address) |
| Delete an inbox |
| List email threads in an inbox |
| Get a specific email thread |
| Send a new email |
| Reply to an existing email |
| Forward an email |
| Update message labels/status |
| Download an email attachment |
Procedure
Create an inbox and send an email
- Create a dedicated inbox:
- Use
with a username (e.g.create_inbox
)hermes-agent - The agent gets address:
hermes-agent@agentmail.to
- Use
- Send an email:
- Use
withsend_message
,inbox_id
,to
,subjecttext
- Use
- Check for replies:
- Use
to see incoming conversationslist_threads - Use
to read a specific threadget_thread
- Use
Check incoming email
- Use
to find your inbox IDlist_inboxes - Use
with the inbox ID to see conversationslist_threads - Use
to read a thread and its messagesget_thread
Reply to an email
- Get the thread with
get_thread - Use
with the message ID and your reply textreply_to_message
Example Workflows
Sign up for a service:
1. create_inbox (username: "signup-bot") 2. Use the inbox address to register on the service 3. list_threads to check for verification email 4. get_thread to read the verification code
Agent-to-human outreach:
1. create_inbox (username: "hermes-outreach") 2. send_message (to: user@example.com, subject: "Hello", text: "...") 3. list_threads to check for replies
Pitfalls
- Free tier limited to 3 inboxes and 3,000 emails/month
- Emails come from
domain on free tier (custom domains on paid plans)@agentmail.to - Node.js (18+) is required for the MCP server (
)npx -y agentmail-mcp - The
Python package must be installed:mcppip install mcp - Real-time inbound email (webhooks) requires a public server — use
polling via cronjob instead for personal uselist_threads
Verification
After setup, test with:
hermes --toolsets mcp -q "Create an AgentMail inbox called test-agent and tell me its email address"
You should see the new inbox address returned.
References
- AgentMail docs: https://docs.agentmail.to/
- AgentMail console: https://console.agentmail.to
- AgentMail MCP repo: https://github.com/agentmail-to/agentmail-mcp
- Pricing: https://www.agentmail.to/pricing