Skip to main content
Glama

MCP Server for Splunk

Apache 2.0
16
  • Apple
  • Linux
indexes.py2.52 kB
""" Tool for listing Splunk indexes. """ from typing import Any from fastmcp import Context from src.core.base import BaseTool, ToolMetadata from src.core.utils import filter_customer_indexes, log_tool_execution class ListIndexes(BaseTool): """ Retrieves a list of all accessible indexes from the configured Splunk instance. """ METADATA = ToolMetadata( name="list_indexes", description=( "Retrieve all accessible data indexes from the Splunk instance. " "Use this to discover which indexes you can query when building searches or troubleshooting data availability. " "Returns customer indexes (excludes internal system indexes like _internal and _audit for readability). " "Results are constrained by the current user's permissions." ), category="metadata", tags=["indexes", "metadata", "discovery"], requires_connection=True, ) async def execute(self, ctx: Context) -> dict[str, Any]: """ List all accessible data indexes from the Splunk instance. Returns: Dict containing: - indexes: Sorted list of customer index names (excludes internal indexes) - count: Number of customer indexes found - total_count_including_internal: Total number of all indexes including system indexes """ log_tool_execution("list_indexes") # Prefer client-provided configuration (HTTP headers or env) when available try: service = await self.get_splunk_service(ctx) except Exception as e: return self.format_error_response(str(e), indexes=[], count=0) try: # Filter out internal indexes for better performance and relevance customer_indexes = filter_customer_indexes(service.indexes) index_names = [index.name for index in customer_indexes] await ctx.info(f"Customer indexes: {index_names}") return self.format_success_response( { "indexes": sorted(index_names), "count": len(index_names), "total_count_including_internal": len(list(service.indexes)), } ) except Exception as e: self.logger.error(f"Failed to list indexes: {str(e)}") await ctx.error(f"Failed to list indexes: {str(e)}") return self.format_error_response(str(e), indexes=[], count=0)

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/deslicer/mcp-for-splunk'

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