Skip to main content
Glama

tenki_create_template

Create a reusable sandbox-image template with base image, setup script, and default resources, so you can later build it into a bootable image for Tenki sandboxes.

Instructions

Create a custom-image template (a reusable sandbox-image spec: base image + setup script + default resources). Build it into a bootable image later with tenki_build_template. NOTE: only a TYPED template (created with builder_spec, no legacy fields) can build a named, publishable image (image_name) that tenki_create_sandbox boots via its image arg.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable template name.
tagsNoTags for later filtering.
env_varsNoEnvironment variables as a key→value object.
cpu_coresNoDefault vCPUs for sandboxes from this template (1-16).
memory_mbNoDefault memory in MB (512-65536).
start_cmdNoCommand run when a sandbox boots from this template.
builder_specNoTyped template spec, passed through as-is — e.g. {specVersion:'tenki.template.v1', base:{image:'sandbox'}, workdir:'/home/tenki', steps:[{run:{command:'...'}}], resources:{cpuCores,memoryMb,diskSizeGb}}. Mutually exclusive with base_image_id/setup_script/start_cmd/env_vars/cpu_cores/memory_mb/disk_size_gb/parent_* (the API rejects mixing). Required if the template's builds should publish an image (tenki_build_template image_name).
disk_size_gbNoDefault disk in GB (5-100).
parent_imageNoDerive this template from an existing built image reference.
setup_scriptNoShell script run at build time to provision the image. Required for a from-scratch template (the API rejects a create without it unless you derive from a parent template/image).
workspace_idNoWorkspace to create in (defaults to the key's first workspace).
base_image_idNoBase image ID to build on top of.
parent_template_idNoDerive this template from an existing template.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry the safety profile (readOnlyHint=false, openWorldHint=true), and the description adds meaningful behavior beyond that: the template is just a spec, not yet bootable, and the typed-vs-legacy distinction is a real behavioral constraint on downstream image naming and sandbox booting. This is exactly the kind of context that helps an agent anticipate side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the core definition is front-loaded, and the NOTE delivers the key distinction. The second sentence is dense with nested parentheticals, but every clause earns its place given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with 13 parameters, nested objects, and no output schema, the description covers the most decision-critical context: what is being created, the build step that follows, and the typed-template requirement for publishable images. Parameter-level details are left to the schema, which is acceptable given 100% coverage. It could mention the return value, but that gap is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters, including constraints, mutual exclusivity, and defaults. The description reinforces the importance of builder_spec for named images, but that is largely restating what the builder_spec parameter description already says. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Create a custom-image template' and clarifies what that is ('a reusable sandbox-image spec: base image + setup script + default resources'). It also distinguishes itself from the sibling tenki_build_template by positioning creation as the prerequisite to building a bootable image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear workflow guidance: create the template now, and 'Build it into a bootable image later with tenki_build_template.' It also provides a decisive usage condition by explaining that only a typed template (builder_spec, no legacy fields) can produce a named, publishable image usable by tenki_create_sandbox. It stops short of explicit when-not-to-use guidance or alternatives for simple template creation, so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools