list_dashboards
Retrieve Kibana dashboards with search filtering and pagination to find specific visualizations or monitor data displays.
Instructions
List all Kibana dashboards with optional search filtering
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional search term to filter dashboards 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:173-202 (handler)The handler logic for the 'list_dashboards' tool, which calls the Kibana client to fetch dashboard data and format it for the MCP response.
case 'list_dashboards': { const { search, page = 1, perPage = 20 } = args || {}; const result = await kibanaClient.listDashboards( 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, dashboards: result.saved_objects.map((d) => ({ id: d.id, title: d.attributes.title, description: d.attributes.description, updated_at: d.updated_at, })), }, null, 2 ), }, ], }; - src/tools/index.ts:19-43 (registration)The registration of the 'list_dashboards' tool, including its schema, description, and available arguments.
{ name: 'list_dashboards', description: 'List all Kibana dashboards with optional search filtering', inputSchema: { type: 'object', properties: { search: { type: 'string', description: 'Optional search term to filter dashboards 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, }, }, }, },