Skip to main content
Glama

create-network-volume

Create a network storage volume on RunPod to persist data across compute sessions, with configurable size and data center location.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataCenterIdYesData center ID
nameYesName for the network volume
sizeYesSize in GB (1-4000)

Implementation Reference

  • Handler function that sends a POST request to the RunPod /networkvolumes endpoint with the provided parameters to create a new network volume, then returns the JSON response as text.
    async (params) => { const result = await runpodRequest('/networkvolumes', 'POST', params); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
  • Zod schema defining the input parameters: name (string), size (number in GB), dataCenterId (string).
    { name: z.string().describe('Name for the network volume'), size: z.number().describe('Size in GB (1-4000)'), dataCenterId: z.string().describe('Data center ID'), },
  • src/index.ts:666-685 (registration)
    Tool registration using server.tool(), including schema and inline handler for create-network-volume.
    server.tool( 'create-network-volume', { name: z.string().describe('Name for the network volume'), size: z.number().describe('Size in GB (1-4000)'), dataCenterId: z.string().describe('Data center ID'), }, async (params) => { const result = await runpodRequest('/networkvolumes', 'POST', params); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } );
  • Shared helper function for making authenticated HTTP requests to the RunPod API, used by the create-network-volume handler.
    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