Skip to content

Configure Tools

Generated OpenAPI tools are intentionally conservative:

  • GET becomes read and auto-executes.
  • POST, PUT, and PATCH become write and require approval.
  • DELETE becomes destructive and is disabled by default.
Terminal window
genaug tools list --project health-agent
genaug tools toggle delete_account --project health-agent --disable
genaug tools toggle log_symptom --project health-agent --enable

Before launch, verify the generated policy from both directions:

Terminal window
genaug onboarding verify --project health-agent --json

Expected proof:

  • read tools remain enabled and low risk;
  • write tools require approval unless you intentionally changed the policy;
  • destructive tools are disabled until explicitly enabled;
  • trace or audit rows show only the expected tool calls.

Use project tool_discovery to control how Hermes sees larger tool catalogs:

behavior:
tool_discovery:
mode: auto
direct_schema_tool_limit: 10
max_search_results: 5

auto is the default for most apps. Use always for broad OpenAPI/MCP catalogs where Hermes should search the catalog before executing a selected tool. Use direct only for small, intentionally scoped tool sets.

Terminal window
genaug tools discovery --project demo-agent --mode auto --direct-schema-tool-limit 10 --max-search-results 5

For broad catalogs, keep tool descriptions operational: what the tool does, when Hermes should use it, required inputs, side effects, approval or retry behavior, and common failure modes. General Augment uses those descriptions for discovery and ranking, then routes execution through the same allowlist, credential, identity, approval, audit, timeout, and metering checks. Tools outside the project allowlist are not discoverable or executable even when they exist in the global catalog.

genaug integrate writes generated OpenAPI definitions as separate files under tools/<tool_id>.yaml. Review and edit those files before genaug deploy when you need to tighten descriptions, risk levels, or approval policy:

id: log_symptom
name: Log Symptom
enabled: true
risk_level: medium
requires_approval: true
description: Record a symptom entry after the user confirms the date, severity, and notes.
tools:
mcp:
- name: github
url: https://mcp.github.com/v1
auth: ${{ credentials.github_token }}

Related: security and API reference.