Skip to main content
Glama

get-endpoint

Retrieve endpoint details from RunPod's API to manage configurations, check worker status, and access template information for deployment control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endpointIdYesID of the endpoint to retrieve
includeTemplateNoInclude template information
includeWorkersNoInclude information about workers

Implementation Reference

  • The handler function for the 'get-endpoint' tool. It builds query parameters for optional fields (includeTemplate, includeWorkers) and makes an authenticated GET request to the RunPod API endpoint `/endpoints/${endpointId}` using the shared runpodRequest helper, then returns the JSON response as text content.
    // Construct query parameters const queryParams = new URLSearchParams(); if (params.includeTemplate) queryParams.append('includeTemplate', params.includeTemplate.toString()); if (params.includeWorkers) queryParams.append('includeWorkers', params.includeWorkers.toString()); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ''; const result = await runpodRequest( `/endpoints/${params.endpointId}${queryString}` ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
  • Input schema for the 'get-endpoint' tool using Zod validation. Requires endpointId (string), optionally includeTemplate and includeWorkers (booleans).
    { endpointId: z.string().describe('ID of the endpoint to retrieve'), includeTemplate: z .boolean() .optional() .describe('Include template information'), includeWorkers: z .boolean() .optional() .describe('Include information about workers'), },
  • src/index.ts:358-397 (registration)
    Registration of the 'get-endpoint' tool on the MCP server using server.tool(), including inline input schema and handler function.
    server.tool( 'get-endpoint', { endpointId: z.string().describe('ID of the endpoint to retrieve'), includeTemplate: z .boolean() .optional() .describe('Include template information'), includeWorkers: z .boolean() .optional() .describe('Include information about workers'), }, async (params) => { // Construct query parameters const queryParams = new URLSearchParams(); if (params.includeTemplate) queryParams.append('includeTemplate', params.includeTemplate.toString()); if (params.includeWorkers) queryParams.append('includeWorkers', params.includeWorkers.toString()); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ''; const result = await runpodRequest( `/endpoints/${params.endpointId}${queryString}` ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
  • Shared helper function runpodRequest used by all tools, including 'get-endpoint', to make authenticated HTTP requests to the RunPod API with error handling and JSON parsing.
    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