app/tools/*/config.terse file defines exactly one MCP tool — its name, description, execution strategy, input schema, authentication policy, and caching behavior. When the server starts, every valid tool definition is registered as a callable tool in the MCP tools/list response.
Execution models
A tool definition’s execution model is determined by its configuration. There are two primary models. DB-backed tools execute a SQL or database command through a connector. They requireuse (the adapter name) and statement:
Tool naming
The MCP tool name comes from the tool definition. If the config sets aname field, that value is used. Otherwise, the directory name becomes the tool name. app/tools/get-user/ becomes get-user. Tool names must be unique — duplicates are rejected at compile time.
Input schema
Theinputs block defines typed parameters that the tool accepts.
string, int, float, boolean, and datetime. Required inputs without a default must be provided by the caller. References in statements use {{ inputs.field_name }} placeholders.
Caching
Tools can override the global cache policy with acache block. See Caching for the full cache model.