LiveKit Real-Time Rooms MCP. Control participant feeds and manage full voice/video sessions.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
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 agents can do
Create room
Creates a new LiveKit room using specified parameters and access tokens.
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.
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 AI about this MCP
Supported MCP Clients
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.
019d8493create room
Creates a new LiveKit room using specified parameters and access tokens.
019d84cbdelete room
Deletes an active room, ensuring all connected participants are disconnected.
019d84cbget participant
Retrieves detailed information about a specific participant currently in a room.
019d84cblist participants
Generates a list of every user currently connected to the specified room.
019d8493list rooms
Lists all active rooms running on the entire LiveKit server instance.
019d84cbmute track
Silences or reactivates a participant's published audio or video stream for moderation purposes.
019d84cbremove participant
Forces a participant out of a room and revokes their associated access token.
019d84cbsend data
Broadcasts a data message to all participants in a room, choosing between reliable or lossy delivery modes.
019d84cbupdate participant metadata
Changes the metadata associated with an individual participant's account within the room.
019d84cbupdate room metadata
Modifies structured data that applies to the entire room session.
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 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ 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
What you can do with this MCP connector
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.
How LiveKit Real-Time Rooms MCP Works
- 1 Your AI client calls a tool (e.g.,
create_room) and passes necessary parameters. - 2 The MCP server executes the corresponding LiveKit API call to manage the room state on the backend.
- 3 The server returns a status confirmation or the requested data payload (e.g., a list of participants).
The bottom line is, your AI client treats real-time room management like calling a function: input parameters, get guaranteed results.
Who Is LiveKit Real-Time Rooms MCP 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_trackto enforce content policies in real-time. - Maintain session state perfectly. Use
update_room_metadatato 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 useremove_participantif someone misbehaves. - Guarantee data transfer. Use
send_datato 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_roomand ensure cleanup by callingdelete_roomwhen the session ends.
Real-World Use Cases
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 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.
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 server provides 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
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.
Common Questions About LiveKit Real-Time Rooms MCP
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.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Text In Church
Keep your congregation engaged with church-specific texting, email, and communication tools that grow attendance and giving.
TextP2P
Send peer-to-peer text messages at scale for political campaigns, nonprofits, and organizations that need personal outreach.
OneWaySMS
Send bulk SMS messages across Asia Pacific with high delivery rates and real-time status tracking for every message.
You might also like
Unkey API Management
Manage and verify your user API keys via Unkey — create, revoke, and track usage directly from any AI agent.
Attio
Build powerful CRM workflows with flexible data models, relationship tracking, and deal management tailored to your process.
ROR API (Research Organization Registry)
Access the global registry of research organizations to search, identify, and retrieve detailed metadata for academic and research institutions.