hermes-webui (nesquena/hermes-webui) is an MCP server listed on the M8ven Trust Index. It scores 89 out of 100, grade B. It declares 7 tools. No publisher has claimed this listing.

B
Warning
89/100
8 days ago

hermes-webui

Hermes WebUI: The best way to use Hermes Agent from the web or from your phone!

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

nesquena

Source: github_code

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Code appears obfuscated
2 files are unreadable to a human reviewer. Cannot audit what they do.
🔐
You'll be asked for 11 credentials: HERMES_WEBUI_PASSWORD, HERMES_WEBUI_TLS_KEY, HERMES_WEBUI_GATEWAY_API_KEY, API_SERVER_KEY, LM_API_KEY, LMSTUDIO_API_KEY, ELEVENLABS_API_KEY, VOICE_TOOLS_OPENAI_KEY, OPENAI_API_KEY, HERMES_SESSION_KEY, JOPLIN_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configHERMES_WEBUI_TEST_NETWORK_BLOCK
configHERMES_WEBUI_HOSTctl.sh start runs the bootstrap in foreground/no-browser mode behind the daemon wrapper, writes logs to ~/.hermes/webui.log, and respects .env plus inline overrides such as =0.0.0.0 ./ctl.sh start.
configHERMES_WEBUI_PORTHERMES_WEBUI_PORT env or first argument, default 8787
🔐 secretHERMES_WEBUI_PASSWORDEnable via env var or Settings panel
configHERMES_WEBUI_PRESERVE_ENV
configWSL_DISTRO_NAME
configHERMES_HOMEyour config directly. It does not connect to an external
configHERMES_WEBUI_AGENT_DIRHERMES_WEBUI_AGENT_DIR, then known checkout paths, the hermes launcher on PATH, and finally the installed run_agent module exposed by HERMES_WEBUI_PYTHON
configHERMES_WEBUI_PYTHONHERMES_WEBUI_AGENT_DIR, then known checkout paths, the hermes launcher on PATH, and finally the installed run_agent module exposed by HERMES_WEBUI_PYTHON
configHERMES_WEBUI_DISABLE_LOCAL_VENV
configHERMES_WEBUI_TLS_CERT
🔐 secretHERMES_WEBUI_TLS_KEY
configHERMES_WEBUI_TLS_INSECURE_PROBE
configHERMES_WEBUI_FOREGROUND
configHERMES_WEBUI_STATE_DIRHERMES_WEBUI_STATE_DIR env, then $HERMES_HOME/webui (Windows default %LOCALAPPDATA%\hermes\webui, POSIX default ~/.hermes/webui)
configHERMES_WEBUI_SERVER_CWDWorking directory for the server process. Defaults to the agent dir; point it at a writable workspace when the agent dir is read-only so fallback relative writes land somewhere writable
🔐 secretHERMES_WEBUI_GATEWAY_API_KEY
🔐 secretAPI_SERVER_KEY
configHERMES_WEBUI_SESSION_TTL
configHERMES_WEBUI_COOKIE_NAME
configHERMES_WEBUI_PASSKEY
configHERMES_WEBUI_OIDC_ALLOW_VALUES
configHERMES_WEBUI_SECURE
configHERMES_WEBUI_TRUST_FORWARDED_PROTO
configXDG_DATA_HOME
configHERMES_CONFIG_PATHPath to Hermes config file
configHERMES_WEBUI_DEFAULT_WORKSPACEHERMES_WEBUI_DEFAULT_WORKSPACE env, then ~/workspace, then state dir
configHERMES_WEBUI_DEFAULT_MODELOptional model override; leave unset to use the active Hermes provider default
configHERMES_MODEL
configOPENAI_MODEL
configLLM_MODEL
🔐 secretLM_API_KEY
🔐 secretLMSTUDIO_API_KEY
configHERMES_WEBUI_MODELS_REBUILD_BUDGET
configHERMES_WEBUI_BUDGET_WARN_COOLDOWN
configCODEX_HOME
configHERMES_DEBUG_SLOW
configHERMES_WEBUI_CSP_CONNECT_EXTRAOptional space-separated http(s):// or ws(s):// origins to append to the enforced and report-only CSP connect-src directives for trusted reverse-proxy, tunnel, or extension sidecar deployments
configHERMES_WEBUI_CSP_FRAME_EXTRA
configMEDIA_ALLOWED_ROOTS
configHERMES_WEBUI_MEDIA_SNAPSHOT_CAP_BYTES
configHERMES_WEBUI_MEDIA_SNAPSHOT_MAX_FILE_BYTES
configHERMES_WEBUI_STATE_DB_OVERRIDE_TOP_N
configHERMES_WEBUI_LINEAGE_TOP_N
configHERMES_WEBUI_CLAUDE_PROJECTS_DIR
configHERMES_WEBUI_TEST_STATE_DIR
configHERMES_WEBUI_SKIP_ONBOARDING
configHERMES_WEBUI_PLUGINS_DIR
configHERMES_WEBUI_ISOLATED_PROFILE
configHERMES_BASE_HOME
configHERMES_WEBUI_SLOW_REQUEST_SECONDS
configHERMES_WEBUI_ALLOWED_ORIGINS
configHERMES_WEBUI_TRUST_FORWARDED_HOST
configHERMES_WEBUI_TRUSTED_PROXY_CIDRS
configWIKI_PATH
configHERMES_WEBUI_TRUST_FORWARDED_FOR
🔐 secretELEVENLABS_API_KEY
🔐 secretVOICE_TOOLS_OPENAI_KEY
🔐 secretOPENAI_API_KEY
configHERMES_WEBUI_FOLDER_ZIP_MAX_MB
configHERMES_WEBUI_FOLDER_ZIP_MAX_FILES
configTERMINAL_CWD
configHERMES_EXEC_ASK
🔐 secretHERMES_SESSION_KEY
configPROGRAMFILES
configHERMES_WEBUI_EXTERNAL_NOTES_SOURCES
configJOPLIN_URL
🔐 secretJOPLIN_TOKEN
configHERMES_WEBUI_PREFILL_MESSAGES_SCRIPT
configHERMES_WEBUI_SSE_CHUNKEDSet truthy (1/true/yes/on) to send SSE with Transfer-Encoding: chunked. Needed behind buffering reverse proxies (e.g. jupyter-server-proxy) that otherwise buffer the whole stream; harmless but unnecessary for directly-served deployments
configHERMES_SKIP_CHMODSet HERMES_SKIP_CHMOD=1 in .env
configHERMES_HOME_MODE
configHERMES_WEBUI_AUTO_INSTALL
configHERMES_WEBUI_PREFILL_CONTEXT_MAX_CHARS
configHERMES_PREFILL_MESSAGES_FILE
configHERMES_WEBUI_PREFILL_MESSAGES_SCRIPT_TIMEOUT
configHERMES_WEBUI_STALE_COMPLETION_MAX_AGE_SECONDS
configHERMES_WEBUI_SSE_WRITE_DEADLINE
configHERMES_SSE_WRITE_DEADLINE
configHERMES_SESSION_ID
configHERMES_SESSION_PLATFORM
configHERMES_SESSION_CHAT_ID
configSHELL
configGATEWAY_HEALTH_URL
configHERMES_GATEWAY_HEALTH_URL
configHERMES_WEBUI_MAX_EXTRACTED_MB
configHERMES_WEBUI_ATTACHMENT_DIRFile attachments persist across page reloads and are stored outside the active workspace by default (~/.hermes/webui/attachments/<session_id>/, or /<session_id>/ when configured)
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

7/7 tools missing one or more hints — list_projects (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_project (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); rename_project (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +4 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Readable source code

2 files are minified or bundled, which is usually build output rather than concealment

Ship unminified, readable source.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/nesquena/hermes-webui?variant=verified)](https://m8ven.ai/mcp/nesquena/hermes-webui)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: e168b67e4278df618d1cab61fdb3a8dc55b29a81
code hash: c8f265d68d30a4e1ef0809996cbd70a36182b99a68599b350e2f3d706572a405
verified: 9/2/2026, 7:15:13 PM
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client