All plugins

Official

mcp-serve

Run Hermes as an MCP server: hermes mcp-serve lets any MCP client (Claude Code, Claude Desktop, Cursor, Codex) list and read your messaging conversations, poll live events, send messages and answer approvals over stdio. --tools (off by default) also exposes Hermes' web, browser, vision, image generation, skills and TTS tools; terminal, file and kanban tools are never exposed. Formerly built into Hermes core as hermes mcp serve (MCP clients change their args to ["mcp-serve"]). Disclosure — the connecting MCP client reads the active profile's conversation history (state.db) and can send messages as your connected platform accounts; with --tools it also runs Hermes tools under your configured provider credentials, which can spend provider credits. The plugin itself makes no network or model calls beyond those tool calls and sends.

NousResearch676Toolsv1.0.0Updated 7 days ago

About

Run Hermes as an MCP server: hermes mcp-serve lets any MCP client (Claude Code, Claude Desktop, Cursor, Codex) list and read your messaging conversations, poll live events, send messages and answer approvals over stdio. --tools (off by default) also exposes Hermes' web, browser, vision, image generation, skills and TTS tools; terminal, file and kanban tools are never exposed. Formerly built into Hermes core as hermes mcp serve (MCP clients change their args to ["mcp-serve"]). Disclosure — the connecting MCP client reads the active profile's conversation history (state.db) and can send messages as your connected platform accounts; with --tools it also runs Hermes tools under your configured provider credentials, which can spend provider credits. The plugin itself makes no network or model calls beyond those tool calls and sends.

MCP Serve

Part of Hermes Official Plugins. Formerly built into Hermes core as hermes mcp serve.

Run Hermes as an MCP server. Any MCP client (Claude Code, Claude Desktop, Cursor, Codex, your own harness) launches hermes mcp-serve over stdio and gets your Hermes messaging conversations as tools: list and read conversations across Telegram, Discord, Slack, WhatsApp, Signal, Matrix and the rest, poll or wait for new messages, send messages, and see approval requests. With --tools it also gets Hermes' own web, browser, vision, image generation, skills and text-to-speech tools.

Install

hermes plugins install mcp-serve
# or straight from this repo (tracks main):
hermes plugins install NousResearch/hermes-official-plugins#mcp-serve

Connect an MCP client

{
  "mcpServers": {
    "hermes": {
      "command": "hermes",
      "args": ["mcp-serve"]
    }
  }
}

Use ["-p", "<profile>", "mcp-serve"] to serve another profile's conversations; the plugin must be installed in that profile too (hermes -p <profile> plugins install mcp-serve).

Coming from hermes mcp serve? Change the client's args from ["mcp", "serve"] to ["mcp-serve"]. The ten tool names, their parameters and descriptions are unchanged. On a Hermes without the old command, hermes mcp serve prints this new spelling and the install line.

Tools

ToolWhat it does
conversations_listActive conversations with their session keys, platform, chat type and last activity
conversation_getOne conversation's details
messages_readRecent messages of a conversation
attachments_fetchImages, media and other non-text parts of one message
events_poll / events_waitNew messages since a cursor; events_wait long-polls
messages_sendSend to platform:chat_id (or a channel name), through Hermes' own send path
channels_listTargets you can send to
permissions_list_open / permissions_respondApproval requests seen during this session

Messages come from the profile's state.db. Events start when the server starts; older history is read with messages_read. Reading needs no running gateway; messages_send does, since the platform connections live there.

--tools: Hermes' tools for other agents

{ "command": "hermes", "args": ["mcp-serve", "--tools"] }

Adds these Hermes tools next to the bridge, using this profile's configured providers and credentials:

web_search · web_extract · browser_navigate · browser_click · browser_type · browser_press · browser_snapshot · browser_scroll · browser_back · browser_get_images · browser_console · browser_vision · vision_analyze · image_generate · skill_view · skills_list · text_to_speech

  • Off by default. Without --tools the server exposes only the conversation bridge.
  • A fixed allowlist. Terminal, file, code execution, process, kanban and delegation tools are never exposed, whatever the profile enables: they would hand the client a shell on your machine outside Hermes' approval prompts (kanban tasks run as full agents).
  • No local files. browser_navigate and web_extract take only web URLs (no file:), vision_analyze only http(s): or data: images (no local paths, including bare names such as shot.png), and text_to_speech writes only into Hermes' own cache (its output_path is not offered). Web URLs include local-network addresses such as localhost:3000, as they do for the Hermes model.
  • Your profile's choices apply. Only toolsets enabled for the CLI in hermes tools are offered, and a tool whose backend is not configured (no web provider, no image key, no local browser) is left out, the same availability rules the Hermes model sees.
  • Your hooks still apply. Shell hooks and plugin pre_tool_call hooks run around every call; --accept-hooks skips the first-use consent check for shell hooks, as it does for the gateway.
  • Tool output is secret-redacted (HERMES_REDACT_SECRETS), and calls cost whatever the configured provider charges.

Options

hermes mcp-serve                 # conversation bridge only
hermes mcp-serve --tools         # plus Hermes' tools (see above)
hermes mcp-serve --verbose       # debug logging on stderr

The server is stdio only. Logs go to stderr; stdout is the MCP wire.

Development

cd hermes-official-plugins/mcp-serve
HERMES_AGENT_REPO=$HOME/src/hermes-agent PYTHONPATH=$HOME/src/hermes-agent python -m pytest -q

MIT licensed. Built by Nous Research.

