remote-config-list
Retrieve a paginated list of remote configurations from the Hackle MCP server, filtering by status or keyword to manage A/B test settings efficiently.
Instructions
Fetch Remote Config list.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pageNumber | No | ||
| pageSize | No | ||
| searchKeyword | No | ||
| status | No | ACTIVE |
Implementation Reference
- src/index.ts:315-344 (registration)Registration of the 'remote-config-list' tool using server.tool(), which includes the tool name, description, input schema, and inline handler function.server.tool( 'remote-config-list', 'Fetch Remote Config list.', { pageNumber: z.number().optional().default(1), pageSize: z.number().optional().default(100), searchKeyword: z.string().optional(), status: z.enum(['ACTIVE', 'ARCHIVED']).optional().default('ACTIVE'), }, async ({ pageNumber = 1, pageSize = 100, searchKeyword = '', status = 'ACTIVE' }) => { const qs = stringify( { pageNumber, pageSize, searchKeyword, status, }, { addQueryPrefix: true }, ); return { content: [ { type: 'text', text: JSON.stringify(await WebClient.get(`/api/v1/remote-configs${qs}`)), }, ], }; }, );
- src/index.ts:318-323 (schema)Input schema using Zod for the 'remote-config-list' tool, supporting pagination (pageNumber, pageSize), searchKeyword, and status filter.{ pageNumber: z.number().optional().default(1), pageSize: z.number().optional().default(100), searchKeyword: z.string().optional(), status: z.enum(['ACTIVE', 'ARCHIVED']).optional().default('ACTIVE'), },
- src/index.ts:324-343 (handler)Handler function that constructs a query string from input params using 'qs.stringify', fetches the remote config list from Hackle API via WebClient.get, and returns the JSON-stringified response as MCP content.async ({ pageNumber = 1, pageSize = 100, searchKeyword = '', status = 'ACTIVE' }) => { const qs = stringify( { pageNumber, pageSize, searchKeyword, status, }, { addQueryPrefix: true }, ); return { content: [ { type: 'text', text: JSON.stringify(await WebClient.get(`/api/v1/remote-configs${qs}`)), }, ], }; },