# Volcengine RTC MCP

> Volcengine RTC MCP handles real-time live video and audio streams for professional broadcasting platforms. It lets your AI agent manage active rooms, monitor network quality in detail, mute disruptive users' feeds, kick out abusers instantly, and handle complex cloud recording or mixing tasks.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** real-time-communication, live-streaming, audio-video-streams, network-infrastructure, broadcasting, stream-management

## Description

This connector gives your agent the ability to operate like a dedicated stream operations console. You can run administrative commands against major live streaming infrastructure—the same backbone powering massive platforms globally. Your AI doesn't need a human in the loop for basic moderation; it handles everything from checking network health and listing users in specific rooms, to silencing an audio feed or kicking out disruptive participants. For instance, if you suspect poor connection quality in one corner of your broadcast setup, your agent can query deep metrics to pinpoint dropped frames and problematic nodes. If you need a full audit trail showing exactly which user was kicked and when that action occurred, Vinkius AI Analytics tracks every tool call made through the system. This means everything—every mute, kick, or recording start—is logged for review later. It’s built for platforms where reliability isn't optional; it's core to your business.

## Tools

### get_active_rooms
Retrieves a complete list of every currently running live room in the system.

### get_quality_metrics
Pulls detailed performance data for any specific live room, including network metrics and drop rates.

### get_room_users
Fetches a list of all participants currently broadcasting within a specified room.

### kick_user
Removes an individual user from the live stream room immediately.

### mute_stream
Silences either the audio or video output for a specific user in a room.

### start_cloud_record
Initiates high-quality cloud recording for an ongoing live stream session.

### start_transcode
Begins a mixed-client (MCU) streaming process to combine multiple video feeds into one output.

### stop_cloud_record
Stops an active cloud recording session, saving the footage to storage.

### stop_transcode
Ends a mixed-client (MCU) streaming process that was actively combining video feeds.

### unmute_stream
Reactivates the audio or video output for a user who had been muted.

## Prompt Examples

**Prompt:** 
```
Mute both audio and video streams for user 'player01' in room 'Squad_44'.
```

**Response:** 
```
Sure. I executed a `MuteStream` command on Volcengine isolating user `player01`. Their stream is now blocked.
```

**Prompt:** 
```
How many active sessions does my RTC App have right now?
```

**Response:** 
```
I queried the `ListRooms` API. There are currently 12 distinct rooms broadcasting, pulling a total of 58 users.
```

## Capabilities

### Moderate participants
You can tell the agent to mute a specific user's audio or video feed, or kick them out of the room entirely.

### Monitor stream health
The agent pulls deep performance metrics on any live room, letting you check things like dropped frame rates and bandwidth usage.

### Manage broadcasts
It provides a list of all currently active rooms across the network. You can also query exactly who is in those rooms.

### Record and mix video
You can tell it to start cloud recording for an ongoing stream, or spin up a mixing service to combine multiple feeds into one output.

## Use Cases

### Moderation during an event
A streamer's audio is suddenly blasting inappropriate content. Instead of manually finding the user in a dashboard, you tell your agent to 'mute the video and audio for user X.' The agent immediately executes `mute_stream`.

### Post-event review
The team needs footage from yesterday's key session. Your agent runs a command that triggers `start_cloud_record`, ensuring the entire broadcast is saved to VOD storage for later compliance checks.

### Troubleshooting quality issues
A client reports their feed keeps cutting out. You ask your agent to 'check the network health of Room Alpha.' It runs `get_quality_metrics` and reports high drop rates on a specific node.

### Scaling moderation efforts
You need to check who is currently in all rooms before implementing changes. You ask your agent to 'list users for the three main broadcast channels.' It runs `get_room_users` on each room ID, giving you a comprehensive list.

## Benefits

- Instant Moderation: Don't wait for a human operator. Use the agent to instantly `kick_user` or `mute_stream` disruptive participants based on rules.
- Deep Network Diagnosis: Instead of guessing why a stream is choppy, use `get_quality_metrics` to pull detailed data and identify poor connectivity nodes immediately.
- Comprehensive Oversight: Quickly check network status using `get_active_rooms`, giving you an instant view of how many streams are running across the whole platform.
- Full Archiving Control: Never miss content. Use `start_cloud_record` to automatically save critical broadcasts and use `stop_cloud_record` when done.
- Advanced Mixing: Build complex output feeds using `start_transcode`, letting your agent combine multiple sources into a single broadcast stream.

## How It Works

The bottom line is that you get immediate, automated control over complex streaming services without touching any dashboards.

1. First, you connect your API credentials and App ID via the Vurb extension engine.
2. Next, your AI client converts natural language requests (like 'mute the audio for user X') into signed REST API commands.
3. Finally, this MCP executes the command against Volcengine's live stream infrastructure and returns a confirmation or status update.

## Frequently Asked Questions

**How do I check network quality using the get_quality_metrics tool?**
You provide the specific Room ID and the agent retrieves a deep dive of that room's metrics. This lets you see things like packet loss rates or dropped frame counts, helping diagnose poor connectivity.

**Can I use mute_stream to block video only?**
Yes. The `mute_stream` function requires you to specify if the stream type is 'audio' or 'video,' giving you granular control over which feed gets blocked.

**What happens when I use kick_user?**
The agent removes the specified user from the live room instantly. This action logs an audit trail, ensuring proof of moderation for compliance purposes.

**Is it hard to start cloud recordings with start_cloud_record?**
No. You just tell your agent to begin recording. It handles the setup and monitoring process, letting you focus on the broadcast itself.

**What credentials do I need to set up my agent before running any tool, like `get_active_rooms`?**
You need an Access Key (AK), Secret Key (SK), and your RTC App ID. You connect these through the Vinkius platform; it handles converting your AI's natural language into signed REST API calls automatically.

**What is the correct workflow for using both `start_transcode` and `stop_transcode`?**
Always run `start_transcode` first to initiate the stream transcoding process. Once your agent has gathered the necessary data or completed its task, you must call `stop_transcode` immediately afterward to prevent unnecessary billing.

**If I try to use `get_room_users` but get an error, what does that usually mean?**
It generally means the agent lacks sufficient permissions for that specific room or user group. You need to check your Volcengine IAM Console and confirm the necessary read permissions are granted for the target resources.

**How do I find out which rooms exist using `get_active_rooms` before trying to list users?**
`get_active_rooms` gives you a comprehensive manifest of all currently running RTC sessions. This lets your agent retrieve the precise Room IDs needed for subsequent commands, like listing participants or checking metrics.

**Does this support Volcengine HMAC-SHA256 V4 Signatures?**
Absolutely. Generating ByteDance's API signatures programmatically is challenging for raw agents. This backend completely conceals the cryptography layer so your agent can execute queries instantly just by having the Secret Key stored securely.