MCP server for StreamStorm, a YouTube live stream chat automation engine. Provides tools to monitor and control storm operations, manage channels, retrieve system metrics, and access AI provider configurations.
The server presents 15 tools with mixed quality. All tools start with appropriate action verbs (get_*, greet_*), and all have descriptions of reasonable length (average ~180 chars). However, the schemas are severely underdeveloped: most tools accept zero or one parameter with minimal constraints. Input schemas lack enums, ranges, and validation rules. Output schemas are not documented at all, the server provides no guidance on what fields the LLM should expect. Tool descriptions are functional but generic, lacking guidance on when to use each tool vs. similar ones (e.g., get_channel_info vs get_channel_status) or how results chain to downstream tools. Parameters like 'last_n_lines' (tool 11) and 'channel_id' (tools 9-10) lack min/max constraints. No error handling patterns visible. Tool composition is reasonable (single responsibility per tool), but many read-only tools return domain-specific data without documented output structure, forcing LLMs to infer field names.
Get currently active/running channel indices. Returns a list of channel indices that are currently in Ready (2) or Storming (3) state during an active storm session.
Get all AI provider configurations and keys. Returns the complete AI settings including API keys (redacted), models, base URLs, and default provider configuration.
Get profile to channel assignment mapping during storm. Returns which browser profile is assigned to which channel index during an active storm session.
Get list of available temporary browser profiles. Returns profiles created for storm operations. Each profile is a browser session that can log into a different YouTube channel.
Get full information for a specific channel. Returns channel name, logo, status, and other metadata.
Get the status of a specific channel. Status codes: -1=Idle, 0=Dead, 1=Getting Ready, 2=Ready, 3=Storming.
Output schemas completely undocumented. No tool provides a documented return type, field structure, or example response shape. LLMs cannot know what fields are available (e.g., does get_storm_channels return 'name' or 'channel_name'? 'logo' or 'logoUrl'?), forcing them to guess or infer from unstructured responses.
Input parameters lack validation constraints. 'last_n_lines' (tool 11) has no min/max bounds, an LLM could request 1 million lines. 'channel_id' (tools 9-10) has no constraint on valid range (0 to what?). No enums, regex patterns, or range declarations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 67 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 52 | - | v1 |
Get the last N log entries from the current log file. Returns recent application log entries for debugging and monitoring storm operations.
Get real-time message statistics for the current storm. Returns the total number of messages sent and the current message rate (messages per minute) during an active storm session.
Get all channels with their current status. Status codes: -1=Idle, 0=Dead, 1=Getting Ready, 2=Ready, 3=Storming. Returns channel information including name, logo, and status for all channels participating in the current storm session.
Get the current storm context and statistics. Returns detailed information about the running storm including: 1. All configured storm data received via form 2. Status of each channel - Idle(-1), Dead(0), Getting Ready(1), Ready(2), Storming(3) 3. Storm Status - Running, Stopped, Paused 4. Storm Start Time
Get current message list being sent during the storm. Returns the list of messages that instances are cycling through when sending chat messages to the livestream.
Get the current storm status. Returns whether a storm is currently running or not. Useful for checking if the engine is busy before starting new operations.
Get real-time system usage metrics. Returns CPU percentage, RAM usage (percent and GB), free RAM statistics. Useful for monitoring resource consumption during storm operations.
Get current application settings. Mask sensitive data. Returns configuration including version, environment, host, port, operating system, and application data directory path.
Greet StreamStorm MCP server.
No error handling patterns visible. Tools provide no guidance on recovery (e.g., what if channel_id is invalid? Suggest valid IDs? Retryable?). No error classification, actionable messages, or fallback options.
Overlapping tool names lack clear differentiation. 'get_channel_info' vs 'get_channel_status' are confusingly similar, descriptions are vague about the distinction. 'get_storm_context' vs 'get_storm_status' and 'get_storm_channels' form a semantically overlapping cluster without clear guidance on which to call for a specific intent.
Parameter descriptions lack context on usage. 'channel_id' is described only as 'The channel index number (0-based)', no hint about valid range, whether to call get_active_channels first, or what error to expect for out-of-range values.
get_ai_provider_keys returns sensitive data (API keys, marked 'redacted' in description, but unclear if truly redacted in implementation). Credentials should never be exposed via tool output; they risk being logged or echoed to users.