← All guides

Add Disposable Email to Hermes Agent

One block in config.yaml, and no auth to configure

Hermes Agent runs autonomously on your own machine — executing code, browsing, managing files — which means it runs into email verification constantly. It has had a built-in MCP client since v0.2.0, so giving it an inbox of its own is a single config block.

Setup

1Open your Hermes config at ~/.hermes/config.yaml.

2Add the server under mcp_servers:

mcp_servers:
  myagentinbox:
    url: "https://myagentinbox.com/mcp"
No credentials. Most remote MCP servers need a headers: block with a bearer token or an auth: oauth flow. myagentinbox has no accounts and no API keys, so the url is the entire configuration.

3Verify the connection. From a shell:

hermes mcp test myagentinbox
Testing 'myagentinbox'...
Transport: HTTP -> https://myagentinbox.com/mcp
Auth: none
✓ Connected (2686ms)
✓ Tools discovered: 4

  create_inbox          Create a disposable email inbox that expires in 24 hour...
  check_inbox           Check for messages in a disposable inbox. Returns a lis...
  read_message          Read the full content of a specific email message inclu...
  download_attachment   Download an email attachment. Returns images as base64,...

hermes mcp list shows the server in a table, and inside a running session /reload-mcp picks up config edits without a restart.

Prefer the CLI to editing YAML? hermes mcp add myagentinbox --url https://myagentinbox.com/mcp writes the same config block for you.

The four tools, and what to call them

Hermes namespaces MCP tools to avoid collisions, and which form you use depends on where you are:

Try it

Sign up for the Vercel newsletter with a throwaway email address.
Wait for the welcome message, then tell me the unsubscribe link.

Hermes creates an inbox, uses the address in the signup flow, polls until mail arrives, and reads the link back. No handoff to you in the middle.

Two settings worth tuning

Leave parallel tool calls off. Hermes can run a server's tools concurrently with supports_parallel_tool_calls, but inbox creation is capped at 1 per 5 minutes per IP. Concurrent create_inbox calls will trip that limit rather than go faster. Leave it at the default.

Give polling room. Verification mail usually lands in 5–30 seconds. If you see tool calls time out while waiting, raise the per-server timeout:

mcp_servers:
  myagentinbox:
    url: "https://myagentinbox.com/mcp"
    timeout: 60
    connect_timeout: 10

Tell the agent to back off between checks too — something like "wait 5 seconds between inbox checks, give up after 2 minutes" keeps it inside the 20 reads/minute budget instead of burning it on a tight loop.

Narrowing what Hermes can call

If you would rather expose only part of the surface, Hermes supports per-server filtering. To grant read-only access, for example:

mcp_servers:
  myagentinbox:
    url: "https://myagentinbox.com/mcp"
    tools:
      include: [check_inbox, read_message]

Use unprefixed names inside include. If both include and exclude are present, include wins.

Limits

Not seeing the tools? Run hermes mcp test myagentinbox first — it reports the transport, auth mode, and tool count, which separates a connection problem from a config one. Hermes registers MCP tools at startup, so a config edit needs /reload-mcp or a restart. If they still do not appear, check the server is not enabled: false and that no include filter is excluding them. Hermes documents the full checklist in its MCP reference.