Skip to main content
Glama

Create Stream

create_stream
Destructive

Create a stream. Required: name and platform (e.g. none, youtube, twitch, kick, custom, customsrt). A key is required unless platform is none; for custom, instagram or rumble it must start rtmp:// or rtmps://, and for customsrt srt://. Optional settings groups (encoding, volumes, playback, transitions, video_fit, recording) and tags default sensibly. Status is managed by start_stream/stop_stream and scheduling. A supplied schedule can start or stop broadcasting. Mirrors POST /api/v1/streams.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNoStream key. Required unless platform is none. custom, instagram or rumble: must start rtmp:// or rtmps://; customsrt: srt://.
urlNoOptional ingest URL override.
nameYesStream name, max 100 chars.
tagsNoTag names to attach. Missing names are created for this account.
typeNoStream type (set at creation only).
volumesNoVolumes 0-100: main, secondary, video.
encodingNoEncoding settings: resolution, frame_rate, bitrate, audio_bitrate (128-328).
platformYesTarget platform, e.g. none, youtube, twitch, kick, custom, customsrt. Use none to add a destination later.
playbackNoPlayback: mode (loop|single), video_order (loop|shuffle), audio_order (loop|shuffle), default_image_duration (1-3600s).
scheduleNoSchedule: is_scheduled/scheduled_at (start), is_scheduled_end/scheduled_end_at (end), repeat_schedule (boolean), mode (null|continuous), continuous_start_type (now|scheduled), continuous_stop_type (never|scheduled), continuous_stop_at, stream_duration_hours/stream_duration_minutes and break_duration_hours/break_duration_minutes (continuous mode active/break time per cycle, each combo >=5min), preserve_state (resume playback after a continuous-mode cycle restart).
recordingNoRecording: enabled (boolean).
video_fitNoVideo fit: object_fit (cover|contain), style, background_color.
descriptionNoOptional description.
transitionsNoTransitions: fade_duration (0-20), animation_type (random|fade|slide|scale|swipeAway), animation_duration (0-20).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare write, destructive, and open-world behavior, so the safety profile is carried. The description adds real behavioral context beyond that: optional setting groups (encoding, volumes, playback, transitions, video_fit, recording) and tags default sensibly, and a supplied schedule can itself start or stop broadcasting — a non-obvious side effect. It doesn't say what a failed platform/key combination returns, hence a 4 not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the required fields, then platform-specific key rules, then optional groups, then lifecycle ownership. Dense but every sentence carries information; the trailing 'Mirrors POST /api/v1/streams' is arguably filler for an agent but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter creation tool with nested objects and no output schema, the description covers what must be supplied, how optional groups behave, and how the object interacts with the start/stop lifecycle. The omission of any guidance on failure/auth requirements or the returned object is minor given annotations cover the write/destructive profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 14 parameters, including nested objects and the key-format constraints. The description restates the required fields and key prefix rules, which is useful reinforcement but not meaningfully additive. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb+resource ('Create a stream'), and the follow-up about status being managed by start_stream/stop_stream cleanly separates this creation tool from the lifecycle siblings. An agent can distinguish it from update_stream and start_stream without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear when-not: status/broadcasting is controlled via start_stream/stop_stream and scheduling, so the agent knows not to try to go live through this tool. The key-requirement rules per platform (none vs custom/instagram/rumble vs customsrt) are also usage-relevant. It stops short of naming update_stream as the mutation path for existing streams, so it isn't a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources