MCP Server exposing 100+ Hermes Agent skills to any MCP-compatible AI client
Hermes MCP exposes 18 tools with complete input schemas and descriptions. Naming follows verb_noun convention (web_search, file_read, browser_click). Descriptions are present and contextual (avg ~120 chars), meeting the 10-1024 char baseline. However, output schemas are entirely undocumented, no tool specifies what fields the response contains, forcing LLMs to guess downstream field names and breaking tool chaining. Error handling is absent: no recovery guidance, no categorization of retryable vs fatal errors, no actionable error messages. Security concerns: terminal_exec and code_execute expose irreversible operations without dry-run or confirmation patterns. Parameters lack validation constraints (e.g., terminal_exec timeout has no min/max enforcement visible). Tool composition is reasonable but some tools conflate concerns (ai_complete bundles reasoning + tool use + multi-step execution into one opaque call).
Send a prompt to Hermes Agent's AI model and get a completion. Full agent capabilities — reasoning, tool use, multi-step execution.
Search academic papers on arXiv by keyword, author, or category.
Click an element on the current page by its ref ID.
Navigate a headless browser to a URL and return page snapshot. For pages requiring interaction (click, fill, scroll).
Get accessible snapshot of the current browser page. Returns interactive elements with ref IDs.
Execute Python code in a sandboxed environment. The code can call Hermes tools programmatically.
No output schemas documented for any tool. LLMs cannot predict response structure, breaking tool chaining and forcing guesswork on field names. E.g., web_search returns 'titles, URLs, snippets' but no schema specifies field names or types.
Irreversible operations (terminal_exec, code_execute, file_write, github_create_issue) lack dry-run, confirmation, or undo patterns. Agents can execute destructive commands without safeguards.
No error handling guidance. Tools do not specify what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'User not found. Try search_users() first'). LLMs cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Read a file with line numbers. Use for text files, configs, logs, source code.
Search file contents (regex) or find files by glob. Ripgrep-backed, faster than shell grep.
Write/create a file. Creates parent directories automatically. OVERWRITES existing content.
Create a GitHub issue with title, body, labels, and assignees.
Get info about a GitHub repository: stars, forks, language, description, default branch.
Search GitHub repositories by keyword, language, stars, etc.
Generate images using ComfyUI or other backends configured in Hermes.
Search Notion pages and databases. Requires Notion integration configured in Hermes.
Execute a shell command in a sandboxed environment. Use for builds, installs, git, scripts, package management.
Extract and parse content from a URL — articles, docs, API responses. Returns clean text or structured data.
Search the web using Hermes Agent's search capabilities. Returns titles, URLs, and snippets.
Get YouTube video transcript/subtitles and generate summaries, blog posts, or threads.
Parameter constraints not enforced or documented. terminal_exec timeout defaults to 180s with max 600s, but no validation visible. num_results in web_search defaults to 10, max 50, but no min specified. LLMs may pass invalid values.
ai_complete tool conflates multiple concerns: reasoning, tool invocation, and multi-step execution. This violates single-responsibility principle and makes it opaque to the MCP client what the tool actually does.