Cloudglue MCP Server
OfficialEnables accessing and analyzing videos stored in Dropbox via shareable links or direct paths.
Provides tools to analyze videos from Google Drive using file IDs.
Allows analysis of YouTube videos, including describing content, extracting entities, and segmenting chapters.
Supports analysis of Zoom cloud recordings using meeting UUIDs or IDs.
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., "@Cloudglue MCP ServerDescribe the video at https://youtu.be/abc123"
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.
Cloudglue MCP Server
Connect Cloudglue to Cursor, Claude Desktop, and other AI assistants to unlock the power of video collection understanding. Cloudglue helps turn your videos into structured data ready for LLMs.
📖 Resources
By using the Cloudglue SDK and/or the MCP server, you agree to the Cloudglue Terms of Service and acknowledge our Privacy Policy.
Usage
Prerequisites
First, get a Cloudglue API Key from cloudglue.dev, this will be used to authenticate the MCP server with your Cloudglue account.
A. On any MCP client using a JSON configuration
Most MCP clients store their configuration as JSON. For cloudglue-mcp-server this would look like the following:
{
"mcpServers": {
"cloudglue": {
"command": "npx",
"args": [
"-y",
"@cloudglue/cloudglue-mcp-server@latest",
"--api-key",
"<CLOUDGLUE-YOUR-API-KEY>"
]
}
}
}Replace <CLOUDGLUE-YOUR-API-KEY> with the API Key created earlier.
B. On Claude Desktop using Desktop Extensions
Download the latest Cloudglue Claude Desktop Extension from the releases page
Double click to open with Claude Desktop (you need to have Claude Desktop running prior to this)
Click 'Install'
When prompted, enter your API key
Enable the extension
Local Development
Related MCP server: VidCap YouTube API MCP Server
Prerequisites
First, get a Cloudglue API Key from cloudglue.dev, this will be used to authenticate the MCP server with your Cloudglue account.
Build the server
Clone the repo
Install dependencies using
npm installBuild the server + Claude Desktop Extension using
npm build
Configure your MCP client
Next, configure your MCP client (such as Cursor) to use this server. Most MCP clients store the configuration as JSON in the following format:
{
"mcpServers": {
"cloudglue-mcp-server": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/cloudglue-mcp-server/build/index.js",
"--api-key",
"<CLOUDGLUE-YOUR-API-KEY>"
]
}
}
}Documentation
Supported URL Formats
The Cloudglue MCP Server supports multiple URL formats for video analysis:
Cloudglue Platform (Default)
Format:
cloudglue://files/file-idUsage: Use file ID from
list_videostoolBest for: Videos already uploaded to Cloudglue
YouTube URLs
Formats:
https://www.youtube.com/watch?v=...https://youtu.be/...
Supported tools:
describe_video,extract_video_entities,segment_video_chaptersNote: Not supported for
segment_video_camera_shots
Public HTTP Video URLs
Format: Direct links to MP4 files (e.g.,
https://example.com/video.mp4)Best for: Publicly accessible video files
Data Connector URLs
Requires setup in Cloudglue account - see Data Connectors Documentation
Dropbox:
Shareable links:
https://www.dropbox.com/scl/fo/SOME_ID/SOME_OTHER_ID?rlkey=SOME_KEY&st=SOME_TIME&dl=0Direct path:
dropbox://<path>/<to>/<file>
Google Drive:
Format:
gdrive://file/<file_id>
Zoom:
Meeting UUID:
zoom://uuid/QFwZYEreTl2e6MBFSslXjQ%3D%3DMeeting ID:
zoom://id/81586198865
Tools
The following Cloudglue tools are available to LLMs through this MCP server:
Discovery & Navigation
list_collections: Discover available video collections and their basic metadata. Use this first to understand what video collections exist before using other collection-specific tools. Shows collection IDs needed for other tools, video counts, and collection types. For collections with type 'media-descriptions', usedescribe_videowith the collection_id parameter to fetch previously extracted descriptions for a given Cloudglue file. For collections with type 'entities', useextract_video_entitieswith the collection_id parameter to fetch previously extracted entities for a given Cloudglue file. Pagination: Results are paginated in 25 collections per page using thepageparameter (page 0 = first 25 collections, page 1 = next 25 collections, etc.). Each response includespageandtotal_pagesfields. For comprehensive exploration, paginate through all collections by incrementing thepageparameter until you've retrieved all pages.list_videos: Browse and search video metadata with powerful filtering options. Use this to explore available videos, find specific content by date, or see what's in a collection. Returns essential video info like duration, filename, and IDs needed for other tools. Pagination: Results are paginated in 25 videos per page using thepageparameter (page 0 = first 25 videos, page 1 = next 25 videos, etc.). Each response includespageandtotal_pagesfields. Use date filtering to focus on specific time periods, then paginate within those results.
Individual Video Analysis
describe_video: Get comprehensive transcripts and descriptions from individual videos with intelligent cost optimization and pagination support. Automatically checks for existing transcripts before creating new ones. Supports all URL formats: Cloudglue URLs, YouTube URLs, public HTTP video URLs, and data connector URLs (Dropbox, Google Drive, Zoom). Pagination: Results are paginated in 5-minute segments using thepageparameter (page 0 = first 5 minutes, page 1 = next 5 minutes, etc.). Usestart_time_secondsto begin pagination from a specific time index (defaults to 0). Combined withpage, this allows precise navigation:start_time_secondssets the base offset, andpageincrements in 5-minute segments from that offset (e.g.,start_time_seconds=600withpage=0returns 10-15 minutes,page=1returns 15-20 minutes). Each response includespage,total_pages, anddescriptionfields in JSON format. Use pagination to efficiently process longer videos by retrieving descriptions in manageable chunks or target specific time ranges. Pagination works consistently for both collection descriptions (when usingcollection_id) and individual video descriptions.extract_video_entities: Extract structured data and entities from videos using custom prompts with intelligent cost optimization and pagination support. Automatically checks for existing extractions before creating new ones. Supports all URL formats: Cloudglue URLs, YouTube URLs, public HTTP video URLs, and data connector URLs (Dropbox, Google Drive, Zoom). The quality of results depends heavily on your prompt specificity. Pagination: Segment-level entities are paginated (25 segments per page) using thepageparameter. Each response includesvideo_level_entitiesandsegment_level_entitieswithentities,page, andtotal_pagesfields in JSON format.get_video_metadata: Get comprehensive technical metadata about a Cloudglue video file including duration, resolution, file size, processing status, and computed statistics. Returns structured JSON results with complete file metadata, video information (resolution, fps, codec, etc.), processing timestamps, and computed fields. Use this when you need video specifications, file details, or processing information rather than content analysis. Different from content-focused tools like describe_video.segment_video_camera_shots: Segment videos into camera shots with intelligent cost optimization. Automatically checks for existing shot segmentation jobs before creating new ones. Returns structured JSON results with segments array containing timestamps, formatted times, and duration for each camera shot detected. Supports Cloudglue URLs, public HTTP video URLs, and data connector URLs (Dropbox, Google Drive, Zoom). Note: YouTube URLs are not supported for camera shot segmentation.segment_video_chapters: Segment videos into chapters with intelligent cost optimization. Automatically checks for existing chapter segmentation jobs before creating new ones. Returns structured JSON results with chapters array containing timestamps, formatted times, and descriptions for each chapter detected. Supports optional custom prompt parameter to guide chapter detection. Supports all URL formats: Cloudglue URLs, YouTube URLs, public HTTP video URLs, and data connector URLs (Dropbox, Google Drive, Zoom).
Collection Analysis
retrieve_summaries: Bulk retrieve video summaries and titles from a collection to quickly understand its content and themes. Works with both rich-transcripts and media-descriptions collections. Perfect for getting a high-level overview of what's in a collection, identifying common topics, or determining if a collection contains relevant content for a specific query. Use this as your first step when analyzing a collection - it's more efficient than retrieving full descriptions and helps you determine if you need more detailed information. For targeted content discovery, consider using search_video_summaries or search_video_moments instead of browsing through all summaries. Pagination: Results are paginated in 25 summaries per page using thepageparameter (page 0 = first 25 summaries, page 1 = next 25 summaries, etc.). Each response includespageandtotal_pagesfields. For comprehensive collection analysis, paginate through all summaries by incrementing thepageparameter until you've retrieved all pages.search_video_moments: AI-powered semantic search to find specific video segments within a collection. Uses Cloudglue's search API to locate relevant moments across speech, on-screen text, and visual descriptions. Returns structured search results with timestamps and metadata. Perfect for finding needle-in-haystack spoken and visual content, specific discussions, or thematic analysis. Returns up to 20 relevant video moments per query.search_video_summaries: AI-powered semantic search to find relevant videos within a collection. Uses Cloudglue's search API to locate videos based on their content, summaries, and metadata. Works with rich-transcripts and media-descriptions collections. Returns structured search results with video information and relevance scores. Perfect for discovering videos by topic, theme, or content similarity. Returns up to 20 relevant videos per query.
Pagination Strategy
When to Paginate Exhaustively:
User asks for "all" or "complete" analysis of collections/videos
User wants comprehensive coverage or exhaustive exploration
User requests data mining, dataset building, or complete entity extraction
User asks for "everything" in a collection or time period
How to Paginate:
All tools use page-based pagination (list_collections, list_videos, describe_video, extract_video_entities, retrieve_summaries):
Start with initial request (page=0)
Check response
total_pagesfieldIf
page < total_pages - 1, incrementpageand repeatContinue until you've retrieved all pages or have sufficient data
Page sizes by tool:
list_collections: 25 collections per pagelist_videos: 25 videos per pagedescribe_video: 5 minutes per pageextract_video_entities: 25 segment entities per pageretrieve_summaries: 25 summaries per page
When to Use Which Tool
Start exploring: Use
list_collectionsandlist_videosto explore available contentFor single videos: Use
describe_video,extract_video_entities,segment_video_camera_shots, orsegment_video_chaptersFor collection overview: Always start with
retrieve_summariesto efficiently understand what's in a collectionFor detailed analysis: Use
describe_videofor specific videos that need full multimodal context, identified through summariesFor structured data: Use
extract_video_entitiesfor entity extraction from individual videosFor specific content: Use
search_video_momentsfor targeted segment search,search_video_summariesfor video-level searchFor technical specs: Use
get_video_metadata
All tools include intelligent features like cost optimization, automatic fallbacks, and comprehensive error handling.
Contact
Available Tools
10 toolsdescribe_videoAIdempotent
Gets comprehensive video descriptions with intelligent cost optimization and pagination support. Automatically checks for existing descriptions before creating new ones. Supports YouTube URLs, Cloudglue URLs, and direct HTTP video URLs with different analysis levels. Results are paginated in 5-minute segments - use the 'page' parameter to retrieve specific time segments of longer videos (page 0 = first 5 minutes, page 1 = next 5 minutes, etc.). Use 'start_time_seconds' to begin pagination from a specific time index (defaults to 0 for start of video). The combination of start_time_seconds and page allows precise navigation: start_time_seconds sets the base offset, and page increments in 5-minute segments from that offset. When collection_id is provided (from a media-descriptions collection), this tool fetches previously extracted descriptions that were stored in that collection for the given Cloudglue file, saving time and cost. Use this for individual video analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video URL to describe. Supports multiple formats: • **Cloudglue platform (default)**: `cloudglue://files/file-id` - Use file ID from list_videos • **YouTube URLs**: `https://www.youtube.com/watch?v=...` or `https://youtu.be/...` • **Public HTTP video URLs**: Direct links to MP4 files (e.g., `https://example.com/video.mp4`) • **Data connector URLs** (requires setup in Cloudglue account): - **Dropbox**: Shareable links (`https://www.dropbox.com/scl/fo/...`) or `dropbox://<path>/<to>/<file>` - **Google Drive**: `gdrive://file/<file_id>` - **Zoom**: Meeting UUID (`zoom://uuid/QFwZYEreTl2e6MBFSslXjQ%3D%3D`) or Meeting ID (`zoom://id/81586198865`) See https://docs.cloudglue.dev/data-connectors/overview for data connector setup. | |
| collection_id | No | Optional collection ID to fetch previously extracted media descriptions from a media-descriptions collection (saves time and cost). Use collection ID from list_collections without. When provided with a Cloudglue URL, this tool retrieves existing descriptions that were previously extracted and stored in the specified collection. Only works with Cloudglue URLs. | |
| page | No | Page number for paginated results. Each page contains 5 minutes of video content. Defaults to 0 (first page). Use this to retrieve descriptions for specific time segments of longer videos. Increase the page number to get the next 5-minute segment. Works in conjunction with start_time_seconds - page 0 starts from start_time_seconds, page 1 starts 5 minutes after start_time_seconds, etc. | |
| start_time_seconds | No | Starting time offset in seconds for pagination. Defaults to 0 (start of video). Use this to begin pagination from a specific time index in the video. Combined with the page parameter, this allows you to navigate to specific time ranges: start_time_seconds sets the base offset, and page increments in 5-minute segments from that offset. For example, start_time_seconds=600 (10 minutes) with page=0 returns content from 10-15 minutes, page=1 returns 15-20 minutes, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic check for existing descriptions before creation, aligning with idempotentHint=true. Adds behavioral details on pagination and cost optimization beyond annotations, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then details. Slightly verbose but each sentence adds necessary context, covering URL types, pagination, and collection workflow. Could be trimmed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers pagination and collection reuse well, but lacks details on the output format (structure of descriptions) and mentions 'different analysis levels' without elaboration. Without an output schema, the description should provide more on return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds value by explaining the combined use of start_time_seconds and page for precise navigation, and the purpose of collection_id, going beyond the schema's inline descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Gets comprehensive video descriptions' with specific verb+resource. Distinguishes from sibling tools like get_video_metadata and extract_video_entities by focusing on descriptions with pagination and cost optimization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies 'Use this for individual video analysis' and explains when to use collection_id to save time/cost. Lacks explicit alternatives or when-not-to-use guidance, but context is clear from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_video_entitiesAIdempotent
Extract structured data and entities from videos with intelligent cost optimization and pagination support. Two modes: (1) Fetch existing entities from an entities collection by providing collection_id (prompt not required) - retrieves previously extracted entities stored in that collection for the given Cloudglue file, returns error if not found, (2) Extract new entities by providing prompt (collection_id optional) - automatically checks for existing extractions before creating new ones. Supports YouTube URLs, Cloudglue URLs, and direct HTTP video URLs. The quality of results depends heavily on your prompt specificity. Pagination is supported - use the 'page' parameter to retrieve specific pages of segment-level entities. Use this for individual video analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video URL to extract entities from. Supports multiple formats: • **Cloudglue platform (default)**: `cloudglue://files/file-id` - Use file ID from list_videos • **YouTube URLs**: `https://www.youtube.com/watch?v=...` or `https://youtu.be/...` • **Public HTTP video URLs**: Direct links to MP4 files (e.g., `https://example.com/video.mp4`) • **Data connector URLs** (requires setup in Cloudglue account): - **Dropbox**: Shareable links (`https://www.dropbox.com/scl/fo/...`) or `dropbox://<path>/<to>/<file>` - **Google Drive**: `gdrive://file/<file_id>` - **Zoom**: Meeting UUID (`zoom://uuid/QFwZYEreTl2e6MBFSslXjQ%3D%3D`) or Meeting ID (`zoom://id/81586198865`) See https://docs.cloudglue.dev/data-connectors/overview for data connector setup. | |
| prompt | No | Detailed extraction prompt that guides what entities to find. Examples: 'Extract speaker names, key topics, and action items', 'Find product names, prices, and features mentioned', 'Identify companies, people, and technologies discussed'. Be specific about the data structure you want. Required when collection_id is not provided. | |
| collection_id | No | Optional collection ID to fetch previously extracted entities from an entities collection (saves time and cost). Use collection ID from list_collections. When provided with a Cloudglue URL, this tool retrieves existing entity extractions that were previously extracted and stored in the specified collection. Only works with Cloudglue URLs. When provided, prompt is not required and entities are fetched from the collection. | |
| page | No | Page number for paginated segment-level entities. Each page contains 25 segment entities. Defaults to 0 (first page). Use this to retrieve segment entities for specific pages of longer videos. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true, and the description reinforces this by stating the tool automatically checks for existing extractions. It also discloses error behavior (returns error if not found) and mentions cost optimization. However, it does not describe output structure or comprehensive error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is clear and front-loaded but somewhat verbose, with redundancy on pagination (schema already covers it). The 'intelligent cost optimization' phrase is vague and adds little value. About 150 words, could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the two modes and pagination well, but lacks any description of the output format or structure. Since no output schema exists, the description should at least hint at what the agent will receive, e.g., entity types or JSON structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions (100% coverage), and the description adds meaningful context: URL examples and reference, prompt examples, collection_id mode explanation, and page segment details. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts structured data and entities from videos, with two distinct modes (fetch existing vs extract new) and supported URL types. It explicitly says 'Use this for individual video analysis,' distinguishing it from sibling tools like describe_video or search_video_moments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode based on whether collection_id or prompt is provided, and mentions pagination. However, it lacks explicit guidance on when not to use this tool or comparison with sibling tools beyond a brief final sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_metadataARead-onlyIdempotent
Get comprehensive technical metadata about a Cloudglue video file including duration, resolution, file size, processing status, and computed statistics. Use this when you need video specifications, file details, or processing information rather than content analysis. Different from content-focused tools like describe_video.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | Video file ID from Cloudglue without the 'cloudglue://files/' prefix. Use the 'id' field from list_videos results (e.g., use 'abc123' not 'cloudglue://files/abc123'). This gives technical details about the video file itself. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint true. The description adds context about the kind of data returned (technical metadata, processing status) without contradicting annotations. It could mention pagination or error behavior but is still strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no extraneous information. It front-loads the core purpose and includes usage guidance efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter, no output schema, but strong annotations, the description adequately explains the tool's scope and differentiates it. It lists example metadata fields, providing a clear picture of output without needing full schema. A minor gap is that it doesn't explicitly state that the output is a JSON object, but the example fields compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the file_id parameter detailed in the schema itself. The main description does not add additional parameter meaning beyond what the schema provides, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves technical metadata about a Cloudglue video file, listing specific attributes (duration, resolution, etc.). It distinguishes from sibling tools like describe_video by specifying it is for technical specs rather than content analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use the tool ('Use this when you need video specifications...') and contrasts it with content-focused tools, citing describe_video as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsARead-onlyIdempotent
Discover available video collections and their basic metadata. Use this first to understand what video collections exist before using other collection-specific tools. Shows collection IDs needed for other tools, video counts, and collection types. For collections with type 'media-descriptions', use describe_video with the collection_id parameter to fetch previously extracted descriptions for a given Cloudglue file. For collections with type 'entities', use extract_video_entities with the collection_id parameter to fetch previously extracted entities for a given Cloudglue file. Results are paginated in 25 collections per page - use the 'page' parameter to retrieve specific pages (page 0 = first 25 collections, page 1 = next 25 collections, etc.). Each response includes page and total_pages fields.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results. Each page contains 25 collections. Defaults to 0 (first page). Use this to retrieve collections for specific pages. Increase the page number to get the next 25 collections. | |
| collection_type | No | Filter by collection type: 'media-descriptions' or 'entities'. Leave empty to see all types. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds pagination behavior (25 per page, page/total_pages in response) and relationships to other tools. It does not contradict annotations but could detail the metadata fields more.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, front-loaded with the main purpose, then sequentially covers usage order, type-specific guidance, and pagination details. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description partially fills the gap by mentioning page and total_pages fields, but does not fully specify the structure of each collection item beyond IDs, counts, and types. Still reasonably complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage baseline at 3, the description adds significant context: explains pagination semantics for page parameter (page 0 = first 25, etc.) and clarifies collection_type values with usage directives (media-descriptions -> describe_video, entities -> extract_video_entities).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool discovers available video collections and their basic metadata, and distinguishes it from siblings by advising to use this first. It explicitly mentions the collection IDs needed for other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance ('Use this first'), links to alternative tools for different collection types (describe_video, extract_video_entities), and explains pagination with the page parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_videosARead-onlyIdempotent
Browse and search video metadata with powerful filtering options. Use this to explore available videos, find specific content by date, or see what's in a collection. Returns essential video info like duration, filename, and IDs needed for other tools. Results are paginated in 25 videos per page - use the 'page' parameter to retrieve specific pages (page 0 = first 25 videos, page 1 = next 25 videos, etc.). Each response includes page and total_pages fields. Use date filtering to focus on specific time periods, then paginate within those results.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results. Each page contains 25 videos. Defaults to 0 (first page). Use this to retrieve videos for specific pages. Increase the page number to get the next 25 videos. | |
| collection_id | No | Filter to videos in a specific collection. Use the collection ID from list_collections. Leave empty to see all user videos. | |
| created_after | No | Only show videos created after this date. Format: YYYY-MM-DD (e.g., '2024-01-15'). Useful for finding recent content. | |
| created_before | No | Only show videos created before this date. Format: YYYY-MM-DD (e.g., '2024-01-15'). Useful for filtering to older content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive. The description adds valuable details about pagination (25 per page, page/total_pages fields) and response content, which exceeds what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient with no redundant sentences. It front-loads the main purpose and filters, then explains pagination. A minor trade-off for completeness, but very well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains response fields (page, total_pages, duration, filename, IDs) and usage pattern. It covers filtering and pagination, making it complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, but the description adds context beyond field descriptions, such as pagination mechanics (page 0 = first 25) and the presence of total_pages in response. This extra guidance aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for browsing and searching video metadata, and distinguishes itself from sibling tools like describe_video and get_video_metadata by focusing on listing multiple videos with filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use (explore, find by date, collection), and hints at pagination workflow. However, it does not explicitly state when not to use or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieve_summariesARead-onlyIdempotent
Bulk retrieve video summaries and titles from a collection to quickly understand its content and themes. Works with both rich-transcripts and media-descriptions collections. Use this as your first step when analyzing a collection - it's more efficient than retrieving full descriptions and helps you determine if you need more detailed information. Perfect for getting a high-level overview of what's in a collection, identifying common topics, or determining if a collection contains relevant content for a specific query. For single videos, use describe_video instead. For targeted content discovery, consider using search_video_summaries (for relevant videos) or search_video_moments (for specific segments) instead of browsing through all summaries. Results are paginated in 25 summaries per page - use the 'page' parameter to retrieve specific pages (page 0 = first 25 summaries, page 1 = next 25 summaries, etc.). Each response includes page and total_pages fields. For comprehensive collection analysis, paginate through all summaries by incrementing the page parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | Collection ID from list_collections. Works with both rich-transcripts and media-descriptions collections. | |
| page | No | Page number for paginated results. Each page contains 25 summaries. Defaults to 0 (first page). Use this to retrieve summaries for specific pages. Increase the page number to get the next 25 summaries. | |
| created_after | No | Only include summaries created after this date (YYYY-MM-DD format, e.g., '2024-01-15'). Useful for analyzing recent additions to a collection. | |
| created_before | No | Only include summaries created before this date (YYYY-MM-DD format, e.g., '2024-01-15'). Useful for analyzing historical content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and idempotent, and the description adds pagination details (25 per page, page parameter, page and total_pages in response). This fully discloses behavior beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: first sentence states purpose, then usage guidelines, alternatives, and pagination details. Every sentence adds distinct value; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all key aspects: purpose, when to use, alternatives, pagination behavior, date filtering, and response fields (page, total_pages). No output schema, but the description sufficiently informs about return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds value by explaining the 'first step' strategy for collection analysis and reinforcing pagination mechanics, going slightly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: bulk retrieving video summaries and titles from a collection. It distinguishes itself from siblings like describe_video (single videos) and search_video_summaries (targeted content discovery), leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'first step when analyzing a collection' and 'more efficient than retrieving full descriptions'. Also specifies when not to use it (for single videos or targeted search) and names alternative tools (describe_video, search_video_summaries, search_video_moments).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_video_momentsARead-onlyIdempotent
AI-powered semantic search to find specific video segments within a collection. Uses Cloudglue's search API to locate relevant moments across speech, on-screen text, and visual descriptions. Returns structured search results with timestamps and metadata. Perfect for finding needle-in-haystack spoken and visual content, specific discussions, or thematic analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | Collection ID from list_collections without the 'cloudglue://collections/' prefix (e.g., use 'abc123' not 'cloudglue://collections/abc123'). Works with both rich-transcripts and entities collections. | |
| query | Yes | Natural language search query to find relevant video moments. Examples: 'Find discussions about pricing strategies', 'Show me customer complaint segments', 'Locate product demo portions', 'Find mentions of specific competitors'. Be specific about what you're looking for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations (e.g., API used, return format with timestamps and metadata). Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's behavioral disclosure is adequate and consistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences: one on what it does, one on how it works, and one on when to use it. No wasted words; front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a read-only search tool: it explains inputs, semantic search capability, and output structure (timestamps, metadata). Without an output schema, it sufficiently covers return values, though more detail on response fields could improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed descriptions for both parameters. The description adds value by explaining the prefix convention for collection_id and providing example queries, enhancing understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs 'AI-powered semantic search to find specific video segments,' using specific verb+resource, and the examples distinguish it from siblings like search_video_summaries by focusing on precise moments across speech, text, and visual content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases like 'needle-in-haystack spoken and visual content, specific discussions, or thematic analysis,' but does not explicitly mention when to avoid using it or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_video_summariesARead-onlyIdempotent
AI-powered semantic search to find relevant videos within a collection. Uses Cloudglue's search API to locate videos based on their content, summaries, and metadata. Works with rich-transcripts and media-descriptions collections. Returns structured search results with video information and relevance scores. Perfect for discovering videos by topic, theme, or content similarity.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | Collection ID from list_collections without the 'cloudglue://collections/' prefix (e.g., use 'abc123' not 'cloudglue://collections/abc123'). Works with rich-transcripts and media-descriptions collections. | |
| query | Yes | Natural language search query to find relevant videos. Examples: 'Find videos about pricing strategies', 'Show me customer complaint videos', 'Locate product demo videos', 'Find videos mentioning specific competitors'. Be specific about what you're looking for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and openWorld hints. The description adds context about the API used (Cloudglue's search API), valid collections, and return format (structured results with relevance scores), which enhances understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is five sentences, front-loaded with purpose, and each sentence adds value (purpose, API, collections, return type, use case). No redundancy or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, collections, and return type, but lacks details on result fields (e.g., video IDs, scores) and pagination. Given no output schema, the agent has limited information to parse results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds general context but does not provide new parameter-level details beyond the schema's explanations of collection_id prefix removal and query examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs semantic search to find relevant videos within a collection, specifying the verb ('search') and resource ('videos'). It differentiates from siblings like list_videos and retrieve_summaries, but does not explicitly contrast with search_video_moments, a similar sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for discovering videos by topic, theme, or content similarity, but provides no explicit when-to-use or when-not-to-use guidance relative to sibling tools like search_video_moments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segment_video_camera_shotsAIdempotent
Segment videos into camera shots with intelligent cost optimization. Automatically checks for existing shot segmentation jobs before creating new ones. Returns timestamps and metadata for each camera shot detected. Supports Cloudglue URLs and direct HTTP video URLs. Note: YouTube URLs are not supported for segmentation.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video URL to segment into camera shots. Supports multiple formats: • **Cloudglue platform (default)**: `cloudglue://files/file-id` - Use file ID from list_videos • **Public HTTP video URLs**: Direct links to MP4 files (e.g., `https://example.com/video.mp4`) • **Data connector URLs** (requires setup in Cloudglue account): - **Dropbox**: Shareable links (`https://www.dropbox.com/scl/fo/...`) or `dropbox://<path>/<to>/<file>` - **Google Drive**: `gdrive://file/<file_id>` - **Zoom**: Meeting UUID (`zoom://uuid/QFwZYEreTl2e6MBFSslXjQ%3D%3D`) or Meeting ID (`zoom://id/81586198865`) Note: YouTube URLs are not supported for camera shot segmentation. See https://docs.cloudglue.dev/data-connectors/overview for data connector setup. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds context about automatically checking for existing shot segmentation jobs before creating new ones, reinforcing idempotency. However, it does not disclose potential side effects, cost implications, or rate limits beyond what annotations provide, so the description adds only modest value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at four sentences, each serving a clear purpose: stating the main function, mentioning auto-checking, describing output, and listing URL constraints. It is front-loaded with the core action and avoids unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter with full schema coverage, the description adequately covers usage context: supported URL types, output summary, and idempotent behavior. It lacks details on error handling or output structure, but the absence of an output schema is mitigated by the brief mention of 'timestamps and metadata'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already provides exhaustive detail about the 'url' parameter, including examples and format options. The tool description reiterates some of this information (supported URLs, YouTube exclusion) but does not add new semantic meaning beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Segment videos into camera shots with intelligent cost optimization.' It specifies the action (segment), the resource (videos into camera shots), and the output (timestamps and metadata). This distinguishes it from the sibling tool 'segment_video_chapters,' which segments by chapters instead of shots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool, including supported URL formats and a clear exclusion: 'YouTube URLs are not supported for segmentation.' It also mentions automatic checking for existing jobs, implying idempotent usage. However, it does not directly compare with alternatives like segment_video_chapters or describe scenarios where one segmentation type is preferred over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segment_video_chaptersAIdempotent
Segment videos into chapters with intelligent cost optimization. Automatically checks for existing chapter segmentation jobs before creating new ones. Returns timestamps and descriptions for each chapter detected. Supports all URL formats: Cloudglue URLs, YouTube URLs, public HTTP video URLs, and data connector URLs (Dropbox, Google Drive, Zoom).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video URL to segment into chapters. Supports multiple formats: • **Cloudglue platform (default)**: `cloudglue://files/file-id` - Use file ID from list_videos • **YouTube URLs**: `https://www.youtube.com/watch?v=...` or `https://youtu.be/...` • **Public HTTP video URLs**: Direct links to MP4 files (e.g., `https://example.com/video.mp4`) • **Data connector URLs** (requires setup in Cloudglue account): - **Dropbox**: Shareable links (`https://www.dropbox.com/scl/fo/...`) or `dropbox://<path>/<to>/<file>` - **Google Drive**: `gdrive://file/<file_id>` - **Zoom**: Meeting UUID (`zoom://uuid/QFwZYEreTl2e6MBFSslXjQ%3D%3D`) or Meeting ID (`zoom://id/81586198865`) See https://docs.cloudglue.dev/data-connectors/overview for data connector setup. | |
| prompt | No | Custom prompt to guide chapter detection. Describe what types of chapters or segments you want to identify. Examples: 'Identify main topics and transitions', 'Find scene changes and key moments', 'Segment by speaker changes and topics'. Leave empty to use default chapter detection. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic job checking (supports idempotency hint), cost optimization, and return of timestamps/descriptions. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and front-loaded with main purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all key aspects: purpose, supported URL types, duplicate prevention, and return values. Adequate given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with detailed descriptions. The tool description adds context about cost optimization and duplicate checking, providing extra value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool segments videos into chapters with cost optimization. Distinguishes from sibling tools like segment_video_camera_shots by specifying chapter segmentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use (for chapter segmentation) and mentions duplicate detection. However, does not explicitly state when not to use or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v0.3.1- First observed
describe_video - First observed
extract_video_entities - First observed
get_video_metadata - First observed
list_collections - First observed
list_videos - First observed
retrieve_summaries - First observed
search_video_moments - First observed
search_video_summaries - First observed
segment_video_camera_shots - First observed
segment_video_chapters
TDQS
Each tool targets a distinct video analysis operation: description, entity extraction, metadata, collections, video listing, summaries, semantic search (moments vs summaries), and segmentation (shots vs chapters). Descriptions clearly differentiate purposes.
All tools follow a consistent verb_noun pattern (describe_video, list_collections, search_video_moments, etc.), making it predictable for agents to infer tool functions.
10 tools is well-scoped for a video analysis server, covering core operations without redundancy or excessive granularity.
Covers essential analysis workflows: metadata, description, entities, search, segmentation. Minor gaps like direct transcript retrieval or video upload are not critical for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage your Vidalytics videos and analytics from your AI assistant.
Connects AI assistants to CloudQuell multi-cloud and AI cost, savings, anomaly, and budget data.
Turn long videos into short, captioned viral clips from your AI assistant. 28 tools, OAuth.
SubDownload exposes YouTube as an MCP-native data source. Connect via OAuth and your AI agent can summarize videos, fetch full transcripts (even for videos with no captions, via AI ASR), search across channels, and save everything into a private knowledge base. Works with Claude, ChatGPT, Cursor, and 40+ MCP clients. Free credits on signup, no card required.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables AI assistants to analyze and summarize YouTube videos by extracting captions, subtitles, and comprehensive metadata including title, description, and duration in multiple languages.14560MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to access YouTube video data including information retrieval, captions/transcripts, AI-powered summaries, screenshots, comments, and video search through the VidCap API.289MIT
- AlicenseAqualityAmaintenanceConnect AI assistants to YouTube: search, transcripts, metadata, and more.191046MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to search YouTube, fetch transcripts, and get AI summaries of videos without API keys.312MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/cloudglue/cloudglue-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server