analytics-chart-list
Retrieve analytics chart lists for A/B test data with customizable filters like chart type, page size, and search keywords using Hackle API’s MCP server.
Instructions
fetch data analytics chart list.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chartType | No | ||
| pageNumber | No | ||
| pageSize | No | ||
| searchKeyword | No |
Implementation Reference
- src/index.ts:268-287 (handler)Handler function that constructs query string from parameters and fetches the list of analytics charts from the API using WebClient.async ({ pageNumber = 1, pageSize = 100, searchKeyword = '', chartType }) => { const qs = stringify( { pageNumber, pageSize, searchKeyword, chartType, }, { addQueryPrefix: true }, ); return { content: [ { type: 'text', text: JSON.stringify(await WebClient.get(`/api/v1/analytics/charts${qs}`)), }, ], }; },
- src/index.ts:262-267 (schema)Zod schema defining input parameters: pageNumber, pageSize, searchKeyword, and chartType.{ pageNumber: z.number().optional().default(1), pageSize: z.number().optional().default(100), searchKeyword: z.string().optional(), chartType: z.enum(['FUNNEL', 'DATA_INSIGHT', 'RETENTION', 'USER_PATH']).optional(), },
- src/index.ts:259-288 (registration)Tool registration call using McpServer.tool() method, including name, description, schema, and handler.server.tool( 'analytics-chart-list', 'fetch data analytics chart list.', { pageNumber: z.number().optional().default(1), pageSize: z.number().optional().default(100), searchKeyword: z.string().optional(), chartType: z.enum(['FUNNEL', 'DATA_INSIGHT', 'RETENTION', 'USER_PATH']).optional(), }, async ({ pageNumber = 1, pageSize = 100, searchKeyword = '', chartType }) => { const qs = stringify( { pageNumber, pageSize, searchKeyword, chartType, }, { addQueryPrefix: true }, ); return { content: [ { type: 'text', text: JSON.stringify(await WebClient.get(`/api/v1/analytics/charts${qs}`)), }, ], }; }, );