Liveblocks MCP Server
Inspect and modify Liveblocks real-time collaboration projects (rooms, threads, comments, Storage, Yjs, notifications) from AI tools.
The Liveblocks MCP server is the official integration from Liveblocks that exposes most of the Liveblocks REST API to MCP-compatible clients like Cursor, Claude Code, Claude Desktop, and Codex. It lets an AI agent create, read, update, and delete rooms, threads, comments, reactions, and notifications, plus broadcast custom events and inspect Storage and Yjs documents inside a Liveblocks project.
Tools are grouped by Liveblocks primitive: rooms (list, create, update, delete, rename IDs, list active users, broadcast events), Storage and Yjs (read documents), Comments and Threads (full CRUD plus subscribe, resolve, react), per-room and per-user subscription settings, and inbox/notification settings (trigger, list, delete, update). The README warns that the server is intended for development projects only because actions are destructive and irreversible on production data.
The server is distributed as a GitHub-hosted npm package run via npx, authenticates with a Liveblocks secret key (LIVEBLOCKS_SECRET_KEY), and is officially maintained in the liveblocks/liveblocks-mcp-server repo.
Tools
| Tool | Description |
|---|---|
get-rooms |
List rooms in the project with optional filters. |
create-room |
Create a new Liveblocks room. |
get-room |
Get a single room by ID. |
update-room |
Update room metadata or permissions. |
delete-room |
Delete a room. |
update-room-id |
Rename a room's ID. |
get-active-users |
List users currently connected to a room. |
broadcast-event |
Broadcast a custom event to clients in a room. |
get-storage-document |
Read the Storage document for a room. |
get-yjs-document |
Read the Yjs document for a room. |
get-threads |
List threads in a room. |
create-thread |
Create a new comment thread in a room. |
get-thread |
Get a thread by ID. |
get-thread-participants |
List participants in a thread. |
edit-thread-metadata |
Update a thread's metadata. |
mark-thread-as-resolved |
Mark a thread as resolved. |
mark-thread-as-unresolved |
Mark a thread as unresolved. |
delete-thread |
Delete a thread. |
subscribe-to-thread |
Subscribe a user to thread notifications. |
unsubscribe-from-thread |
Unsubscribe a user from a thread. |
get-thread-subscriptions |
List subscriptions on a thread. |
create-comment |
Add a comment to a thread. |
get-comment |
Get a single comment. |
edit-comment |
Edit a comment. |
delete-comment |
Delete a comment. |
add-comment-reaction |
Add an emoji reaction to a comment. |
remove-comment-reaction |
Remove a reaction from a comment. |
get-room-subscription-settings |
Get a room's subscription settings. |
update-room-subscription-settings |
Update a room's subscription settings. |
delete-room-subscription-settings |
Delete a room's subscription settings. |
get-user-room-subscription-settings |
Get subscription settings for a user in a room. |
get-inbox-notifications |
List a user's inbox notifications. |
get-inbox-notification |
Get a single inbox notification. |
trigger-inbox-notification |
Trigger a custom inbox notification. |
delete-inbox-notification |
Delete an inbox notification. |
delete-all-inbox-notifications |
Delete all inbox notifications for a user. |
get-notification-settings |
Get a user's notification channel settings. |
update-notification-settings |
Update a user's notification channel settings. |
delete-notification-settings |
Delete a user's notification channel settings. |
Prerequisites
- A Liveblocks account and a project secret key (starts with
sk_) from the Liveblocks dashboard. - Node.js with
npxavailable. - Use a development project key. Many tools perform irreversible writes.
Claude Desktop / Cursor config
Add the following to claude_desktop_config.json (Claude Desktop) or your Cursor MCP settings:
{
"mcpServers": {
"liveblocks": {
"command": "npx",
"args": ["-y", "github:liveblocks/liveblocks-mcp-server"],
"env": {
"LIVEBLOCKS_SECRET_KEY": "sk_xxxxxxxxxxxx"
}
}
}
}
Claude Code (CLI)
claude mcp add liveblocks -e LIVEBLOCKS_SECRET_KEY="sk_xxxxxxxxxxxx" -- npx -y github:liveblocks/liveblocks-mcp-server
Codex CLI
npm i -g @openai/codex
codex mcp add liveblocks --env LIVEBLOCKS_SECRET_KEY="sk_xxxxxxxxxxxx" -- npx -y github:liveblocks/liveblocks-mcp-server
Restart your client after editing the config.
- Debug a collaborative document by inspecting the room's Storage or Yjs state directly from the AI client.
- Bulk clean up stale development rooms, threads, and comments in a project after testing.
- Trigger custom inbox notifications to test notification flows without writing client code.
- Resolve, reassign, or update metadata on comment threads across many rooms in one prompt.
- Broadcast custom realtime events to a running room to test how clients react.
- "List all rooms in my Liveblocks project and delete any whose ID starts with
test-." - "Show me the Storage document for room
design-doc-42and summarize what changed." - "Mark every unresolved thread older than 30 days as resolved in room
kanban-prod." - "Trigger a
$mentioninbox notification for useruser-123referencing threadthread-9." - "Broadcast a
force-refreshevent to roomwhiteboard-1so connected clients reload."
- Official server maintained by Liveblocks in their own GitHub org.
- Broad coverage of the REST API across rooms, threads, comments, Storage, Yjs, and notifications.
- Simple setup via
npxwith a singleLIVEBLOCKS_SECRET_KEYenv var, no separate hosting. - Documented configs for Cursor, Claude Desktop, Claude Code, and Codex.
- Many operations are destructive and irreversible, the docs explicitly recommend against using production keys.
- Storage and Yjs access is read-only; the server cannot mutate live collaborative documents.
- Requires a secret key with full project access, which is broad scope for an AI agent.
- Yjs or TipTap collaboration tooling for direct CRDT inspection if you do not use Liveblocks.
- The Liveblocks REST API directly via a generic HTTP MCP server for narrower, scripted use cases.
- Community CRDT and realtime MCP servers, though none offer comparable first-party Liveblocks coverage.