Skip to main content
Glama

create-network-volume

Create persistent network storage volumes for RunPod pods, specifying name, size, and data center location to manage cloud infrastructure.

Input Schema

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

Implementation Reference

  • Handler function that creates a network volume by making a POST request to the RunPod API /networkvolumes endpoint using the shared runpodRequest helper and returns the JSON response formatted as text content.
    async (params) => { const result = await runpodRequest('/networkvolumes', 'POST', params); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
  • Zod input schema defining required parameters: name (string), size (number in GB between 1-4000), and 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)
    MCP server tool registration call that defines the 'create-network-volume' tool, including its schema and inline handler function.
    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 used by the tool handler to make authenticated HTTP requests to the RunPod API, handling JSON responses and errors.
    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