Skip to main content
Glama

MCP Server for Splunk

Apache 2.0
16
  • Apple
  • Linux
__init__.py3.68 kB
""" Resources package for MCP server. Provides read-only resources including Splunk documentation and core configuration resources. """ import logging logger = logging.getLogger(__name__) __all__ = ["register_all_resources"] def register_all_resources(): """Register all available resources with the registry.""" try: # Register documentation resources from .splunk_docs import register_all_resources as register_documentation_resources register_documentation_resources() logger.debug("Registered documentation resources") except ImportError as e: logger.warning(f"Could not import documentation resources: {e}") try: # Register embedded resources from .embedded import register_embedded_resources register_embedded_resources() logger.debug("Registered embedded resources") except ImportError as e: logger.warning(f"Could not import embedded resources: {e}") try: # Register embedded Splunk documentation from .embedded_splunk_docs import register_embedded_splunk_docs register_embedded_splunk_docs() logger.debug("Registered embedded Splunk documentation") except ImportError as e: logger.warning(f"Could not import embedded Splunk documentation: {e}") try: # Register core Splunk configuration resources from ..core.base import ResourceMetadata from ..core.registry import resource_registry from .splunk_config import ( SplunkAppsResource, SplunkConfigResource, SplunkHealthResource, SplunkIndexesResource, SplunkSavedSearchesResource, SplunkSearchResultsResource, ) # Manually register these resources with the discovery registry splunk_resources = [ (SplunkConfigResource, "splunk://config/{config_file}"), # Template (SplunkHealthResource, "splunk://health/status"), (SplunkAppsResource, "splunk://apps/installed"), (SplunkIndexesResource, "splunk://indexes/list"), (SplunkSavedSearchesResource, "splunk://savedsearches/list"), (SplunkSearchResultsResource, "splunk://search/results/completed"), ] for resource_class, uri in splunk_resources: if hasattr(resource_class, "METADATA"): # Create specific metadata for this URI base_metadata = resource_class.METADATA metadata = ResourceMetadata( uri=uri, name=base_metadata.name, description=base_metadata.description, mime_type=base_metadata.mime_type, category=base_metadata.category, tags=base_metadata.tags or [], ) # Register with the discovery registry try: resource_registry.register(resource_class, metadata) logger.debug( f"Registered {resource_class.__name__} ({uri}) with discovery registry" ) except Exception as e: logger.warning( f"Could not register {resource_class.__name__} with discovery: {e}" ) logger.info( f"Pre-registered {len(splunk_resources)} core Splunk resources with discovery system" ) except ImportError as e: logger.warning(f"Could not import core Splunk configuration resources: {e}") except Exception as e: logger.error(f"Error registering core Splunk resources: {e}")

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