get_inventory_exports
Retrieve recent exports of your Discogs inventory to track and manage your music collection data.
Instructions
Get a list of all recent exports of your inventory
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/inventoryExport.ts:50-64 (handler)Tool definition including the handler (execute function) for 'get_inventory_exports', which calls InventoryService.getExports() and returns JSON stringified response.export const getInventoryExportsTool: Tool<FastMCPSessionAuth, ToolParameters> = { name: 'get_inventory_exports', description: 'Get a list of all recent exports of your inventory', parameters: z.object({}), execute: async () => { try { const inventoryService = new InventoryService(); const exports = await inventoryService.getExports(); return JSON.stringify(exports); } catch (error) { throw formatDiscogsError(error); } }, };
- src/tools/inventoryExport.ts:85-90 (registration)Registers the getInventoryExportsTool on the FastMCP server instance.export function registerInventoryExportTool(server: FastMCP): void { server.addTool(inventoryExportTool); server.addTool(getInventoryExportsTool); server.addTool(getInventoryExportTool); server.addTool(downloadInventoryExportTool); }
- src/services/inventory.ts:87-99 (helper)Core helper method in InventoryService that fetches inventory exports from Discogs API endpoint '/inventory/export' and validates with schema.async getExports(): Promise<InventoryExportsResponse> { try { const response = await this.request<InventoryExportsResponse>('/export'); const validatedResponse = InventoryExportsResponseSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to get inventory exports: ${String(error)}`); } }
- src/types/inventory.ts:9-22 (schema)Zod schemas for InventoryExportItem and InventoryExportsResponse used to validate the API response in the helper.export const InventoryExportItemSchema = z.object({ status: z.string(), created_ts: z.string().nullable(), url: urlOrEmptySchema(), finished_ts: z.string().nullable(), download_url: urlOrEmptySchema(), filename: z.string(), id: z.number(), }); export const InventoryExportsResponseSchema = PaginatedResponseSchema( InventoryExportItemSchema, 'items', );
- src/tools/index.ts:15-24 (registration)Top-level registration function that calls registerInventoryExportTool to add the tool to the server.export function registerTools(server: FastMCP): void { registerDatabaseTools(server); registerMarketplaceTools(server); registerInventoryExportTool(server); registerUserIdentityTools(server); registerUserCollectionTools(server); registerUserWantlistTools(server); registerUserListsTools(server); registerMediaTools(server); }