list_analytics_capabilities
Retrieve a full list of analytics capabilities, including 60+ report types, dimensions, and time intervals, to explore available metrics and features within Kaltura MCP Server. No parameters required.
Instructions
Discover ALL analytics capabilities of this system. USE WHEN: User asks 'what analytics can you do?', exploring available reports, understanding metrics options, learning about analytics features. RETURNS: Complete list of 7 analytics functions with descriptions, 60+ report types, available dimensions, time intervals. EXAMPLE: Always run this when user first asks about analytics. No parameters needed - just call it!
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The primary handler function implementing the list_analytics_capabilities tool. It returns a formatted JSON string detailing all available analytics functions, report types, dimensions, intervals, and more, without requiring any input parameters beyond the manager.async def list_analytics_capabilities(manager: KalturaClientManager) -> str: """ List all available analytics capabilities and their use cases. This helper function provides a comprehensive overview of all analytics functions, making it easy for LLMs and developers to discover capabilities. Returns: JSON with detailed capability descriptions and examples """ capabilities = { "analytics_functions": [ { "function": "get_analytics", "purpose": "Comprehensive reporting and analysis", "use_cases": [ "Performance metrics and rankings", "Detailed breakdowns by category/user/time", "Comparative analysis across content", "Export-ready tabular data", ], "example": "get_analytics(manager, from_date, to_date, report_type='content')", }, { "function": "get_analytics_timeseries", "purpose": "Time-series data for visualization", "use_cases": [ "Creating charts and graphs", "Trend analysis over time", "Dashboard visualizations", "Growth tracking", ], "example": "get_analytics_timeseries(manager, from_date, to_date, interval='days')", }, { "function": "get_video_retention", "purpose": "Detailed viewer retention analysis", "use_cases": [ "Finding where viewers drop off", "Identifying replay segments", "Optimizing content structure", "Comparing audience segments", ], "example": "get_video_retention(manager, entry_id='1_abc')", }, { "function": "get_realtime_metrics", "purpose": "Live analytics data", "use_cases": [ "Monitoring live events", "Real-time dashboards", "Immediate campaign feedback", "Issue detection", ], "example": "get_realtime_metrics(manager, report_type='viewers')", }, { "function": "get_quality_metrics", "purpose": "Streaming quality analysis", "use_cases": [ "QoE monitoring", "Playback issue detection", "Infrastructure optimization", "User experience tracking", ], "example": "get_quality_metrics(manager, from_date, to_date)", }, { "function": "get_geographic_breakdown", "purpose": "Location-based analytics", "use_cases": [ "Global reach analysis", "Regional content strategy", "Market penetration", "CDN optimization", ], "example": "get_geographic_breakdown(manager, from_date, to_date, granularity='country')", }, ], "report_types": list(REPORT_TYPE_MAP.keys()), "available_dimensions": [ "device", "country", "region", "city", "domain", "entry_id", "user_id", "application", "category", ], "time_intervals": ["hours", "days", "weeks", "months", "years"], "user_filters": ["all", "anonymous", "registered", "specific_user", "cohort"], "quality_metrics": ["overview", "experience", "engagement", "stream", "errors"], "geographic_levels": ["world", "country", "region", "city"], } return json.dumps(capabilities, indent=2)
- src/kaltura_mcp/server.py:293-300 (registration)Registration of the tool in the MCP server, including name, detailed description, and empty input schema (no parameters required). This is part of the server.list_tools() response.types.Tool( name="list_analytics_capabilities", description="Discover ALL analytics capabilities of this system. USE WHEN: User asks 'what analytics can you do?', exploring available reports, understanding metrics options, learning about analytics features. RETURNS: Complete list of 7 analytics functions with descriptions, 60+ report types, available dimensions, time intervals. EXAMPLE: Always run this when user first asks about analytics. No parameters needed - just call it!", inputSchema={ "type": "object", "properties": {}, }, ),
- src/kaltura_mcp/server.py:296-300 (schema)Input schema definition for the tool, specifying an empty object (no input parameters). Output is implicitly a string (JSON).inputSchema={ "type": "object", "properties": {}, }, ),
- Import and export of the tool function in the tools package __init__.py, making it available for import in server.py.from .analytics import ( get_analytics, get_analytics_timeseries, get_geographic_breakdown, get_quality_metrics, get_realtime_metrics, get_video_retention, list_analytics_capabilities, ) from .assets import ( get_attachment_content, get_caption_content, list_attachment_assets, list_caption_assets, ) # Import by domain for clear organization from .media import ( get_download_url, get_media_entry, get_thumbnail_url, list_media_entries, ) from .search import ( esearch_entries, list_categories, search_entries, search_entries_intelligent, ) from .utils import ( handle_kaltura_error, safe_serialize_kaltura_field, validate_entry_id, ) # Export all tools __all__ = [ # Utilities "handle_kaltura_error", "safe_serialize_kaltura_field", "validate_entry_id", # Media operations "get_download_url", "get_media_entry", "get_thumbnail_url", "list_media_entries", # Analytics operations "get_analytics", "get_analytics_timeseries", "get_video_retention", "get_realtime_metrics", "get_quality_metrics", "get_geographic_breakdown", "list_analytics_capabilities", # Search operations "esearch_entries", "list_categories", "search_entries", "search_entries_intelligent", # Asset operations "get_attachment_content", "get_caption_content", "list_attachment_assets", "list_caption_assets", ]
- src/kaltura_mcp/server.py:513-514 (registration)Dispatch logic in the server's call_tool handler that invokes the list_analytics_capabilities function when requested.elif name == "list_analytics_capabilities": result = await list_analytics_capabilities(kaltura_manager, **arguments)