Skip to main content
Glama

Loom Advisor

MCP server for Loom video management. Provides tools to list, retrieve, edit, and merge Loom screen recordings.

Features

  • list_recorded_videos - Retrieve a list of recorded videos with pagination and folder filtering

  • get_video - Get detailed information about a specific video

  • edit_video - Edit videos by trimming or extracting clips

  • merge_videos - Combine multiple videos into one

Related MCP server: Loom Transcript MCP

Installation

pip install m2ai-mcp-loom-advisor

Configuration

Required environment variables:

Variable

Description

LOOM_ACCESS_TOKEN

OAuth2 access token for Loom API

Optional environment variables:

Variable

Description

Default

LOOM_BASE_URL

Loom API base URL

https://api.loom.com/v1

Getting an Access Token

Loom uses OAuth2 for authentication. To obtain an access token:

  1. Register your application in the Loom Developer Portal

  2. Implement the OAuth2 authorization flow

  3. Use the returned access token in your configuration

Note: Loom's public API access may be limited. Enterprise users may have additional API capabilities. Contact Loom for API access details.

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "loom": {
      "command": "loom-advisor",
      "env": {
        "LOOM_ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

Or run directly with Python:

{
  "mcpServers": {
    "loom": {
      "command": "python",
      "args": ["-m", "loom_mcp.server"],
      "env": {
        "LOOM_ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

Tools

list_recorded_videos

Retrieve a list of recorded videos from Loom.

Parameters:

  • limit (optional): Maximum number of videos to return (1-100, default 50)

  • offset (optional): Pagination offset (default 0)

  • folder_id (optional): Filter videos by folder ID

Example:

{
  "limit": 10,
  "offset": 0,
  "folder_id": "folder-abc"
}

get_video

Retrieve detailed information about a specific video.

Parameters:

  • video_id (required): Unique identifier for the video

Example:

{
  "video_id": "abc123"
}

edit_video

Edit a video by adding clips or trimming sections.

Parameters:

  • video_id (required): Unique identifier for the video

  • editing_details (required): Object containing edit instructions

    • trim_start: Start time in seconds to trim from beginning

    • trim_end: End time in seconds where video should end

    • clips: List of clip objects with start and end times

    • title: Optional new title for the edited video

    • description: Optional new description

Example:

{
  "video_id": "abc123",
  "editing_details": {
    "trim_start": 5,
    "trim_end": 120,
    "title": "Edited Demo"
  }
}

merge_videos

Combine multiple videos into one merged video.

Parameters:

  • video_ids (required): List of video IDs to merge (minimum 2, in order)

  • title (optional): Title for the merged video

Example:

{
  "video_ids": ["video-1", "video-2", "video-3"],
  "title": "Combined Demo"
}

Development

Running Tests

# Activate virtual environment
source venv/bin/activate

# Run tests
pytest

# Run with coverage
pytest --cov=loom_mcp --cov-report=term-missing

Code Quality

# Format and lint
ruff check src tests
ruff format src tests

# Type checking
mypy src

Project Structure

loom-mcp/
├── src/
│   └── loom_mcp/
│       ├── __init__.py
│       ├── server.py          # MCP server entry point
│       ├── clients/
│       │   ├── __init__.py
│       │   └── loom.py        # Loom API client
│       └── tools/
│           ├── __init__.py
│           ├── list_recorded_videos.py
│           ├── get_video.py
│           ├── edit_video.py
│           └── merge_videos.py
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_loom_client.py
│   ├── test_tools.py
│   └── test_server.py
├── pyproject.toml
├── README.md
└── .env.example

License

MIT


Generated by GRIMLOCK MCP Factory

Available Tools

4 tools
edit_videoB

Edit a video by adding clips or trimming sections. Supports trimming start/end, extracting clips, and updating metadata like title and description.

Inputs: video_id (required), editing_details (required).

get_videoA

Retrieve a specific video by ID. Returns full video details including title, description, duration, embed URL, share link, and transcript availability.

Inputs: video_id (required).

list_recorded_videosA

Retrieve a list of recorded videos from Loom. Returns video metadata including IDs, titles, thumbnails, and creation dates. Supports pagination and folder filtering.

Inputs: limit, offset, folder_id.

merge_videosA

Combine multiple videos into one merged video. Provide at least 2 video IDs in the desired merge order. Optionally specify a title for the merged result.

Inputs: video_ids (required), title.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: editing, retrieving by ID, listing, and merging videos. There is no overlap or ambiguity.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (edit_video, get_video, list_recorded_videos, merge_videos) with predictable structure.

    Tool Count4/5

    4 tools is a reasonable number for a video management server, covering core operations. It is slightly on the smaller side but not insufficient.

    Completeness3/5

    The tool set covers listing, retrieval, editing (including metadata), and merging, but lacks a delete tool, which is a notable gap for full lifecycle management.

    Related MCP Connectors

    Related MCP Servers