Viddler
Official Viddler MCP: list videos, manage access control, pull proof-of-viewing analytics.
我该使用它吗
质量与安全性
发现(1)
- LOW在 viddler_analytics_account_usage 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"viddler-mcp": {
"url": "https://mcp.viddler.com/mcp"
}
}
}远程端点
https://mcp.viddler.com/mcpstreamable-http它能做什么
工具清单
工具(12)
🟡viddler_feedback_submit(category, message, page_url)
File a feature request, bug report, or general feedback to the Viddler team from inside your MCP client. Goes into the same triage queue as the in-app feedback widget. Use category 'feature' for feature requests (the default intent), 'bug' for problems, 'general' otherwise.
输入模式
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"feature",
"bug",
"general"
],
"description": "Type of feedback. Use 'feature' for feature requests."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "The feedback text (1-2000 characters)."
},
"page_url": {
"type": "string",
"maxLength": 500,
"description": "Optional: the video or page URL this feedback is about."
}
},
"required": [
"category",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_access_set_password(video_id, password)
Gate a video behind a secret password. While protected, playback (including embeds) requires the password and Viddler swaps to a Mux signed-playback id. Returns the updated protection state.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
},
"password": {
"type": "string",
"minLength": 1,
"description": "The secret password viewers must enter."
}
},
"required": [
"video_id",
"password"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴viddler_access_remove_password(video_id)
Turn off password protection for a video. Reverts to the public playback id so the video plays without a password again.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_access_set_custom_url(video_id, custom_url)
Give a video a branded, human-friendly custom URL slug for sharing. Returns the updated video.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
},
"custom_url": {
"type": "string",
"minLength": 1,
"description": "The desired URL slug (must be unique)."
}
},
"required": [
"video_id",
"custom_url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢viddler_analytics_get_views(video_id)
Return view counts and per-view records for a video: total views, remaining/available views, and the viewer log. The core 'who watched' proof-of-viewing data.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪viddler_analytics_account_usage
Return the authenticated account's plan, quota used/remaining, and video count.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢viddler_videos_list
List videos owned by the authenticated account.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_videos_get(video_id)
Fetch the full record for one video: status, playback id, duration, moderation, storage state, protection. Poll this after create_upload until muxPlaybackId is no longer 'pending'.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
}
},
"required": [
"video_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_videos_set_title(video_id, title)
Update a video's title.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
},
"title": {
"type": "string",
"minLength": 1,
"description": "New title."
}
},
"required": [
"video_id",
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_videos_set_description(video_id, description)
Update a video's description.
输入模式
{
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "Video id or uniqueId."
},
"description": {
"type": "string",
"description": "New description."
}
},
"required": [
"video_id",
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_videos_create_upload(title, file_size_bytes)
Step 1 of uploading a video. Returns { uploadId, uploadUrl }. PUT the raw video file bytes to uploadUrl (e.g. `curl -X PUT --upload-file video.mp4 '<uploadUrl>'` — no auth header needed, the URL is pre-signed). Then call viddler_videos_register with the uploadId to create the video record. Files must be at most 1 GB (1073741824 bytes). Free videos must be at most 10 minutes. Requires a videos:write token.
输入模式
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"description": "Optional title to attach to the upload."
},
"file_size_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1073741824,
"description": "Source file byte count for preflight validation. Send when known; omission supports older clients."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡viddler_videos_register(upload_id, title, description, custom_url)
Step 2 of uploading a video: after the file has been PUT to the uploadUrl, call this with the uploadId to create the video record. Returns the video (muxPlaybackId will be 'pending'). Poll viddler_videos_get until muxPlaybackId resolves — processing usually takes under a minute. If title/description are omitted, AI generates them from the video content.
输入模式
{
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"description": "The uploadId returned by viddler_videos_create_upload."
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Optional explicit title."
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "Optional explicit description."
},
"custom_url": {
"type": "string",
"maxLength": 100,
"description": "Optional custom URL slug."
}
},
"required": [
"upload_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据