Skip to main content
Glama

get-endpoint

Retrieve configuration and status details for a specific RunPod endpoint, including optional template and worker information.

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 constructs query parameters based on optional inputs and makes an authenticated GET request to the RunPod API at `/endpoints/${endpointId}`. Returns the API response as formatted JSON text content.
    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), }, ], }; } );
  • Input schema for the 'get-endpoint' tool using Zod validation: requires endpointId (string), optional 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 with the MCP server via server.tool(), including the tool name, 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 used by the 'get-endpoint' handler (and other tools) to make authenticated HTTP 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; } }

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