Skip to main content
Glama

health_check

Check Splunk connection status and list installed applications to verify system availability and configuration.

Instructions

Get basic Splunk connection information and list available apps

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The health_check tool handler: connects to Splunk using get_splunk_connection(), lists available apps, and returns connection info and apps list.
    @mcp.tool() async def health_check() -> Dict[str, Any]: """Get basic Splunk connection information and list available apps""" try: service = get_splunk_connection() logger.info("🏥 Performing health check...") # List available apps apps = [] for app in service.apps: try: app_info = { "name": app['name'], "label": app['label'], "version": app['version'] } apps.append(app_info) except Exception as e: logger.warning(f"⚠️ Error getting info for app {app['name']}: {str(e)}") continue response = { "status": "healthy", "connection": { "host": SPLUNK_HOST, "port": SPLUNK_PORT, "scheme": SPLUNK_SCHEME, "username": os.environ.get("SPLUNK_USERNAME", "admin"), "ssl_verify": VERIFY_SSL }, "apps_count": len(apps), "apps": apps } logger.info(f"✅ Health check successful. Found {len(apps)} apps") return response except Exception as e: logger.error(f"❌ Health check failed: {str(e)}") raise
  • splunk_mcp.py:668-668 (registration)
    FastMCP decorator that registers the health_check function as an MCP tool.
    @mcp.tool()
  • Helper function to create a Splunk service connection, supporting token or username/password auth. Called by health_check.
    def get_splunk_connection() -> splunklib.client.Service: """ Get a connection to the Splunk service. Supports both username/password and token-based authentication. If SPLUNK_TOKEN is set, it will be used for authentication and username/password will be ignored. Returns: splunklib.client.Service: Connected Splunk service """ try: if SPLUNK_TOKEN: logger.debug(f"🔌 Connecting to Splunk at {SPLUNK_SCHEME}://{SPLUNK_HOST}:{SPLUNK_PORT} using token authentication") service = splunklib.client.connect( host=SPLUNK_HOST, port=SPLUNK_PORT, scheme=SPLUNK_SCHEME, verify=VERIFY_SSL, token=f"Bearer {SPLUNK_TOKEN}" ) else: username = os.environ.get("SPLUNK_USERNAME", "admin") logger.debug(f"🔌 Connecting to Splunk at {SPLUNK_SCHEME}://{SPLUNK_HOST}:{SPLUNK_PORT} as {username}") service = splunklib.client.connect( host=SPLUNK_HOST, port=SPLUNK_PORT, username=username, password=SPLUNK_PASSWORD, scheme=SPLUNK_SCHEME, verify=VERIFY_SSL ) logger.debug(f"✅ Connected to Splunk successfully") return service except Exception as e: logger.error(f"❌ Failed to connect to Splunk: {str(e)}") raise

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

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