Hermes
Integrate Treeship with Hermes agents via skill file and MCP server.
Hermes agents support two integration methods: a Treeship skill file for session discipline and the Treeship MCP server for MCP-routed tool-call receipts. The best setup uses both.
Hermes does not currently have a Treeship-native in-process hook. Coverage is skill-driven plus MCP-routed, so use treeship wrap for important shell commands and session reports as a backstop.
Fast path
For Treeship v0.15.0 or later, use the native installer:
treeship init
treeship add hermesThat writes the Hermes skill to:
~/.hermes/skills/treeship/SKILL.mdand adds a project-local TREESHIP.md so Hermes can see what Treeship captures when it works inside the repo.
If you are testing with a temporary HOME on macOS, prefer a canonical path such as /private/tmp/...; /tmp is a symlink to /private/tmp, and Treeship intentionally refuses to write integration files through symlinked config paths.
Full provable setup
Install Treeship CLI
curl -fsSL https://treeship.dev/install | sh
treeship initGive Hermes a key-bound identity
treeship agent register --name hermes --own-key --tools mcp,terminal,file,git --description "Hermes Agent"Use --own-key so Hermes receipts can be attributed to a dedicated agent key instead of only the workspace ship key.
Install the Hermes skill
Preferred:
treeship add hermesManual fallback:
mkdir -p ~/.hermes/skills/treeship
curl -fsSL https://raw.githubusercontent.com/zerkerlabs/treeship/main/integrations/hermes/treeship.skill/SKILL.md \
-o ~/.hermes/skills/treeship/SKILL.mdThe Hermes agent reads the skill and follows the instructions to start/close sessions, wrap side-effectful shell commands, record approvals and handoffs, and avoid publishing secrets.
Add the Treeship MCP server
hermes mcp add treeship --command npx \
--env TREESHIP_ACTOR=agent://hermes TREESHIP_HUB_ENDPOINT=https://api.treeship.dev \
--args -y @treeship/mcp--args must come last in the Hermes CLI command.
Then make sure the configured server has the Hermes actor in its environment:
# ~/.hermes/config.yaml
mcp_servers:
treeship:
command: npx
args: ["-y", "@treeship/mcp"]
env:
TREESHIP_ACTOR: "agent://hermes"
TREESHIP_HUB_ENDPOINT: "https://api.treeship.dev"TREESHIP_ACTOR=agent://hermes is required. Without it, receipts may fall back to a generic MCP identity.
Smoke test the release path
This is the minimal offline check for the released CLI and Hermes skill install path:
TMP=$(mktemp -d /tmp/treeship-v015-smoke.XXXXXX)
TMP_REAL=$(cd "$TMP" && pwd -P)
HOME_TMP="$TMP_REAL/home"
mkdir -p "$HOME_TMP" "$TMP_REAL/work"
curl -fsSL https://github.com/zerkerlabs/treeship/releases/download/v0.15.0/treeship-darwin-aarch64 \
-o "$TMP_REAL/treeship"
chmod +x "$TMP_REAL/treeship"
cd "$TMP_REAL/work"
HOME="$HOME_TMP" "$TMP_REAL/treeship" init
HOME="$HOME_TMP" "$TMP_REAL/treeship" add hermes
test -f "$HOME_TMP/.hermes/skills/treeship/SKILL.md"
grep 'TREESHIP_ACTOR=agent://hermes' "$HOME_TMP/.hermes/skills/treeship/SKILL.md"Expected outcome:
✓ Hermes Skill Harness configured
✓ ./TREESHIP.md writtenProvable Hermes session demo
Use this when you want a local-verifiable session package before publishing anything to Hub:
treeship init
treeship agent register --name hermes --own-key --tools mcp,terminal,file,git --description "Hermes Agent"
treeship add hermes
hermes mcp add treeship --command npx \
--env TREESHIP_ACTOR=agent://hermes TREESHIP_HUB_ENDPOINT=https://api.treeship.dev \
--args -y @treeship/mcp
treeship session start --name "hermes: first verified session"
treeship wrap -- /bin/echo "hello from a provable Hermes session"
treeship session closesession close prints the .treeship package path. Verify it offline:
treeship package verify .treeship/sessions/<session-id>.treeshipYou should see inclusion-proof and Merkle-root checks pass. If you are attached to Hub, publish the report:
treeship session reportWhat appears in the receipt
| Section | Skill file | MCP server |
|---|---|---|
| Commands | Via treeship wrap [EXPLICIT] | Not applicable |
| Tool calls | Not applicable | MCP-routed tool calls [AUTO] |
| Agent identity | agent://hermes in events [EXPLICIT] | TREESHIP_ACTOR=agent://hermes [AUTO] |
| File operations | Session report / git reconcile backstop [AUTO] | Routed file-tool metadata when available [AUTO] |
| Approvals | treeship approve + approval nonce [EXPLICIT] | Not applicable |
| Handoffs | treeship attest handoff or session event [EXPLICIT] | Not applicable |
Expected outcome: a Hermes session can produce a local-verifiable Treeship receipt and optional Hub report. MCP-routed tool calls can verify as Hermes-owned when the bridge signs with a registered agent://hermes key.