list_visualizations
Retrieve and filter Kibana visualizations by title with pagination support for efficient data exploration.
Instructions
List all Kibana visualizations
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional search term to filter visualizations by title | |
| page | No | Page number for pagination (default: 1) | |
| perPage | No | Number of results per page (default: 20, max: 100) |
Implementation Reference
- src/tools/index.ts:236-266 (handler)Tool handler in src/tools/index.ts that parses arguments and calls the Kibana client to list visualizations.
case 'list_visualizations': { const { search, page = 1, perPage = 20 } = args || {}; const result = await kibanaClient.listVisualizations( search as string | undefined, page as number, Math.min(perPage as number, 100) ); return { content: [ { type: 'text' as const, text: JSON.stringify( { total: result.total, page, per_page: result.per_page, visualizations: result.saved_objects.map((v) => ({ id: v.id, title: v.attributes.title, description: v.attributes.description, updated_at: v.updated_at, })), }, null, 2 ), }, ], }; } - src/kibana/client.ts:133-156 (helper)The actual Kibana API client method that performs the request to list visualizations.
* List all visualizations */ async listVisualizations( search?: string, page = 1, perPage = 20 ): Promise<SavedObjectsResponse<KibanaVisualization>> { const params: any = { type: 'visualization', per_page: perPage, page, }; if (search) { params.search = search; params.search_fields = 'title'; } const response = await this.axiosInstance.get('/api/saved_objects/_find', { params, }); return response.data; } - src/tools/index.ts:80-103 (registration)Tool definition/registration for list_visualizations.
name: 'list_visualizations', description: 'List all Kibana visualizations', inputSchema: { type: 'object', properties: { search: { type: 'string', description: 'Optional search term to filter visualizations by title', }, page: { type: 'number', description: 'Page number for pagination (default: 1)', default: 1, }, perPage: { type: 'number', description: 'Number of results per page (default: 20, max: 100)', default: 20, }, }, }, },