Connect Hermes to Traveler.md
Hermes Agent (by Nous Research) has a built-in MCP client and connects to remote MCP servers over OAuth. Once connected, Hermes can read your Traveler.md and Trip.md files and keep them updated.
Before you start
- These steps run wherever Hermes is installed.
- Hermes reads MCP servers from the
mcp_servers:section of~/.hermes/config.yaml. OAuth tokens are cached at~/.hermes/mcp-tokens/<server>.json.
Steps
-
Add a
travelermdentry undermcp_servers:in~/.hermes/config.yaml:YAMLmcp_servers: travelermd: url: 'https://mcp.traveler.md/mcp' auth: oauthauth: oauthis what tells Hermes to run OAuth discovery, client registration, PKCE, and token refresh for this server rather than expecting a static bearer token. -
Complete the OAuth flow from a shell:
Bashhermes mcp login travelermdHermes prints an authorize URL, opens your browser where it can, and waits for the callback on a local loopback port. Sign in to Traveler.md and approve the scopes.
-
Start Hermes and ask it something that needs your files, for example “What do you know about my travel preferences?” Hermes registers MCP tools under a prefix, so
read_profilebecomesmcp_travelermd_read_profile, but you don’t need to name it: Hermes picks the tool during normal reasoning. -
Narrow the tool surface if you want to, with:
Bashhermes mcp configure travelermdThis reopens tool selection and writes the result to
mcp_servers.travelermd.tools.include.
Finally, paste the instruction block below into the agent’s instructions or system prompt:
I use Traveler.md as my travel memory, so my preferences and my trips live in one place I can connect to the travel tools I use. There are two kinds of files, and I manage both on the Traveler.md platform: one profile with my lasting travel preferences, and one file per trip with the details for that trip. You can read and update both through the Traveler.md connector. Follow these rules whenever travel comes up: - Read before answering. For any travel-related request, first read my profile and the relevant trip file. Use what's there, and don't ask me for anything the files already contain. - If you can't reach my files, say so. Don't guess or invent preferences. Tell me the connector isn't responding so I can reconnect it. - Capture durable preferences immediately. When I state a lasting travel preference, even casually with no trip in progress (e.g. "I prefer aisle seats"), update my profile right away, then confirm in one line what changed. Make the actual update, don't just say you will. - Keep one-off details in the trip file. Needs specific to a single trip (e.g. "ground-floor room this time") go in that trip's file, not my profile. For that trip, the trip file overrides my general defaults. - One file per trip. Create a new trip file when a trip takes shape, store the itinerary and ideas in it, and update it as plans firm up. - Keep everything clean. No duplicates, and preserve existing entries unless you're correcting or replacing them. If a new preference conflicts with an old one, replace it and note the change. - Flag the edits that matter. Tell me briefly when you create a trip file or make a significant change, and skip announcing trivial ones.
Troubleshooting
- OAuth times out right after you edit the config? When you edit
~/.hermes/config.yamlfrom inside a running Hermes session, the CLI auto-reloads MCP connections with a 30-second timeout, which is not long enough for an interactive browser flow. Add the entry first, then runhermes mcp login travelermdfrom a separate shell. - OAuth won’t complete on a remote or headless host? Open the printed authorize URL in a browser on your own machine and approve there, or set up an SSH port forward for the loopback callback.
- Stale tool list in a live session? Run
/reload-mcp, or restart Hermes. - Scope or revocation change not reflected? Changes can take up to 15 minutes to propagate. Re-run
hermes mcp login travelermdto pick it up immediately. - Other issues: see Support.
Hermes MCP docs