Prerequisites
Install Hermes Agent (Linux, macOS, WSL2, Termux):Setup
1
Add the Danube MCP Server
hermes mcp add registers a remote server, prompts for its credential and probes it for tools:API key / Bearer token prompt. Hermes writes the key to ~/.hermes/.env as MCP_DANUBE_API_KEY and sends it as Authorization: Bearer, which Danube accepts in place of the danube-api-key header.Hermes then connects, lists Danube’s tools and asks which to enable. Choose Enable all unless you want a smaller surface (see Fewer tools per session).2
Verify Connection
hermes mcp list shows every configured server and whether it is enabled.3
Use it
Start a session and ask for something Danube can do:Hermes registers MCP tools with a server prefix, so Danube’s appear as
mcp__danube__search_tools, mcp__danube__execute_tool and so on. You never need to type those names; Hermes picks them during normal reasoning.Edit the config directly
Hermes reads MCP servers from~/.hermes/config.yaml (%LOCALAPPDATA%\hermes\config.yaml on Windows) under mcp_servers. This block is equivalent to the CLI setup above, using Danube’s own header instead of a bearer token:
${VAR} in headers at connect time from ~/.hermes/.env (falling back to the process environment):
/reload-mcp to reconnect with the new config. Otherwise the next hermes chat picks it up.
OAuth instead of a pasted key
Danube’s MCP server also supports the MCP OAuth 2.1 flow with PKCE and dynamic client registration, which Hermes handles automatically:~/.hermes/mcp-tokens/danube.json and refreshed automatically. On a headless host, run hermes mcp login danube and follow the printed URL, or paste the redirect URL back at the prompt.
Coming from Claude Code?
hermes import-agent claude-code migrates the mcpServers block from ~/.claude.json (along with skills and instructions) into mcp_servers in Hermes’ config. If Danube is already connected in Claude Code, the import carries it over; credentials are never imported, so re-add the key as shown above.
Fewer tools per session
Danube exposes 31 MCP tools and Hermes registers every enabled one at session start, which costs context. Two ways to trim the list:-
Ask Danube for a tool group on the connection URL.
?tools=corekeeps search, execute, describe, fetch_result, store_credential, report_tool and set_parameter_defaults; a comma list such as?tools=core,workflowsadds a group (skills,workflows,wallet,feedback): -
Or filter on the Hermes side with
tools.include/tools.exclude.hermes mcp configure danubereopens the interactive checklist you saw at install time.
Troubleshooting
Command not found: hermes
Command not found: hermes
The installer links
hermes into ~/.local/bin (/usr/local/bin when run as root). Open a new shell, or add it to your PATH:Connection timeout
Connection timeout
- Check your internet connection
- Verify the URL is correct:
https://mcp.danubeai.com/mcp - Test the health check:
curl https://mcp.danubeai.com/health - Raise
connect_timeout(default 60 s) on the server entry inconfig.yaml
Tools not appearing
Tools not appearing
- Run
hermes mcp test danubeto confirm the server connects and lists tools - Run
hermes mcp listand check the server is notenabled: false(a failedhermes mcp addoffers to save the entry disabled) - Type
/reload-mcpin a running session after editingconfig.yaml - If you filtered tools, check
tools.includeinconfig.yamlor re-runhermes mcp configure danube
Saved with a Bearer header but I want the danube-api-key header
Saved with a Bearer header but I want the danube-api-key header
Both work.
hermes mcp add always writes Authorization: Bearer ${MCP_DANUBE_API_KEY}; replace the headers block in config.yaml with danube-api-key: "${MCP_DANUBE_API_KEY}" if you prefer Danube’s native header. The key in ~/.hermes/.env stays the same.