session/new request. You do not need to duplicate your MCP setup — define your servers once in your editor config and Hermes picks them up automatically.
Where MCP configs are read from
The extension checks four locations in the following order. Later entries override servers with the same name from earlier entries, so workspace-level configs take precedence over global configs.
All discovered and enabled servers are merged into a single list and passed to Hermes when the session starts.
The extension also substitutes the following variables in
command, args, env, and url fields before forwarding:
Config format
Eachmcp.json file uses the standard MCP server format. Place the file at one of the locations above and the extension discovers it automatically on the next session start.
stdio server (most common)
stdio server with environment variables
HTTP or SSE server
Disabling a server without removing it
Set"disabled": true on any server entry and the extension skips it when building the forwarded list.
Verification
After you start a session, confirm your MCP servers were forwarded correctly:- Send a message that would trigger one of your MCP servers.
- If
hermes.showToolCallsis enabled, a tool call notification appears in the chat when Hermes invokes the server. - If you see no tool calls and expect some, open the extension logs via the chat toolbar → More options → Logs and look for
session/newto inspect themcpServerspayload that was sent.
MCP configurations are read once at session start. If you add, remove, or
modify a server in your
mcp.json after a session is already running, you
must start a new session for the change to take effect. Use the + New Chat
button in the toolbar or run Hermes: New Chat from the Command Palette.