get-template
Retrieve a specific pod template from the RunPod API using its unique identifier to access configuration details for pod deployment.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | ID of the template to retrieve |
Implementation Reference
- src/index.ts:513-525 (handler)The handler function for the 'get-template' tool. It fetches the template details from the RunPod API endpoint `/templates/{templateId}` using the shared runpodRequest helper and formats the JSON response as text content.async (params) => { const result = await runpodRequest(`/templates/${params.templateId}`); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
- src/index.ts:510-512 (schema)Input schema for the 'get-template' tool, defining the required 'templateId' parameter using Zod.{ templateId: z.string().describe('ID of the template to retrieve'), },
- src/index.ts:508-525 (registration)Registration of the 'get-template' MCP tool on the McpServer instance using server.tool(), including inline schema and handler.server.tool( 'get-template', { templateId: z.string().describe('ID of the template to retrieve'), }, async (params) => { const result = await runpodRequest(`/templates/${params.templateId}`); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
- src/index.ts:27-66 (helper)Shared helper utility function used by the 'get-template' handler (and other tools) to make authenticated GET requests to the RunPod API.async function runpodRequest( endpoint: string, method: string = 'GET', body?: Record<string, unknown> ) { const url = `${API_BASE_URL}${endpoint}`; const headers = { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json', }; const options: NodeFetchRequestInit = { method, headers, }; if (body && (method === 'POST' || method === 'PATCH')) { options.body = JSON.stringify(body); } try { const response = await fetch(url, options); if (!response.ok) { const errorText = await response.text(); throw new Error(`RunPod API Error: ${response.status} - ${errorText}`); } // Some endpoints might not return JSON const contentType = response.headers.get('content-type'); if (contentType && contentType.includes('application/json')) { return await response.json(); } return { success: true, status: response.status }; } catch (error) { console.error('Error calling RunPod API:', error); throw error; } }