Hermes
Core concepts

Tool calling

How the agent calls the GIS tools with the <tool_call> format.

The GIS tools are ordinary Hermes tools. Hermes declares them to the model inside <tools>...</tools> and the model calls one by emitting a <tool_call> object in a single assistant turn, with no external parsing.

The format

<tool_call>
{"name": "esri.query_features",
 "arguments": {"layer": "Zoning/2",
               "where": "ZONING = 'C-3'",
               "out_fields": ["APN", "ADDRESS", "HEIGHT_LIMIT"]}}
</tool_call>

The tool runs, and its structured result is fed back to the model as tool output before it writes the final answer.

Typed schemas

Each GIS tool ships a JSON schema, so the model knows the argument shape. That is what lets the agent fill in out_fields and a valid where clause without you spelling out the API.

Toolsets

Related tools are grouped into a toolset. The GIS toolset bundles esri, open-data, and postgis; toggle the whole set or individual tools with hermes tools.

Hybrid reasoning helps here. For a multi-step question, the agent can plan in a <think> block, then issue the tool calls it decided on.

On this page