Skip to content

Releases: mlennie/hermes-mcp

v0.4.0

17 May 17:28

Choose a tag to compare

Added

  • hermes_reset() tool. Clears every job from the in-memory JobStore
    in one call, returning JSON like {"cleared": 4, "by_status": {"running": 1, "pending": 3}}.
    Same caveat as hermes_cancel: does NOT stop in-flight worker threads
    or gateway calls — workers whose jobs are wiped run to completion and
    no-op when their mark_completed / mark_failed finds an unknown id.
    The tool description warns the LLM that the job store is shared across
    all MCP callers (multiple Claude sessions, background Hermes-agent
    workflows), so reset is a global operation that should be confirmed
    with the user when other work might be in flight.
  • JobStore.reset_all() -> tuple[int, dict[JobStatus, int]] helper backing
    the tool. Reaps expired terminal jobs before counting so the returned
    by_status reflects only jobs that were actually live in the store at
    call time. Typed against the existing JobStatus literal for stronger
    static checks.
  • Multi-client groundwork. Removed the hardcoded Claude-only
    assumptions from the OAuth flow and tool descriptions. Any MCP client
    that speaks Streamable HTTP + OAuth 2.1 and supports pasting in a
    static client_id / client_secret
    can now connect. Today that's
    still primarily Claude Desktop / Claude.ai. Codex CLI was tested and
    found to require Dynamic Client Registration (which we currently
    disable); Cursor / Continue likely have the same requirement. DCR
    support is tracked as a follow-up so those clients can join — see the
    Client compatibility section of the README for the current matrix.
  • OAUTH_ALLOWED_REDIRECT_SCHEMES env var. Comma-separated list of
    OAuth redirect-URI custom schemes to accept (default:
    claude,claudeai,cursor). https and http-on-localhost are always
    allowed as a security baseline. Lets operators extend the allowlist
    for new clients (e.g. vscode for Continue) without code changes.

Changed

  • Tool descriptions for hermes_ask / hermes_check / hermes_cancel /
    hermes_reset are now client-neutral. No longer hardcode "Claude" as
    the consumer; async-mode timeout guidance now notes that enforcement
    varies by client (Claude.ai is ~2 min; Codex CLI, Cursor, others
    differ). All async/sync decision heuristics remain unchanged.
  • README, CLAUDE.md, .env.example, and source-file docstrings reframed
    around generic MCP clients. The README's Client compatibility section
    is honest about the current matrix: Claude is the only client tested
    end-to-end; Codex CLI is confirmed incompatible until DCR support
    lands; Cursor and Continue are likely in the same boat.
  • hermes-mcp mint-client output now points at any MCP client's config
    format, not just Claude Desktop's Custom Connector UI.