list-network-storage
Retrieve network storage details from the Novita AI platform. Filter by storage name or ID, and control results with pagination for efficient resource management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pageNo | No | Page number | |
| pageSize | No | Page size | |
| storageName | No | Name for the network storage | |
| storageId | No | ID for the network storage |
Implementation Reference
- src/tools.ts:550-572 (handler)Handler that builds query string from parameters (pageNo, pageSize, storageName, storageId) and calls novitaRequest to GET /networkstorages/list, returning the JSON result as text content.}, async (params) => { const queryParams = new URLSearchParams(); if (params.pageNo) queryParams.append("pageNo", params.pageNo.toString()); if (params.pageSize) queryParams.append("pageSize", params.pageSize.toString()); if (params.storageName) queryParams.append("storageName", params.storageName); if (params.storageId) queryParams.append("storageId", params.storageId); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ""; const result = await novitaRequest(`/networkstorages/list${queryString}`); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; });
- src/tools.ts:530-550 (schema)Input schema using Zod for the tool parameters: pagination (pageNo, pageSize) and filters (storageName, storageId).pageNo: z .number() .min(0) .default(1) .optional() .describe("Page number"), pageSize: z .number() .min(0) .default(10) .optional() .describe("Page size"), storageName: z .string() .optional() .describe("Name for the network storage"), storageId: z .string() .optional() .describe("ID for the network storage"), }, async (params) => {
- src/tools.ts:529-572 (registration)Full registration of the 'list-network-storage' tool on the MCP server using server.tool, including schema and handler.server.tool("list-network-storage", { pageNo: z .number() .min(0) .default(1) .optional() .describe("Page number"), pageSize: z .number() .min(0) .default(10) .optional() .describe("Page size"), storageName: z .string() .optional() .describe("Name for the network storage"), storageId: z .string() .optional() .describe("ID for the network storage"), }, async (params) => { const queryParams = new URLSearchParams(); if (params.pageNo) queryParams.append("pageNo", params.pageNo.toString()); if (params.pageSize) queryParams.append("pageSize", params.pageSize.toString()); if (params.storageName) queryParams.append("storageName", params.storageName); if (params.storageId) queryParams.append("storageId", params.storageId); const queryString = queryParams.toString() ? `?${queryParams.toString()}` : ""; const result = await novitaRequest(`/networkstorages/list${queryString}`); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; });