README from the reviewed commit e7a218f; it updates when the author re-pins.

More by NousResearch

29 plugins by NousResearch in the catalog.

NousResearchaccent-pickerOKLCH accent colour picker for the Hermes Desktop status bar: drag it and the whole theme retints live, with palette commands to reset to the theme default or copy the current colour. A theme-authoring tool; the colour is scratch state and is never persisted. Desktop-only (desktop/plugin.js inside the plugin SDK surface); no agent tools, hooks, middleware or env vars.OfficialDesktop app676NousResearchadvanced-delegationTwo extra delegation modes for delegate_task, next to the built-in default. Model routes (delegation.backend: model_map): the agent picks a named model route per subagent from a list you define (e.g. fast, deep, local). Profile routes (delegation.backend: profile_routes): the agent runs a subagent as one of your Hermes profiles, with that profile's own model, credentials, skills and SOUL.md. Only route names and their one-line descriptions reach the model. Adds hermes delegation config (pick the mode and edit its routes; --show prints the setup) and the /delegation slash command (save a mode for the next session, or --now to apply it to the current chat). Needs Hermes 0.22.5 or newer, the first release with pluggable delegation providers; Hermes 0.22.0 to 0.22.4 refuses to install it, and on a core older than 0.22.0 it installs, logs one warning and does nothing. A model route can set daybreak: true to run its model with OpenAI's Daybreak trusted-access program; it is sent only from your own CLI, TUI or Desktop chats, on openai-codex, for models your Codex catalog lists, and a route that breaks a rule is refused. Disclosure — no Python dependencies and no network or model calls of its own, except that a Daybreak route checks the Codex catalog through core's cached lookup with your existing Codex login; subagents run through core's delegate_task on the routes you configured. Writes only delegation.backend and delegation.backends.* (model_map / profile_routes) in the active profile's config.yaml, through core's config writer. A model route's optional api_key is stored in config.yaml in plain text (provider: keeps keys in .env / auth.json). Listing a profile under profile routes lets this profile's subagents use that profile's credentials, SOUL.md and terminal policy.Officialtools676NousResearchagent-importershermes import-agent: import an OpenClaw (~/.openclaw, or legacy ~/.clawdbot / ~/.moltbot), Claude Code (~/.claude), Codex CLI (~/.codex), Cursor (~/.cursor), Grok Bot (a self-export the Bot writes from a prompt the importer prints) or OpenBot desktop (its openbot.db) setup into Hermes in one command; always previews first and asks before applying. Claude Code / Codex / Cursor: instructions, Cursor rules and memories become memory entries, Bash permission rules become command allow/deny lists, MCP servers land in config.yaml, skills are copied, and --sync re-imports sources that changed. OpenClaw (core's former hermes claw migrate; the plugin keeps that spelling, hermes claw cleanup and the openclaw-migration skill): persona, memories, skills, model and messaging settings, MCP servers and agent behaviour. Formerly built into Hermes core; hermes setup offers to install it when it finds one of these agents, and profiles with a registered sync source are migrated automatically. Disclosure — no Python dependencies, no network calls and no model calls. Claude Code / Codex / Cursor: reads those agents' local config trees (never their credential files; secret-looking MCP env vars and headers are stripped and listed) and writes only into the active profile (memories/MEMORY.md with a backup, config.yaml, skills/ and import-sync.json). OpenClaw: reads the OpenClaw dir (openclaw.json, its .env, workspace files such as SOUL.md / MEMORY.md / USER.md, skills); API keys and bot tokens come over only with --migrate-secrets (allowlisted names, shown in the preview). It writes into the active profile (config.yaml, .env, SOUL.md, memories/, skills/openclaw-imports/, a migration/openclaw/<time>/ report with item backups, and a backups/pre-migration-*.zip restore point), plus a workspace dir only when --workspace-target names one. It runs local pgrep / systemctl / tasklist checks to warn when OpenClaw or a Hermes gateway is still running, and hermes claw cleanup renames the OpenClaw dir to *.pre-migration after a confirmation. Grok Bot / OpenBot: instructions become SOUL.md, memories and user facts become memory entries, skills land in skills/<source>-imports/, scheduled routines become paused cron jobs (--activate-routines to start them) and event routines a notes file; credential-looking export keys refuse the file, and secret MCP env vars and headers are stripped and listed. OpenBot's database is opened read-only (or read from a scratch copy that is deleted after the read).Officialtools676NousResearchblenderOfficial Blender Lab MCP server over stdio, pinned to upstream v1.0.3, with a Blender workflow skill. Needs Git and uv; Blender 5.1+ is not needed at install. The skill opens Blender itself when a task needs it and, after you agree, installs Blender and Blender Lab's MCP add-on. First startup downloads Python dependencies; prepare the uv environment before connecting. Disclosure — tools execute arbitrary Python in Blender with your privileges; the skill starts Blender with online access for that session only (your saved preference is unchanged), and the add-on's local server on port 9876 has no password, so any program on this computer can use it while Blender is open; only after you agree does the skill download Blender from download.blender.org (about 400 MB, about 1.5 GB unpacked), check it against blender.org's sha256 list and install it in your own folder without administrator rights (Linux ~/.local/opt, macOS ~/Applications, Windows %LOCALAPPDATA%\Programs\Blender Foundation; never over an existing Blender), and download the v1.0.3 add-on, check its hash and install or enable it; first start downloads the pinned Blender Lab MCP server and its Python dependencies with uv. Server discovery does not prove scene readiness.Officialtools676

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section