Install
$ agentstack add skill-onlyterp-hermes-optimization-guide-audit-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
audit-mcp — MCP Server Security Audit
Walk every server declared in ~/.hermes/config.yaml under mcp_servers: and produce a structured report with risk flags.
Procedure
- Read the config. Load
~/.hermes/config.yamland extract themcp_servers:block. If the block is empty or missing, report "No MCP servers configured" and exit.
- For each server, collect:
- Server name and transport (
stdioifcommand:present,httpifurl:present) - Declared
trust:level (trusted/community/untrusted; defaultcommunityif unset) allow_sampling:flag (defaultfalse)tools_allowlist:presence and length- Source identifier: npm package (parse from
args:), git URL, or HTTP origin - Last-updated timestamp:
- npm:
npm view time.modified - git:
git -C log -1 --format=%cI - http: attempt a
HEADand grabLast-Modified
- Risk-flag each server:
- 🔴 HIGH:
trust: trustedAND reads untrusted content (web scraping, email parsing, public RSS). List any tool names matching/scrape|fetch|email|rss|crawl/ias evidence. - 🔴 HIGH:
allow_sampling: trueANDtrustis nottrusted. - 🟡 MEDIUM: last updated > 90 days ago.
- 🟡 MEDIUM: no
tools_allowlistfor a server with > 10 tools exposed. - 🟡 MEDIUM: referenced
${VAR}inenv:is not set in~/.hermes/.env. - 🟢 LOW: unscoped
enabled_for, making the server available in every profile.
- Render a table. Columns: name, transport, trust, sampling, tools-allowed / tools-exposed, last-update age, flags.
- Summarize next steps. Group findings by flag color and recommend:
- HIGH: "Change
trust:tocommunityoruntrusted, disable sampling, add tools_allowlist." - MEDIUM stale: "Run
npm updateor rebuild the git source; verify release notes." - MEDIUM missing allowlist: "Add
tools_allowlist:with the specific tools you actually use."
- Offer to apply fixes. Ask the user if they'd like to:
- Downgrade any
trusted→community - Disable
allow_samplingon flagged servers - Write a suggested
tools_allowlistbased onhermes logsusage history
Never auto-apply without confirmation.
Output format
Report as markdown. Paste into Telegram / Discord / dashboard as-is. Example:
## MCP Security Audit — 2026-04-17
### 🔴 HIGH (1)
- **random-scraper** — trusted + reads untrusted content (`scrape_url`, `fetch_rss`)
### 🟡 MEDIUM (2)
- **postgres** — last updated 127 days ago (package @modelcontextprotocol/server-postgres)
- **github** — no tools_allowlist, 34 tools exposed
### 🟢 LOW (1)
- **filesystem** — enabled_for empty, loads in every profile
### Recommendations
1. Change `random-scraper` to `trust: untrusted` and add tools_allowlist.
2. `npm update @modelcontextprotocol/server-postgres`.
3. Scope `github` to the 6 tools actually used in last 30d.
Notes
- Runs entirely locally. No data leaves the host.
- Pair with
cron.yamlto run weekly (see [Part 19](../../../part19-security-playbook.md#periodic-security-hygiene)). - Uses
terminalto execnpm view/git log; usesfileto read the config.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: OnlyTerp
- Source: OnlyTerp/hermes-optimization-guide
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.