Skip to main content
Glama
novitalabs

Novita MCP Server

Official
by novitalabs

stop-gpu-instance

Stop a GPU instance on the Novita MCP Server by specifying its instance ID. Use this tool to manage GPU resources effectively and halt operations when needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
instanceIdYesID of the instance to stop. Before calling the MCP tool to stop the instance, MUST show me the details of the instance to help me identify it, including id, name, etc.

Implementation Reference

  • The handler function that implements the logic for the 'stop-gpu-instance' tool. It sends a POST request to the Novita AI API endpoint `/gpu/instance/stop` with the provided instanceId and returns the result as a formatted text response.
    }, async (params) => { const result = await novitaRequest(`/gpu/instance/stop`, "POST", { instanceId: params.instanceId, }); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; });
  • The Zod schema defining the input parameters for the 'stop-gpu-instance' tool, requiring a single 'instanceId' string parameter.
    instanceId: z .string() .describe("ID of the instance to stop. Before calling the MCP tool to stop the instance, MUST show me the details of the instance to help me identify it, including id, name, etc."),
  • src/tools.ts:226-242 (registration)
    The registration of the 'stop-gpu-instance' tool using server.tool(), including schema validation and handler function within the registerGPUInstanceTools function.
    server.tool("stop-gpu-instance", { instanceId: z .string() .describe("ID of the instance to stop. Before calling the MCP tool to stop the instance, MUST show me the details of the instance to help me identify it, including id, name, etc."), }, async (params) => { const result = await novitaRequest(`/gpu/instance/stop`, "POST", { instanceId: params.instanceId, }); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; });
  • Shared helper function novitaRequest used by the tool handler to make authenticated API calls to the Novita AI GPU instance management endpoints.
    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/index.ts:23-23 (registration)
    High-level registration call in the main server setup that triggers the registration of all tools, including 'stop-gpu-instance' via 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