How to give your Hermes agent its own email inbox
Mount Agent Inbox MCP tools at Hermes startup, give each subagent its own mailbox, and keep send on Ask — instead of SMTP in a skill file.
Discuss this post in AI
Send a pre-filled prompt to ChatGPT, Claude, Gemini, or Perplexity — get a summary, ask follow-ups, or compare ideas from this guide.
Hermes is a capable personal and team agent runtime. The failure mode is familiar: a skill file that knows how to speak SMTP, a password sitting next to the prompt, and one mailbox shared by every subagent you spawn. That works until a research fork sends mail, or a leaked skill commits a credential.
Give Hermes a real mailbox through MCP. Agent Inbox exposes tools for inboxes, threads, and drafts. Mount those tools at startup. Bind an inbox id per subagent. Keep send on Ask. Run the durable company version of the same role on Neuro OS when the work is not a laptop experiment.
MCP at startup, not halfway through a chat
Load the Agent Inbox MCP server in the Hermes config that starts the session. If tools appear only after the agent “decides it needs email,” you will get inconsistent availability and surprise sends. The tool list should include: create or resolve inbox, list threads, read message, search, and draft send.
Create the mailbox once and put the inbox id in the role config:
from agentinbox import AgentInbox
client = AgentInbox()
inbox = client.inboxes.create(username="hermes-core", domain="agentinbox.space")
The agent should resolve that id, not invent a new username on every boot. Provisioning is an admin action; daily work is read and draft.
Per-subagent inboxes
Hermes can fan out subagents. If they share one inbox, OTP mail for a vendor signup collides with a human thread the parent was handling. Give the subagent a child inbox, or pass a scoped inbox id in its instructions and hide the parent’s tools.
When the subagent finishes, it should not send a summary email unless Ask approved it. Return structured output to the parent. The parent drafts, if anything must leave the building.
This is the opposite of a skill that wraps SMTP. A skill-file SMTP helper encourages the model to treat send as just another function. MCP plus Ask makes send a gated tool. Credentials never live in Markdown.
Config that a human can review
Keep Hermes config in git: MCP server URL or stdio command, which tools are enabled, which inbox ids exist, and that draft_send requires approval. Neuro OS uses the same idea at company scale — policy in neuro.yaml, skills in the repo, writes default to Ask.
Do not store mailbox passwords. Do not enable a generic “run shell to send mail” escape hatch. If Hermes can execute arbitrary commands, deny mail utilities in the sandbox and force the MCP path.
A first Hermes mail loop
- Start Hermes with Agent Inbox MCP.
- Confirm the agent can list threads on its inbox and cannot list others.
- Forward a test message from a shared alias.
- Ask the agent to summarize and draft a reply.
- Approve or edit on Ask, then send.
- Confirm the reply threaded — see email threading for AI agents.
If the agent needs a person, forward into Neuro OS. Hermes on a laptop is a good way to learn the pattern. Production roles still need an org chart, an audit log, and someone who owns the Ask queue.
The contrast to remember: skill-file SMTP is a credential with extra steps. MCP plus Agent Inbox is a mailbox the rest of the company can reply to, with sends that wait.
Agent Inbox gives each role a mailbox people can reply to, with forwarding into Neuro OS when a human must see the thread. Outbound mail defaults to Ask. Run the role on Neuro OS. To scope the first inbox, get started.