Skip to main content
Glama

list-endpoints

Retrieve available RunPod API endpoints to manage and interact with your cloud computing resources, including optional template and worker information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeTemplateNoInclude template information
includeWorkersNoInclude information about workers

Implementation Reference

  • The async handler function that executes the list-endpoints tool logic: builds query parameters from inputs and calls the runpodRequest helper to fetch endpoint list from RunPod API.
    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${queryString}`); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
  • Zod schema defining optional boolean parameters for including template and workers information in the endpoint list.
    { includeTemplate: z .boolean() .optional() .describe('Include template information'), includeWorkers: z .boolean() .optional() .describe('Include information about workers'), },
  • src/index.ts:320-355 (registration)
    Registration of the 'list-endpoints' MCP tool using server.tool(), including name, input schema, and handler function.
    server.tool( 'list-endpoints', { 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${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 all tools including list-endpoints.
    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