Apply an app recipe
recipe_applyRegister one app-specific recipe with overrides and ensure its background service, unless skipped; use it after reviewing a plan to apply a private app setup.
Instructions
Register one app-specific recipe with the supplied overrides, then ensure the background service unless no_daemon_install is true. Returns the created or preserved service, requested configuration, action and safety advice. Use recipe_apply after reviewing recipe_plan; template_apply registers a fixed multi-service stack instead. Leaves existing names unchanged. Never-public apps refuse Funnel unless the owner explicitly accepts force_unsafe_public and public_ack. Does not configure, install or probe the third-party app.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"recipe_id": "<recipe_id>"
},
"name": "recipe_apply"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional service name override. | |
| tags | No | Comma-separated tags. | |
| allow | No | Comma-separated private HTTP identities. | |
| funnel | No | PUBLIC INTERNET exposure: review app authentication with the owner first. | |
| health | No | ||
| target | No | Optional loopback HTTP(S) target override; use the host port. | |
| ephemeral | No | ||
| recipe_id | Yes | Recipe ID from recipe_list. | |
| funnel_ttl | No | Relative lifetime (descending unique units w,d,h,m,s,ms,us,ns) or until <RFC3339|YYYY-MM-DD|YYYY-MM-DDTHH:MM>. Local unless offset given; DST gaps/folds require an offset. Minimum 1h. Presets: 1h, 8h, 24h, 3d, 7d. Default 24h; guest/public maximum defaults to 7d, configurable in durations.public_max. Never refused. Omission on add preserves an existing deadline. | |
| public_ack | No | Required acknowledgement when funnel is true. | |
| control_url | No | ||
| preserve_host | No | Override the recipe Host forwarding default; omitted uses recipe.preserve_host. False explicitly restores upstream Host rewriting. | |
| request_limits | No | ||
| no_auto_provision | No | ||
| no_daemon_install | No | ||
| force_unsafe_public | No | DANGER: overrides never-public recipe policy, potentially exposing host control, code execution or secrets to everyone. Requires funnel and public_ack. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next | Yes | ||
| action | Yes | ||
| recipe | Yes | ||
| applied | Yes | ||
| dry_run | Yes | ||
| service | Yes | ||
| warnings | Yes | ||
| requested | Yes | ||
| schema_version | Yes | ||
| catalog_version | Yes | ||
| daemon_installed | No | Present only when this call installed TSLink's background service, a persistent OS autostart entry; absent when the service already ran or no_daemon_install was true. |