list-network-storage
Retrieve and organize details of network storage instances, including IDs and names, using pagination to manage large datasets on the Novita MCP Server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pageNo | No | Page number | |
| pageSize | No | Page size | |
| storageId | No | ID for the network storage | |
| storageName | No | Name for the network storage |
Implementation Reference
- src/tools.ts:550-572 (handler)The handler function for the 'list-network-storage' tool. It constructs query parameters based on input (pageNo, pageSize, storageName, storageId) and makes an API request to '/networkstorages/list' to retrieve the list of network storages, returning the JSON-formatted result.}, 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-549 (schema)The input schema (Zod validation) for the 'list-network-storage' tool, defining optional parameters for pagination (pageNo, pageSize) and filtering (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"),
- src/tools.ts:529-572 (registration)The registration of the 'list-network-storage' tool on the MCP server within the registerNetworkStorageTools function, including input 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), }, ], }; });