hermes-local-topology

Diagnose host-versus-container execution, paths, ports, and config failures in a Hermes deployment.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/moistalgia/hermes-tools --skill hermes-local-topology-moistalgia
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hermes-local-topology
Source: https://github.com/moistalgia/hermes-tools/tree/main/skills-from-hermes/homeserver-infrastructure/hermes-local-topology
Command: npx skills add https://github.com/moistalgia/hermes-tools --skill hermes-local-topology-moistalgia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Hermes splits its tools between a native Windows host and a Docker container, which causes confusing failures: tools vanish mid-session, localhost probes fail, paths don't resolve, and config changes silently don't apply. This Skill documents the verified topology so you can debug "works here but not there" problems correctly instead of chasing phantom bugs. ## Core Features & Use Cases - Host vs container split: Maps which tools run natively on Windows (web_search, browser_*, MCP servers) versus inside the Docker sandbox (terminal, read_file, execute_code), and the addressing rules that follow (host.docker.internal vs 127.0.0.1). - Filesystem and 9p guidance: Documents the /sandbox, /root, and /tmp mounts, the read-only skills mount, and the working pattern for avoiding wedged 9p sessions that poison the terminal. - Config failure forensics: Explains how a malformed terminal.docker_forward_env JSON value silently removes the entire container toolset and blocks MCP tool injection, with the correct cmd.exe and PowerShell quoting to fix it. - Use Case: After adding a new MCP server, its tools don't appear and terminal calls fail. This Skill tells you the session toolset is fixed at start, the gateway restart is insufficient, and to verify config JSON before opening a new chat session. ## Quick Start Load this skill whenever a task involves where code runs, where files land, reaching a service by host and port, missing dependencies, or a wedged terminal in this Hermes setup.

Frequently Asked Questions about hermes-local-topology

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why do MCP tools not appear after adding a server in Hermes?▼

A running session's toolset is fixed at session start, so newly added MCP tools never appear in the current chat. The gateway restart command is not sufficient; start a new chat session before testing the new tools.

How do I reach a host service from inside the Hermes Docker container?▼

From inside the container, use host.docker.internal instead of 127.0.0.1 to reach host services. From a host-side MCP server, the same service is reachable at 127.0.0.1. Verified reachable ports include 32400 (Plex) and 8123 (Home Assistant).

Why did terminal and read_file suddenly stop working in Hermes?▼

A malformed terminal.docker_forward_env value breaks toolset assembly at session start, silently removing terminal, read_file, write_file, patch, search_files, and execute_code. On Windows, cmd.exe eats double quotes, so escape inner quotes as \" when setting JSON config values.

Can I use Windows paths like C:\ inside the Hermes container?▼

No. Backslashes are legal filename characters in POSIX, so a Windows path creates a single file literally named with backslashes, which previously leaked credentials in plaintext. Use POSIX paths only inside the container, with scratch work in /tmp and deliverables in /sandbox/out.

Why does search_files return zero results under dot directories?▼

search_files silently returns zero matches for any path with a dot-directory ancestor such as /root/.hermes/skills, reproduced on both overlay and 9p filesystems. Work around it by running grep with an exact path via the terminal tool.

Why does recursive grep hang inside the Hermes container?▼

Recursive grep or find across 9p mounts like /sandbox or /root/.hermes hangs indefinitely and can poison the whole terminal session. Work on the fast overlay in /tmp, target exact paths, and wrap any 9p access in a timeout.