Skip to main content
Glama

get-pod

Retrieve detailed information about a specific RunPod pod using its ID, with options to include machine details and attached network volumes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeMachineNoInclude information about the machine
includeNetworkVolumeNoInclude information about attached network volumes
podIdYesID of the pod to retrieve

Implementation Reference

  • The handler function for the 'get-pod' tool. It builds query parameters from input and fetches the specific pod's details via the runpodRequest helper from the RunPod API.
    async (params) => { // Construct query parameters const queryParams = new URLSearchParams(); if (params.includeMachine) queryParams.append('includeMachine', params.includeMachine.toString()); if (params.includeNetworkVolume) queryParams.append( 'includeNetworkVolume', params.includeNetworkVolume.toString() ); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ''; const result = await runpodRequest(`/pods/${params.podId}${queryString}`); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
  • Zod input schema for the 'get-pod' tool defining the required podId and optional includeMachine and includeNetworkVolume parameters.
    { podId: z.string().describe('ID of the pod to retrieve'), includeMachine: z .boolean() .optional() .describe('Include information about the machine'), includeNetworkVolume: z .boolean() .optional() .describe('Include information about attached network volumes'), },
  • src/index.ts:137-176 (registration)
    The server.tool call that registers the 'get-pod' tool with its name, input schema, and handler function.
    server.tool( 'get-pod', { podId: z.string().describe('ID of the pod to retrieve'), includeMachine: z .boolean() .optional() .describe('Include information about the machine'), includeNetworkVolume: z .boolean() .optional() .describe('Include information about attached network volumes'), }, async (params) => { // Construct query parameters const queryParams = new URLSearchParams(); if (params.includeMachine) queryParams.append('includeMachine', params.includeMachine.toString()); if (params.includeNetworkVolume) queryParams.append( 'includeNetworkVolume', params.includeNetworkVolume.toString() ); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ''; const result = await runpodRequest(`/pods/${params.podId}${queryString}`); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
  • Shared helper function runpodRequest that performs authenticated API calls to RunPod, used by the get-pod handler.
    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; } }

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