hermes-agent/website/docs/user-guide/features
Teknium e7172ab1ba feat(mcp): fnmatch glob support in tools.include/exclude filters
The include/exclude filter matched exact names only — glob-style entries
('*_radar_*') silently matched nothing, so a Cloudflare flat-mode config
meant to trim 3,320 tools to ~1,900 actually registered 3,319. Unmatched
patterns produced no warning.

- matches_name_filter(): exact membership first (O(1) for literal lists),
  then fnmatch.fnmatchcase for entries containing * ? [ — same pattern
  semantics as approvals.deny. Entries without metacharacters stay
  strictly literal ('docs' never matches 'docs_search').
- _should_register() uses it for both include and exclude (symmetric)
- hermes mcp tools picker (mcp_config.py) pre-selection uses the same
  matcher so the UI agrees with runtime registration

E2E against the live Cloudflare capture with the real exclude list:
3,320 -> 1,905 surviving (1,415 excluded); radar/DLP gone,
purge_cache/dns_records kept. 220/220 mcp_tool tests (4 new).
2026-07-26 08:26:09 -07:00
..
_category_.json
acp.md docs(acp): document HERMES_ACP_SKIP_CONFIGURED_MCP for ACP hosts 2026-07-24 15:51:20 -07:00
api-server.md fix(api-server): expose model options inventory 2026-07-24 11:20:07 -07:00
batch-processing.md
browser.md fix: widen headed-mode gate to config, add browser.headed default, tests, docs 2026-07-18 10:07:46 -07:00
built-in-plugins.md
code-execution.md
codex-app-server-runtime.md docs(codex): document live app-server display; AUTHOR_MAP entries 2026-07-17 13:44:12 -07:00
computer-use.md fix(skills): move computer-use skill into the autonomous-ai-agents category 2026-07-23 21:06:39 -07:00
context-files.md
context-references.md
credential-pools.md
cron.md
curator.md fix(curator): make the autonomous write policy consistent (#67140) 2026-07-25 19:27:17 -07:00
delegation.md feat(delegation): let subagents use execute_code (#69325) 2026-07-22 06:58:45 -07:00
deliverable-mode.md feat(skills): bundle docx, xlsx, and pdf office skills; refresh powerpoint (#68595) 2026-07-21 05:39:23 -07:00
extending-the-dashboard.md docs(desktop): document the desktop plugin SDK (@hermes/plugin-sdk) (#67301) 2026-07-19 04:02:17 +00:00
fallback-providers.md
goals.md
honcho.md
hooks.md feat(slack): opt-in reaction triggers, removed events, hooks, channel handoff 2026-07-23 11:50:08 -07:00
image-generation.md fix(image-gen): stop reporting the Codex tool_choice 400 as an account limit 2026-07-25 16:41:57 -07:00
kanban-tutorial.md
kanban-worker-lanes.md
kanban.md docs(kanban): explain why an unblocked task can later land in triage 2026-07-17 15:47:39 -07:00
lsp.md fix(lsp): never report stale diagnostics — wait for fresh post-edit data 2026-07-20 13:43:36 -04:00
mcp.md feat(mcp): fnmatch glob support in tools.include/exclude filters 2026-07-26 08:26:09 -07:00
memory-providers.md feat(honcho): add OAuth device-code login (RFC 8628) for headless environments 2026-07-24 07:53:12 -07:00
memory.md
mixture-of-agents.md feat(moa): default advisor fanout to user_turn — the cheapest cadence 2026-07-23 21:07:18 -07:00
overview.md
personality.md
pets.md refactor(skills): restructure hermes-agent into a hub + absorb themes, desktop-plugins, tui-widgets, petdex 2026-07-23 19:46:02 -07:00
plugins.md
provider-routing.md
skills.md
skins.md
spotify.md
subscription-proxy.md
tool-gateway.md
tool-search.md feat(tools): tier-2 server-summary hint + per-server listing degradation; 5% default budget 2026-07-26 08:26:09 -07:00
tools.md
tts.md
vision.md
voice-mode.md feat(voice): desktop flags interrupted submits 2026-07-22 17:53:06 -05:00
web-dashboard.md rip out brew + pip/PyPI wheel support (#68217) 2026-07-22 16:51:01 -04:00
web-search.md
x-search.md docs(xai): clarify x_search vs xurl routing without schema cross-refs 2026-07-23 21:06:47 -07:00