Skip to main content
Glama
novitalabs

Novita MCP Server

Official
by novitalabs

list-clusters

Use this tool to retrieve and display all clusters managed by Novita MCP Server, enabling efficient resource monitoring and management for GPU instances on the Novita AI platform.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • src/tools.ts:17-27 (registration)
    Registers the list-clusters tool. The inline handler fetches the list of clusters from the Novita API endpoint '/clusters' and returns the result as a formatted JSON text block.
    server.tool("list-clusters", {}, async () => { const result = await novitaRequest("/clusters"); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; });
  • Helper utility function novitaRequest used by the list-clusters handler to make authenticated GET request to the Novita API.
    export async function novitaRequest( endpoint: string, method: string = "GET", body: any = null ) { // Base URL for Novita AI API const API_BASE_URL = "https://api.novita.ai/gpu-instance/openapi/v1"; // Get API key from environment variable const API_KEY = process.env.NOVITA_API_KEY; const url = `${API_BASE_URL}${endpoint}`; const headers = { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json", }; const options: any = { 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(`Novita AI 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 Novita AI API:", error); throw error; } }
  • src/tools.ts:16-28 (registration)
    The registerClusterTools function that contains the registration of list-clusters.
    function registerClusterTools(server: McpServer) { server.tool("list-clusters", {}, async () => { const result = await novitaRequest("/clusters"); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }); }
  • src/tools.ts:7-14 (registration)
    registerAllTools function called from index.ts, which invokes registerClusterTools to register the tool.
    export function registerAllTools(server: McpServer) { registerClusterTools(server); registerProductTools(server); registerGPUInstanceTools(server); registerNetworkStorageTools(server); registerRegistryAuthTools(server); registerTemplateTools(server); }
  • src/index.ts:23-23 (registration)
    Ultimate registration point where all tools including list-clusters are registered by calling registerAllTools.
    registerAllTools(server);

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/novitalabs/novita-mcp-server'

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