get_my_queries
Retrieve queries created by your Redash user account, with pagination support for browsing results.
Instructions
Get queries created by the current user
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
Implementation Reference
- src/index.ts:1152-1165 (handler)The MCP tool handler function for 'get_my_queries'. Validates inputs with getMyQueriesSchema and calls redashClient.getMyQueries(page, pageSize), returning JSON-formatted results or an error response.
async function getMyQueries(params: z.infer<typeof getMyQueriesSchema>) { try { const result = await redashClient.getMyQueries(params.page, params.pageSize); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { logger.error(`Error fetching my queries: ${error}`); return { isError: true, content: [{ type: "text", text: `Error fetching my queries: ${error instanceof Error ? error.message : String(error)}` }] }; } } - src/index.ts:1147-1150 (schema)Zod schema for get_my_queries input validation. Defines optional 'page' (default 1) and 'pageSize' (default 25) numeric parameters.
const getMyQueriesSchema = z.object({ page: z.coerce.number().optional().default(1), pageSize: z.coerce.number().optional().default(25) }); - src/index.ts:2098-2108 (registration)Registration of the 'get_my_queries' tool in the ListToolsRequestSchema handler. Defines the tool name, description ('Get queries created by the current user'), and input schema properties (page, pageSize).
{ name: "get_my_queries", description: "Get queries created by the current user", inputSchema: { type: "object", properties: { page: { type: "number", description: "Page number (starts at 1)" }, pageSize: { type: "number", description: "Number of results per page" } } } }, - src/index.ts:2488-2490 (registration)Route in the CallToolRequestSchema switch-case that dispatches the 'get_my_queries' tool name to the getMyQueries handler function after schema validation.
case "get_my_queries": logger.debug(`Handling get_my_queries`); return await getMyQueries(getMyQueriesSchema.parse(args)); - src/redashClient.ts:1018-1034 (helper)The underlying API client method getMyQueries() that makes the HTTP GET request to /api/queries/my with page and page_size params, returning the paginated list of the current user's queries.
// Get current user's queries async getMyQueries(page = 1, pageSize = 25): Promise<{ count: number; page: number; pageSize: number; results: RedashQuery[] }> { try { const response = await this.client.get('/api/queries/my', { params: { page, page_size: pageSize } }); return { count: response.data.count, page: response.data.page, pageSize: response.data.page_size, results: response.data.results }; } catch (error) { logger.error(`Error fetching my queries: ${error}`); throw new Error(`Failed to fetch my queries: ${error instanceof Error ? error.message : String(error)}`); } }