pohoda_list_internal_docs
List and filter internal documents from POHODA accounting software by ID, date range, or last changes. Returns matching records as JSON array.
Instructions
List internal documents from POHODA. Supports filtering by ID, date range, or last changes. Returns JSON array of matching records.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Filter by internal document ID | |
| dateFrom | No | Filter from date (DD.MM.YYYY or YYYY-MM-DD) | |
| dateTill | No | Filter till date (DD.MM.YYYY or YYYY-MM-DD) | |
| lastChanges | No | Filter by last changes date |
Implementation Reference
- src/tools/internal_docs.ts:28-44 (handler)The handler function for the 'pohoda_list_internal_docs' tool. It builds an XML request, sends it to the Pohoda client, parses the response, and extracts the list data.
async (params) => { try { const xml = buildExportRequest( { ico: client.ico }, "lst:listIntDocRequest", NS.lst, "lst:requestIntDoc", (req) => applyFilter(req, params) ); const response = await client.sendXml(xml); const parsed = parseResponse(response); const data = extractListData(parsed); return jsonResult("Internal documents", data, Array.isArray(data) ? data.length : 0); } catch (e) { return err((e as Error).message); } } - src/tools/internal_docs.ts:19-45 (registration)The registration of the 'pohoda_list_internal_docs' tool using the McpServer instance.
server.tool( "pohoda_list_internal_docs", "List internal documents from POHODA. Supports filtering by ID, date range, or last changes. Returns JSON array of matching records.", { id: z.number().optional().describe("Filter by internal document ID"), dateFrom: z.string().optional().describe("Filter from date (DD.MM.YYYY or YYYY-MM-DD)"), dateTill: z.string().optional().describe("Filter till date (DD.MM.YYYY or YYYY-MM-DD)"), lastChanges: z.string().optional().describe("Filter by last changes date"), }, async (params) => { try { const xml = buildExportRequest( { ico: client.ico }, "lst:listIntDocRequest", NS.lst, "lst:requestIntDoc", (req) => applyFilter(req, params) ); const response = await client.sendXml(xml); const parsed = parseResponse(response); const data = extractListData(parsed); return jsonResult("Internal documents", data, Array.isArray(data) ? data.length : 0); } catch (e) { return err((e as Error).message); } } );