# LiveKit Real-Time Rooms MCP for AI Agents AI Agent Connect

> LiveKit Real-Time Rooms lets your AI agents manage voice and video sessions directly. It gives your agent the ability to create rooms, handle participants, mute audio tracks for moderation, and broadcast real-time data. Whether you're building a conversational voice bot or a live video platform, this Connector handles the heavy lifting of room lifecycle management so your agent can focus on the conversation.

## Overview
- **Category:** communication
- **Price:** Free
- **Endpoint:** https://edge.vinkius.com/vk_preview_Y60ujzl6AGdFF9QnxaSiCpnF8V3Papr0mn8cSRqZ/ai-agent-connect
- **Tags:** livekit, voice-chat, video-rooms, webrtc, real-time, twirp, ai-agents, open-source

## Description

Connect your AI agents to LiveKit, the open-source framework for real-time voice, video, and AI agent communication. This Connector gives your agent the ability to manage the full room lifecycle without you having to build a custom backend for every single interaction. It handles the heavy lifting of room management so you don't have to write custom logic to handle participant joins, session timeouts, or room deletions. Whether you're building a conversational voice bot for customer support or a live video platform for events, your agent can create sessions, control participants, mute audio tracks for moderation, and broadcast data payloads to everyone in the room.

You can find this in the Vinkius catalog to get your agent connected to real-time communication in minutes. It's about moving from the headache of 'how do I connect this?' to the actual goal of 'what should my agent say next?' Instead of wrestling with Twirp API protocols, your agent can just use these tools to check who is in the room, update metadata to reflect the current state of a call, or kick out a user who is being disruptive. It is perfect for anyone who needs their AI to behave like a real participant in a live, multi-user space. It lets your agent act as a moderator, a host, or a participant, depending on what your specific application needs. You get a production-ready communication layer that works out of the box.

## Tools

### create_room
Create a new LiveKit room with specific settings. This lets your agent set up the space before users join.

### update_participant_metadata
Update metadata for a specific user. Use this to sync user roles or states in real-time.

### update_room_metadata
Update the metadata for the entire room. This is great for showing room status to all connected clients.

### delete_room
Remove a room and disconnect everyone. This is the fastest way to clear a session and free up resources.

### get_participant
Get detailed info about a specific person in the room. Your agent can use this to see who is currently active.

### list_participants
See a list of everyone currently in the room. This helps your agent understand the size and scope of the current call.

### list_rooms
See all active rooms on your project. Use this to check your current load or find specific active sessions.

### mute_track
Mute or unmute a specific audio or video track. This is essential for content moderation or handling noisy participants.

### remove_participant
Kick a participant out of the room. This also revokes their token on LiveKit Cloud to ensure they stay out.

### send_data
Send a data message to everyone in the room. Use this for low-latency updates or guaranteed delivery of events.

## Prompt Examples

**Prompt:** 
```
Can you see who's currently in the 'support-call' room?
```

**Response:** 
```
I've checked the room for you. There are currently 3 people active:

* **user_123**
* **user_456**
* **agent_bot**

Would you like me to get more details on any of them?
```

**Prompt:** 
```
I need to start a new private room for a 1-on-1 session.
```

**Response:** 
```
I've created a new room called `private-session-99`. It's ready for participants to join using their unique access tokens. I've also set the room metadata to `private`.
```

**Prompt:** 
```
Someone is being really loud in the main lobby. Can you silence them?
```

**Response:** 
```
I've identified the noisy participant and used the mute command on their audio track. They can still see the room, but their audio is now silenced for everyone else.
```

## Capabilities

### Create live voice and video rooms
Your agent can spin up new rooms with specific participant limits and timeouts.

### Manage participant lists
Get details on who is currently in a room or remove users who shouldn't be there.

### Mute audio tracks
Silence specific participants instantly to handle noise or content moderation.

### Broadcast live data
Send real-time data payloads to every participant in a session with reliable delivery.

### Update room metadata
Dynamically change room-level information that all connected clients can see.

### Delete rooms
Clear a session and disconnect everyone to free up your project resources.

## Use Cases

### Private Coaching Sessions
A user wants to start a private coaching session. The AI agent uses create_room to set up a private space and update_room_metadata to share the coach's bio.

### Community Lounge Moderation
A participant is being disruptive in a public lounge. The agent detects the behavior and uses mute_track to silence them immediately.

### Automated Match Completion
A game match ends and everyone needs to leave. The agent calls delete_room to clear the session and free up your project resources.

### Live Event Announcements
An AI host needs to announce a 'going live' event. The agent uses send_data with reliable delivery to notify every participant in the room.

## Benefits

- Automate room setup using create_room so your AI doesn't have to wait for manual provisioning or backend hooks.
- Moderate content instantly with mute_track to keep your live voice environments safe and professional without human intervention.
- Sync state across all users with send_data to keep your AI agent and human users on the same page with real-time payloads.
- Handle user lifecycle with remove_participant to automatically kick out inactive or unauthorized users from your sessions.
- Track room status dynamically with update_room_metadata to show real-time info to your entire user base as events happen.
- Monitor active sessions with list_rooms to get a clear view of your project's current load and usage at a glance.

## How It Works

The bottom line is that you get a direct remote control for LiveKit rooms without writing custom backend code.

1. Get your API Key, Secret, and Host URL from your LiveKit Cloud project settings.
2. Plug those credentials into your Connector client connection settings.
3. Ask your agent to create a room or manage participants using natural language.

## Frequently Asked Questions

**What does the LiveKit Real-Time Rooms MCP actually do?**
It gives your AI agent the ability to manage live voice and video rooms. It can create sessions, kick people out, and mute audio tracks automatically.

**Can my AI agent use this to moderate a live stream?**
Yes, it can. Your agent can use the mute tools to silence specific participants or remove them entirely if they violate your community guidelines.

**Is this only for LiveKit Cloud users?**
No, it works with both LiveKit Cloud and your own self-hosted LiveKit project. You just need to provide your own API keys and Host URL.

**How does the AI send messages to everyone in a room?**
It uses a data messaging tool that lets the agent broadcast text or JSON payloads to every connected participant instantly.

**Can I use this to see how many rooms are running?**
Yes, the agent can list all active rooms on your project, which is helpful for monitoring your current traffic and load.

**Does this work with other video platforms?**
This specific MCP is built for the LiveKit ecosystem. If you use a different provider, you'll need an Connector designed for that specific service.

**Can I list all active rooms on my LiveKit server?**
Yes! Use the `list_rooms` tool. It calls the LiveKit RoomService ListRooms endpoint and returns all currently open rooms with their participant count, metadata, and creation time.

**How do I mute a participant's microphone?**
First use `list_participants` to get the track SID for the participant's audio track. Then call `mute_track` with the room name, participant identity, track SID, and muted set to 'true'.

**Does this work with self-hosted LiveKit servers?**
Yes! Just provide your self-hosted server's URL (e.g., https://livekit.yourserver.com) as the Host URL, along with the API Key and Secret from your server's config.yaml.