iHermes is an unofficial iOS client for Hermes Agent. It talks to a gateway you already run. This page gets you connected.
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.
Three steps, and the third one is optional.
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.
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.
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`.
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.
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.
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.
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.
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.
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.