AI / Automation

Hermes Agent MCP on Mac: Dev Toolchain Setup (2026)

Hermes Agent MCP setup on Mac connecting local development tools

Hermes Agent from Nous Research already ships terminal tools, skills, and gateways. Model Context Protocol (MCP) lets Hermes call external tool servers—filesystem roots, GitHub, databases, hosted APIs—without writing a native Hermes tool for each integration. On a Mac, that is how you wire a local dev toolchain into the agent loop while keeping secrets in ~/.hermes/.env.

Note: ProxyMac publishes Mac automation guides; Hermes and MCP are vendor-neutral. Commands match the upstream repo and official MCP docs as of May 2026.

Upstream: github.com/NousResearch/hermes-agent and the official MCP guide.

Why MCP on Hermes for Mac developers

Developers usually need three surfaces at once: a bounded filesystem for repo work, issue/PR tools (GitHub or Linear), and sometimes an IDE agent that shares messaging or sessions.

Hermes covers the first two as an MCP client (mcp_servers in config). It covers IDE integration as an MCP server via hermes mcp serve so Cursor or Claude Code can read/send Telegram or Discord through your gateway.

Quotable definition: Hermes registers MCP tools as mcp_<server>_<tool_name> (for example mcp_filesystem_read_file), discovers servers at startup, and supports stdio subprocess servers plus HTTP endpoints with optional OAuth 2.1.

If Hermes is not installed yet, complete the Hermes Agent Mac setup guide first—this article assumes hermes doctor passes on macOS 13+ with Node and npx available.

Architecture: config, transports, and tool names

PiecePath / commandRole
MCP config~/.hermes/config.yamlmcp_servers:Declares stdio or HTTP servers
Secrets~/.hermes/.envAPI keys from catalog install prompts
OAuth tokens~/.hermes/mcp-tokens/*.jsonRemote MCP auth cache (mode 0600)
Cataloghermes mcpNous-reviewed one-click MCP installs
Reload/reload-mcp in TUIRefresh after YAML edits
Reverse bridgehermes mcp serveExposes Hermes messaging to MCP clients

Stdio servers use command, args, and env—ideal for @modelcontextprotocol/server-filesystem on your Mac.

HTTP servers use url and headers (or auth: oauth) for Linear, Stripe, or internal endpoints.

Hermes does not pass your full shell environment to stdio children—only configured env plus a safe baseline. On a headless Mac mini, that complements OpenClaw MCP env under launchd patterns, but Hermes filters at the agent layer.

References: modelcontextprotocol.io and Apple Mac mini specs (16 GB RAM if Docker plus several stdio MCP servers run together).

Seven-step MCP setup runbook on macOS

Step 1 — Confirm MCP extras

Standard install.sh includes MCP. If hermes doctor warns:

cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"

Verify node --version and npx --version — most catalog servers need Node.

Step 2 — Filesystem server for one repo root

Edit ~/.hermes/config.yaml and add a bounded project path (never your entire $HOME unless intended):

mcp_servers.project_fs with npx -y @modelcontextprotocol/server-filesystem /Users/you/dev/my-app

Step 3 — GitHub MCP from catalog

Run hermes mcp or hermes mcp install github. Hermes prompts for GITHUB_PERSONAL_ACCESS_TOKEN, writes ~/.hermes/.env, and shows a tool checklist — disable destructive tools before confirming.

Step 4 — Optional Codex CLI preset

When codex is on PATH: hermes mcp add codex --preset codex (equivalent to codex mcp-server over stdio).

Step 5 — Whitelist sensitive tools

Under each server set tools.include (e.g. list_issues, create_issue, search_code) and tools.prompts: false so only mcp_github_* tools you need are registered.

Step 6 — Verify in TUI

Run hermes and ask to list files in the project root. After YAML edits use /reload-mcp. For OAuth, use a fresh terminal: hermes mcp login <server> (in-session reload times out at 30s).

Step 7 — Expose Hermes to Cursor

Add "command": "hermes", "args": ["mcp", "serve"] to the client MCP config. Reads work without gateway; sends need hermes gateway — see Hermes Mac setup.

Dev toolchain recipes (stdio vs HTTP)

ScenarioTransportConfig patternWhen
Monorepo searchstdiofilesystem npx + repo pathDaily MacBook coding
PRs / issuesstdiocatalog github + token in .envAgent triage
Codex delegationstdio presethermes mcp add codex --preset codexHeavy codegen
Linear / SaaSHTTP OAuthurl + auth: oauthNo local daemon
Cursor ↔ TelegramHermes as serverhermes mcp serveIDE uses Hermes channels

Recommendation: Start with one filesystem root plus one catalog server on a laptop. On a 24/7 Mac mini gateway host, limit concurrent stdio MCP processes if RAM is tight.

Use hermes mcp configure github when a server adds new tools. Re-run hermes mcp install <name> after hermes update when catalog manifests change.

Troubleshooting

MCP server not connecting

Pattern: connection errors; no mcp_* tools in the TUI.

Fix: cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]", then hermes doctor. Validate YAML under mcp_servers: and restart Hermes.

Tools not appearing

Pattern: catalog install succeeded but the agent never calls MCP tools.

Causes: enabled: false, narrow tools.include, failed OAuth, or install-time probe failure. Run hermes mcp configure github when the server is online.

OAuth on remote Mac (SSH)

Pattern: browser on laptop, Hermes on a headless Mac.

Fix: paste the redirect URL at the prompt, or use ssh -L to forward the callback port. Prefer hermes mcp login <name> from an interactive SSH session.

FAQ

Does Hermes replace Cursor's built-in MCP?+
No. Hermes is its own runtime with an MCP client and optional MCP server. You can run both: Cursor MCP for the IDE and hermes mcp serve for messaging—or use Hermes alone with mcp_servers for repo tools.
How are MCP tools named?+
Hermes registers mcp_<server>_<tool_name> (dots become underscores). Describe tasks in natural language; the model selects tools.
Is the catalog safe?+
Entries are PR-reviewed in optional-mcps/, but install still runs upstream bootstrap commands. Read the manifest source: URL before production installs.
Can MCP tools run in parallel?+
Yes, with supports_parallel_tool_calls: true per server—only for read-only or non-conflicting tools.
How do I update MCP entries?+
Catalog entries are not auto-updated. Run hermes mcp install <name> again after hermes update, and hermes mcp configure <name> for new tools.

Need an always-on Mac?

Optional Mac mini keeps Hermes gateway and MCP stdio servers alive while your laptop sleeps.