Skip to main content
Glama

create-template

Create a RunPod template to define container configurations for GPU workloads, including Docker images, environment variables, ports, and storage settings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
containerDiskInGbNoContainer disk size in GB
dockerEntrypointNoDocker entrypoint commands
dockerStartCmdNoDocker start commands
envNoEnvironment variables
imageNameYesDocker image to use
isServerlessNoIs this a serverless template
nameYesName for the template
portsNoPorts to expose
readmeNoREADME content in markdown format
volumeInGbNoVolume size in GB
volumeMountPathNoPath to mount the volume

Implementation Reference

  • Handler function that executes the create-template tool by making a POST request to RunPod's /templates endpoint with the provided parameters and returns the JSON response.
    async (params) => { const result = await runpodRequest('/templates', 'POST', params); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
  • Zod schema defining the input parameters for the create-template tool, including template name, Docker image, ports, environment variables, disk sizes, and optional fields.
    { name: z.string().describe('Name for the template'), imageName: z.string().describe('Docker image to use'), isServerless: z .boolean() .optional() .describe('Is this a serverless template'), ports: z.array(z.string()).optional().describe('Ports to expose'), dockerEntrypoint: z .array(z.string()) .optional() .describe('Docker entrypoint commands'), dockerStartCmd: z .array(z.string()) .optional() .describe('Docker start commands'), env: z.record(z.string()).optional().describe('Environment variables'), containerDiskInGb: z .number() .optional() .describe('Container disk size in GB'), volumeInGb: z.number().optional().describe('Volume size in GB'), volumeMountPath: z.string().optional().describe('Path to mount the volume'), readme: z.string().optional().describe('README content in markdown format'), },
  • src/index.ts:528-567 (registration)
    Registration of the 'create-template' tool using server.tool, including schema and handler.
    server.tool( 'create-template', { name: z.string().describe('Name for the template'), imageName: z.string().describe('Docker image to use'), isServerless: z .boolean() .optional() .describe('Is this a serverless template'), ports: z.array(z.string()).optional().describe('Ports to expose'), dockerEntrypoint: z .array(z.string()) .optional() .describe('Docker entrypoint commands'), dockerStartCmd: z .array(z.string()) .optional() .describe('Docker start commands'), env: z.record(z.string()).optional().describe('Environment variables'), containerDiskInGb: z .number() .optional() .describe('Container disk size in GB'), volumeInGb: z.number().optional().describe('Volume size in GB'), volumeMountPath: z.string().optional().describe('Path to mount the volume'), readme: z.string().optional().describe('README content in markdown format'), }, async (params) => { const result = await runpodRequest('/templates', 'POST', params); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/runpod/runpod-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server