app/tools/*/config.terse defines one MCP tool — its execution strategy, inputs, mappers, authentication, and caching behavior.
Full schema
app/tools/get-user-profile/config.terse
Field reference
MCP tool name. Must be unique across all tools.Default: directory name (e.g.,
get-user from app/tools/get-user/).Human-readable tool description. Exposed in the
tools/list MCP response.
Strongly recommended for agent discoverability.Adapter name for statement execution. References an adapter identifier defined in
app/adapters/.SQL query or database command. Supports
{{ env.VAR }} and {{ inputs.field }} placeholders. Use YAML multiline syntax (|) for readability.Map of input parameter definitions. Each key becomes a named parameter in the MCP tool’s input schema.
Optional handler script path for fully script-backed tools. When set, it replaces
database execution entirely. The handler receives inputs and returns results directly.Use
path#exportName to call a non-default export.
Without #exportName, Hyperterse calls the script’s export default (function name ignored).Optional mapper script paths for pre/post processing. All paths are relative to
the tool directory.
Tool-level authentication. Omitting this block entirely makes the tool unauthenticated.
Per-tool cache settings. Overrides the global cache configuration from
.hyperterse.Validity rules
A tool is valid when exactly one of these conditions is met:useis defined (database-backed tool).handleris defined (script-backed tool).
JSON Schema
Editor validation:schema/tool.terse.schema.json. Associate with **/tools/**/config.terse. See Configuration schemas.