The root configuration file (.hyperterse) defines service-level settings and discovery settings. It does not contain adapter or tool definitions — those are discovered from the filesystem.
Full schema
name : my-service
version : 1.0.0
root : app
tools :
directory : tools
cache :
enabled : true
ttl : 60
adapters :
directory : adapters
server :
port : 8080
log_level : 3
build :
out : dist
clean_dir : false
Field reference
Service identifier. Used in logging, tracing, and manifest metadata. Must
match ^[a-z][a-z0-9_-]*$.
Service version. Informational. Included in manifest metadata and startup
logs.
Base directory for adapter/tool discovery. Relative to the root config path.
Tool discovery and global tool cache defaults. Tools directory relative to root.
Global cache defaults for DB-backed tools. Enable in-memory tool result caching globally.
Default TTL in seconds for cached tool results.
Adapter discovery settings. Adapters directory relative to root.
Server runtime settings. port
integer | string
default: "8080"
TCP port for the HTTP/MCP server. Resolution order: --port flag → server.port config → PORT env → 8080
Log verbosity. 1 = error, 2 = warn, 3 = info, 4 = debug. Resolution order: --verbose (4) → --log-level flag → server.log_level config → 3
Build output settings. Output directory for build artifacts. Also accepts out_dir as an alias. Resolution order: --out flag → build.out config → dist
Remove output directory before building.
Environment variable substitution
String values support {{ env.VAR_NAME }} placeholders, resolved at runtime:
server :
port : '{{ env.PORT }}'
Missing variables cause a startup failure. Verify all referenced variables are
set before deploying.
JSON Schema
Editor validation: schema/root.terse.schema.json. See Configuration schemas .
Examples
All other fields use defaults: port 8080, log level 3, caching disabled. name : production-service
version : 2.1.0
server :
port : "{{ env.PORT }}"
log_level : 2
tools :
cache :
enabled : true
ttl : 300
build :
out : release
clean_dir : true