siigo_get_products
Retrieve product listings from Siigo accounting software with pagination controls to access inventory data programmatically.
Instructions
Get list of products from Siigo
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| page_size | No | Number of items per page |
Implementation Reference
- src/siigo-client.ts:62-64 (handler)Core handler function that executes the tool logic by making an authenticated GET request to Siigo's /v1/products API endpoint with optional pagination parameters.async getProducts(params?: { page?: number; page_size?: number }): Promise<SiigoApiResponse<SiigoProduct>> { return this.makeRequest<SiigoProduct>('GET', '/v1/products', undefined, params); }
- src/index.ts:782-792 (handler)MCP server wrapper handler that delegates to SiigoClient.getProducts and formats the response as MCP content.private async handleGetProducts(args: any) { const result = await this.siigoClient.getProducts(args); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:198-208 (schema)Input schema definition for the siigo_get_products tool, specifying optional pagination parameters.{ name: 'siigo_get_products', description: 'Get list of products from Siigo', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number' }, page_size: { type: 'number', description: 'Number of items per page' }, }, }, },
- src/index.ts:61-62 (registration)Registration in the tool dispatch switch statement that routes calls to the handleGetProducts method.case 'siigo_get_products': return await this.handleGetProducts(args);
- src/types.ts:59-92 (schema)TypeScript interface defining the structure of a SiigoProduct, used for type safety in input/output.export interface SiigoProduct { id?: string; code: string; name: string; account_group: number; type?: 'Product' | 'Service' | 'ConsumerGood'; stock_control?: boolean; active?: boolean; tax_classification?: 'Taxed' | 'Exempt' | 'Excluded'; tax_included?: boolean; tax_consumption_value?: number; taxes?: Array<{ id: number; milliliters?: number; rate?: number; }>; prices?: Array<{ currency_code: string; price_list: Array<{ position: number; value: number; }>; }>; unit?: string; unit_label?: string; reference?: string; description?: string; additional_fields?: { barcode?: string; brand?: string; tariff?: string; model?: string; }; }