Skip to main content
Glama

get-pod

Retrieve details about a specific RunPod cloud compute pod using its ID. View pod configuration, status, and optionally include machine specifications or attached network volumes.

Input Schema

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

Implementation Reference

  • Handler function that constructs query parameters for optional fields and calls runpodRequest to fetch details for the specified pod ID 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 schema defining the input parameters for the get-pod tool: required podId and optional includeMachine, includeNetworkVolume.
    { 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:138-176 (registration)
    Registration of the 'get-pod' tool on the MCP server, including schema and handler.
    '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), }, ], }; } );
  • Reusable helper function for making authenticated HTTP requests to the RunPod API, 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-ts'

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