Skip to main content
Glama
qiniu

Qiniu MCP Server

Official
by qiniu

live_streaming_create_stream

Create a new live streaming channel using S3-style API for broadcasting video content to audiences.

Instructions

Create a new stream in LiveStreaming using S3-style API. The stream will be created at https://.<endpoint_url>/

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bucketYesLiveStreaming bucket name
streamYesLiveStreaming stream name

Implementation Reference

  • MCP tool handler for 'live_streaming_create_stream': decorated function that validates input via schema and delegates to LiveStreamingService.create_stream, returning result as TextContent.
    @tools.tool_meta( types.Tool( name="live_streaming_create_stream", description="Create a new stream in LiveStreaming using S3-style API. The stream will be created at https://<bucket>.<endpoint_url>/<stream>", inputSchema={ "type": "object", "properties": { "bucket": { "type": "string", "description": _BUCKET_DESC, }, "stream": { "type": "string", "description": _STREAM_DESC, }, }, "required": ["bucket", "stream"], }, ) ) async def create_stream(self, **kwargs) -> list[types.TextContent]: result = await self.live_streaming.create_stream(**kwargs) return [types.TextContent(type="text", text=str(result))]
  • Input schema definition for the live_streaming_create_stream tool, specifying bucket and stream names as required strings.
    types.Tool( name="live_streaming_create_stream", description="Create a new stream in LiveStreaming using S3-style API. The stream will be created at https://<bucket>.<endpoint_url>/<stream>", inputSchema={ "type": "object", "properties": { "bucket": { "type": "string", "description": _BUCKET_DESC, }, "stream": { "type": "string", "description": _STREAM_DESC, }, }, "required": ["bucket", "stream"], }, )
  • Top-level registration entrypoint: creates LiveStreamingService instance and calls register_tools to auto-register all live streaming tools including live_streaming_create_stream.
    def load(cfg: config.Config): live = LiveStreamingService(cfg) register_tools(live)
  • Registers the tool handler instance by calling tools.auto_register_tools on the list including create_stream.
    def register_tools(live_streaming: LiveStreamingService): tool_impl = _ToolImpl(live_streaming) tools.auto_register_tools( [ tool_impl.create_bucket, tool_impl.create_stream, tool_impl.bind_push_domain, tool_impl.bind_play_domain, tool_impl.get_push_urls, tool_impl.get_play_urls, tool_impl.query_live_traffic_stats, tool_impl.list_buckets, tool_impl.list_streams, ] )
  • Underlying service method that performs the actual HTTP PUT request to create the stream at the LiveStreaming S3-style endpoint with authentication.
    async def create_stream(self, bucket: str, stream: str) -> Dict[str, Any]: """ Create a stream using S3-style API Args: bucket: The bucket name stream: The stream name to create Returns: Dict containing the response status and message """ url = self._build_stream_url(bucket, stream) data = {} bodyJson = json.dumps(data) headers = { **self._get_auth_header(method="PUT", url=url, content_type="application/json", body=bodyJson), "Content-Type": "application/json" } logger.info(f"Creating stream: {stream} in bucket: {bucket} at {url}") async with aiohttp.ClientSession() as session: async with session.put(url, headers=headers, data=bodyJson) as response: status = response.status text = await response.text() if status == 200 or status == 201: logger.info(f"Successfully created stream: {stream} in bucket: {bucket}") return { "status": "success", "bucket": bucket, "stream": stream, "url": url, "message": f"Stream '{stream}' created successfully in bucket '{bucket}'", "status_code": status } else: logger.error(f"Failed to create stream: {stream}, status: {status}, response: {text}") return { "status": "error", "bucket": bucket, "stream": stream, "url": url, "message": f"Failed to create stream: {text}", "status_code": status }

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/qiniu/qiniu-mcp-server'

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