LiveKit Real-Time Rooms MCP for AI. Control participant feeds and manage full voice/video sessions.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
LiveKit Real-Time Rooms MCP Server manages voice and video room lifecycles. Use this server to programmatically create, delete, and list rooms.
You can control participants—like muting tracks or removing users—and broadcast data payloads to everyone in the session from your AI client.
What your AI can do
Create room
Creates a new LiveKit room using specified parameters and access tokens.
List rooms
Lists all active rooms running on the entire LiveKit server instance.
Delete room
Deletes an active room, ensuring all connected participants are disconnected.
Create and delete voice/video rooms using create_room or delete_room.
List, inspect, remove participants, and update user metadata with tools like list_participants, get_participant, and update_participant_metadata.
Control live content streams by muting or unmuting a participant's specific audio or video track using mute_track.
Send targeted data messages to every person in the room with guaranteed or lossy delivery via send_data.
Update core room information, like timeouts or session names, using update_room_metadata.
Ask an AI about this
Waiting for input…
LiveKit Real-Time Rooms: 10 Tools for Session Control
These tools let you manage the entire lifecycle of a real-time voice or video session—from setup to moderation and teardown.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using LiveKit Real-Time Rooms on VinkiusCreate Room
Creates a new LiveKit room using specified parameters and access tokens.
List Rooms
Lists all active rooms running on the entire LiveKit server instance.
Delete Room
Deletes an active room, ensuring all connected participants are disconnected.
Get Participant
Retrieves detailed information about a specific participant currently in a room.
List Participants
Generates a list of every user currently connected to the specified room.
Mute Track
Silences or reactivates a participant's published audio or video stream for moderation purposes.
Remove Participant
Forces a participant out of a room and revokes their associated access token.
Send Data
Broadcasts a data message to all participants in a room, choosing between reliable...
Update Participant Metadata
Changes the metadata associated with an individual participant's account within the...
Update Room Metadata
Modifies structured data that applies to the entire room session.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with LiveKit Real-Time Rooms, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by LiveKit. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 10 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Checking who is in a meeting shouldn't take 10 clicks.
Today, checking room status means jumping between participant lists, clicking on users one by one to check their roles, and hoping the dashboard hasn't timed out. It’s manual, slow, and relies on a perfect UI state that often breaks.
With this MCP, you call `list_participants` and get an immediate list of everyone in the room. Your agent knows exactly who is present without navigating any dashboards—it just gives you the raw data.
Using LiveKit Real-Time Rooms MCP Server: Control sessions with action.
Manual processes include setting up a room, waiting for users to connect, and then manually adjusting moderation settings if something goes wrong. It's reactive, requiring human intervention at key moments.
Now, your agent handles it all. You call `create_room` to set boundaries, wait for events, and when necessary, run `mute_track` or `send_data`. The whole process runs as code.
What your AI can actually do with this
This MCP gives your AI client direct control over live voice and video sessions running on LiveKit. You're not just connecting; you're managing the entire lifecycle of a room from start to finish. It lets your agent act like a dedicated session operator, controlling everything programmatically without needing to touch an actual dashboard.
Room Provisioning & Discovery
You can manage the existence of rooms using create_room, which provisions a brand new LiveKit room based on specific parameters and requires access tokens. If you need to shut down an active session, delete_room handles it by immediately disconnecting every participant currently in that space. To see what's running, you use list_rooms; this tool gives you a full rundown of all active rooms across the entire LiveKit server instance.
Participant and User Management
The tools let you track who's connected and control their session state. You can pull up an inventory of everyone in a room using list_participants, which generates a list of every single user currently logged in. If you need deep details on just one person, get_participant retrieves all the specific information associated with that individual participant inside the room.
When you decide to enforce removal, remove_participant forces an exit, revoking the user's access token and kicking them out of the session. You can also modify the data attached to a specific person by using update_participant_metadata, letting you change the structured information tied to their account within that room.
Session Moderation & Control
When moderation is necessary, you've got mute_track. This function allows you to silence or reactivate a participant’s specific published audio feed or video stream. For controlling core session settings—like timeouts or the formal name of the room itself—you use update_room_metadata to modify structured data that applies universally across the entire room environment.
Data Broadcasting & State UpdatesIn terms of communication, you've got two main mechanisms. First, you can send a targeted message to every person in the room using send_data. This tool lets you choose between reliable delivery, ensuring the message gets through even if there are network hiccups, or lossy delivery for less critical status updates.
Summary of Mechanisms
- Creating and Deleting Rooms: You use
create_roomto spin up a session anddelete_roomto terminate it. - Listing Rooms:
list_roomsgives you the global view of all active sessions. - Checking Users:
list_participantsgenerates an immediate roster, whileget_participantdives deep into a single user's specific data points. - Controlling Users: You can enforce removal with
remove_participant, or update their profile details usingupdate_participant_metadata. - Managing Streams:
mute_tracklets you control live audio and video feeds for moderation purposes. - Broadcasting State:
send_datapushes messages to everyone, choosing whether they need guaranteed delivery or if a lossy update is fine. - Setting Data: You use
update_room_metadatato adjust the core data structure of the room itself.
019d8493-5ed6-70ce-a2e1-4a6b71882ce6 Here's how it actually works
The bottom line is, your AI client treats real-time room management like calling a function: input parameters, get guaranteed results.
Your AI client calls a tool (e.g., create_room) and passes necessary parameters.
The MCP server executes the corresponding LiveKit API call to manage the room state on the backend.
The server returns a status confirmation or the requested data payload (e.g., a list of participants).
Who is this actually for?
This server is for developers building systems that need to control live communication streams. If you're the developer who has to manually script meeting setup or moderation actions, this saves hours of boilerplate code. It’s built for complex agent workflows.
Uses create_room and send_data to manage conversational sessions where the AI needs to dynamically start, control, and end a call.
Automates room provisioning and participant lifecycles across multiple services, relying on list_rooms and remove_participant.
Builds automated moderation tools that use mute_track or check metadata with get_participant during a live broadcast.
What Changes When You Connect
Automate moderation instantly. Instead of manually muting streams, your agent runs mute_track to enforce content policies in real-time.
Maintain session state perfectly. Use update_room_metadata to ensure all participants see the latest room status (like 'Meeting Topic: Q3 Budget').
Control who's present. With list_participants, your agent can check occupancy before starting a call, and use remove_participant if someone misbehaves.
Guarantee data transfer. Use send_data to broadcast critical updates (e.g., 'Session paused') with guaranteed or low-latency delivery modes.
Manage the entire lifecycle. You can build complex flows using create_room and ensure cleanup by calling delete_room when the session ends.
See it in action
Automated Onboarding Call Setup
A sales agent needs to set up a demo call. The agent first calls create_room with specific limits. Once users join, the agent uses update_participant_metadata for each person (e.g., setting 'Role: Prospect') so that later tools can reference their correct identity.
Real-Time Moderation During Broadcast
A live stream detects inappropriate content. The agent immediately calls mute_track on the offending user's feed. If they persist, the agent escalates by running remove_participant, ensuring clean session management.
Group Status Broadcasting
In a large conference room setup, the moderator needs to announce key milestones. They use send_data to send a broadcast message (e.g., 'Break in 5 minutes') that all participants receive reliably.
Audit and Cleanup
When a meeting ends, the agent first uses list_participants to verify everyone has left. Then, it calls delete_room to clean up the session resources entirely, preventing stale room records.
The honest tradeoffs
Assuming state is persistent
Trying to check who was in a meeting an hour ago by just listing rooms. The data is transient and only reflects current connections.
If you need historical records, you must implement external logging. For current status checks, use list_participants on the room ID for real-time accuracy.
Ignoring participant identity
Sending a data update without knowing who it applies to. You might accidentally target the wrong user or lose context.
Always use get_participant first to confirm metadata and IDs, then apply targeted changes using update_participant_metadata.
Over-relying on room name
Assuming a room name is enough to identify all participants or settings. Names can change, and the state needs explicit refreshing.
Rely on structured data access: use list_rooms for names, but always verify current participant lists via list_participants.
When It Fits, When It Doesn't
Use this server if your application logic requires programmatic control over a live communication channel. Specifically, if you need to perform moderation (like muting tracks), manage user presence (remove_participant), or broadcast real-time data payloads that aren't just chat text.
Don't use it if all you need is simple one-way messaging between two users—a basic message queue system might suffice. If your primary goal is storing historical conversation transcripts, this MCP won't help; you need a dedicated database connector. Use this only when the session state itself is the critical resource to manage.
Questions you might have
Can I use the `list_rooms` tool with LiveKit Real-Time Rooms MCP Server? +
Yes, you can. It lists all active rooms on your server instance, which is useful for auditing or finding a specific room ID to target later.
How do I make sure data gets delivered using `send_data`? +
You specify the delivery mode when calling send_data. Use "reliable" if you absolutely must guarantee the message gets through, or use "lossy" for messages where speed is more important than perfect receipt.
`remove_participant` revokes their access token automatically? +
Yes. When your agent runs remove_participant, it handles the cleanup by revoking the user's token, ensuring they can't rejoin using old credentials.
Does updating metadata require knowing every single participant ID? +
No. For general room status changes, you use update_room_metadata. If you only need to change one person's details, use get_participant first to confirm the ID and then run update_participant_metadata.
What parameters can I set when using the `create_room` tool? +
You define timeouts and participant limits in the request. This lets you control how long a room stays open or how many people can join, which is key for managing session scope.
How does `get_participant` help me verify who is currently active? +
You pass the participant's ID to this tool. It returns detailed info—like their current status and metadata—so you don't have to list everyone just to check one person.
Can I use `mute_track` if a user hasn't started broadcasting audio or video? +
No. You must first confirm the participant is publishing an active track before calling mute_track. Otherwise, the API call will fail because the resource doesn't exist.
Is updating metadata via `update_participant_metadata` safe for other profile data? +
Yes. This tool only touches the participant's stored metadata fields. It won't change their username, display name, or general connection status.
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.
We've already built the connector for LiveKit Real-Time Rooms. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 10 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.