Set up iHermes

iHermes is an unofficial iOS client for Hermes Agent. It talks to a gateway you already run. This page gets you connected.

Let your agent do it

Hermes can configure itself. Add this setup server, then ask your agent to set up iHermes and it will walk you through it, run the commands, and diagnose anything that goes wrong.

hermes mcp add ihermes --url https://www.stephenthorn.com/ihermes/mcp

It is a normal MCP server. It runs on this site, not on your machine, so it never touches your files: it hands your agent the exact steps and your agent does the work, with your approval, the way it handles any other tool.

Or do it by hand

Three steps, and the third one is optional.

1

Run the Hermes dashboard

On the machine where your Hermes agent lives. A non-loopback bind makes Hermes refuse to start without an auth provider, so run it in a terminal the first time and it offers to set a dashboard username and password for you, writing them into its own config.

hermes dashboard --host 0.0.0.0 --port 9119

Same machine or same network only? Skip the password and use a session token: set HERMES_DASHBOARD_SESSION_TOKEN to any value you choose, run the dashboard with --port 9119 --no-open, and pick Session token in the app.

2

Add the gateway in the app

Open iHermes, tap Add a gateway, enter the dashboard URL and either the username and password from step 1 or the session token. That is the entire setup. Nothing gets installed on your gateway.

3

Push notifications, if you want them

Optional, and the only part that needs anything installed. Download the gateway plugin from this site, extract it into your Hermes plugins directory, and enable it. Then turn push on in the app under Settings > Notifications. No pairing QR, no setup script.

curl -fsSL https://www.stephenthorn.com/ihermes/ihermes-plugin.tar.gz | tar -xz -C ~/.hermes/plugins
hermes plugins enable ihermes

The plugin needs httpx, h2, PyJWT, cryptography and qrcode in the same environment Hermes runs in. Restart the gateway and the dashboard afterwards, then set the relay URL with `hermes config`.

Reaching your gateway from your phone

Whatever you already use works, as long as iOS will talk to it. The app allows plain http for two cases that cannot hold a public certificate: LAN addresses, and Tailscale (*.ts.net), where traffic is already inside a WireGuard tunnel. Everything else has to be https, which means a Tailscale Funnel, a tunnel, or your own reverse proxy.

Common questions

The app says it could not connect, and mentions App Transport Security.

iOS refuses plain http to a remote host. The app allows it for LAN addresses and for Tailscale (*.ts.net), because Tailscale traffic is already inside an encrypted tunnel. Any other host needs https: a Tailscale Funnel, a tunnel, or a reverse proxy holding a real certificate.

Do I need a plugin for chats, bots or rooms?

No. A stock hermes dashboard is the whole contract. Chats, bots, rooms, routines, skills, memory and model switching all work with nothing installed. Only push notifications need the plugin.

I installed the plugin but the app cannot find its routes.

The dashboard mounts plugin routes at startup, so it needs a restart after installing or enabling a plugin. The same applies to editing the environment file: a running dashboard baked its environment at launch.

Where does the gateway plugin come from?

It is hosted here: /ihermes/ihermes-plugin.tar.gz. Hermes’s own `plugins install` command only clones Git repositories and does so shallowly, so it cannot install from a plain download, which is why the instructions above extract the archive directly into your plugins directory. The archive contains only the plugin package, and you can read every file in it before enabling anything.

Is this an official Nous Research app?

No. iHermes is an unofficial client for Hermes Agent, which is MIT licensed. It is not affiliated with, endorsed by, or distributed by Nous Research.