loom-mcp
Allows fetching linked Confluence pages and meeting notes URLs from Loom videos.
Provides tools to list, search, and manage Loom videos, including transcripts, summaries, comments, tasks, reactions, tags, folders, spaces, and more via Loom's internal GraphQL API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@loom-mcplist my recent videos"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Loom MCP Server
MCP server exposing 59 tools for Loom's internal GraphQL API. Works with Claude, Cursor, or any MCP-compatible client.
Features
List, search, and get detailed metadata for Loom videos
Read transcripts, captions, AI summaries, chapters, and key takeaways
Save any fetched content to disk on demand via
save_dirparameterManage comments, tasks, reactions, and tags
Organize with folders, spaces, and watch lists
Update video settings, share to spaces, and more
Related MCP server: youtube-mcp
Prerequisites
Python 3.11+
uv package manager
Setup
Authentication
This server uses Loom's internal GraphQL API via a browser session cookie. There is no official API key — you must grab the cookie from your browser.
Open loom.com in your browser
Open DevTools (F12) → Application → Cookies →
https://www.loom.comCopy the value of the
connect.sidcookie (starts withs%3A...)Paste it as
LOOM_COOKIEin your MCP client config below, prefixed withconnect.sid=
The cookie lasts about 30 days. See Troubleshooting if you get auth errors.
Installation
Pick your MCP client below for the appropriate config. Each uses uvx to install and run directly from GitHub — no clone needed.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"loom": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/loom-mcp.git", "loom-mcp"],
"env": {
"LOOM_COOKIE": "connect.sid=s%3A..."
}
}
}
}claude mcp add loom -- uvx --from git+https://github.com/karbassi/loom-mcp.git loom-mcpThen set the env var in your shell or .env:
export LOOM_COOKIE="connect.sid=s%3A..."Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"loom": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/loom-mcp.git", "loom-mcp"],
"env": {
"LOOM_COOKIE": "connect.sid=s%3A..."
}
}
}
}Add to your VS Code settings (.vscode/mcp.json):
{
"mcpServers": {
"loom": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/loom-mcp.git", "loom-mcp"],
"env": {
"LOOM_COOKIE": "connect.sid=s%3A..."
}
}
}
}git clone git@github.com:karbassi/loom-mcp.git
cd loom-mcp
uv sync
uv run loom-mcpOr reference it from any MCP client:
{
"mcpServers": {
"loom": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/loom-mcp", "loom-mcp"],
"env": {
"LOOM_COOKIE": "connect.sid=s%3A..."
}
}
}
}Tools
Read (30 tools)
Tools marked with Save accept an optional save_dir parameter — see Saving to disk.
Tool | Description | Save |
| List your videos, sorted by most recent | |
| AI-powered semantic search | |
| Video metadata (name, duration, owner, views) |
|
| Full transcript with timestamps and speakers |
|
| WebVTT captions with start+end timestamps per cue |
|
| AI-generated summary |
|
| AI-generated chapters |
|
| AI-generated detailed description with timestamped sections |
|
| AI-generated key takeaways |
|
| Comments and replies |
|
| AI-generated action items |
|
| Emoji reactions |
|
| Video tags |
|
| External references (where the video is shared/embedded) |
|
| Confluence meeting notes URL | |
| Linked Confluence pages | |
| Signed MP4 download URL | |
| All-in-one: metadata + transcript + chapters + summary + comments + tasks |
|
| List your folders | |
| List your workspaces | |
| Space details (name, privacy, primary) | |
| Search folders by name | |
| Folder details | |
| Last timestamp where you stopped watching | |
| Number of videos in your Watch Later list | |
| Total videos created by a user | |
| Your most-used emoji reaction types | |
| Emoji reactions on a specific comment | |
| User profile by ID (name, email, company, avatar) | |
| Search tags in your workspace |
Write (29 tools)
Write tools modify your Loom data. Destructive actions (delete, archive, move) cannot always be undone.
Tool | Description |
| Rename a video |
| Update video description |
| Update video settings (downloads, comments, etc.) |
| Post a comment (with optional timestamp) |
| Edit an existing comment |
| Delete a comment |
| Create an action item on a video |
| Update the content of an action item |
| Delete an action item |
| Mark a task as approved |
| Respond to a task |
| Add an emoji reaction at a timestamp |
| Delete a reaction |
| React to a comment with an emoji |
| Follow/unfollow a video |
| Follow/unfollow a workspace tag |
| Archive or unarchive videos |
| Duplicate a video |
| Permanently delete a video |
| Recover a deleted video from trash |
| Pin or unpin a video in your library |
| Add to Watch Later list |
| Remove from Watch Later list |
| Create a new folder |
| Rename a folder |
| Delete folders |
| Move videos to a different folder |
| Move folders into a different parent folder |
| Share videos to one or more spaces |
Saving to disk
Most per-video read tools accept an optional save_dir parameter. When provided, the tool saves its output to {save_dir}/{video_id}/ and returns the file path alongside the content. When omitted, nothing is saved.
Just ask naturally — "get the details from my last meeting and save them to the ask directory" — and the LLM will pass save_dir="ask" to the tool.
get_video_details saves each piece individually (metadata.json, transcript.txt, summary.txt, etc.) plus a combined details.md.
Troubleshooting
Auth errors
If you get auth errors, your connect.sid cookie has expired (~30 days). Grab a fresh one from your browser using the steps in Authentication.
Debugging with MCP Inspector
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/karbassi/loom-mcp.git loom-mcpContributing
Issues and pull requests are welcome on GitHub.
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/karbassi/mcp-loom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server