Skip to main content
Glama
jerrelblankenship

Kibana MCP Server

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
NameRequiredDescriptionDefault
searchNoOptional search term to filter visualizations by title
pageNoPage number for pagination (default: 1)
perPageNoNumber of results per page (default: 20, max: 100)

Implementation Reference

  • 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
            ),
          },
        ],
      };
    }
  • 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;
    }
  • 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,
          },
        },
      },
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jerrelblankenship/jb-kibana-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server