Vidalytics MCP

Vidalytics MCP

@vidalyticsJavaScriptMITUpdated 2 days ago

Manage your Vidalytics videos and analytics from your AI assistant.

Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

@vidalytics/mcp

npm version CI license

One-command setup that connects your AI coding assistant to Vidalytics video analytics data via the Model Context Protocol.

Works with Claude (CLI & Desktop), Windsurf, Cursor, and any other MCP-compatible client.

Setup

npx @vidalytics/mcp install

That's it. The installer detects which AI clients you have installed, lets you pick which ones to configure, and wires them up. Restart the client — a browser window will open for OAuth authorization on first use.

Cursor

Add Vidalytics to Cursor

Or via the installer:

npx @vidalytics/mcp install --client cursor

Or manually — add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "vidalytics": {
      "url": "https://api.vidalytics.com/public/v1/mcp"
    }
  }
}

Restart Cursor. On first use a browser window opens for OAuth authorization with your Vidalytics account — no API key or environment variables to set.

What it does

  • Detects installed MCP clients (Claude CLI, Claude Desktop, Windsurf, Cursor) by checking config files, app directories, binaries in $PATH, and app bundles (e.g. /Applications on macOS)
  • Presents an interactive checklist (detected clients pre-selected) so you configure exactly the ones you want — or pick them non-interactively with --client
  • Adds Vidalytics as an MCP server in each selected client's config
  • Verifies after writing: the config is valid and the MCP server is reachable
  • Non-interactive terminals (CI) and any explicit selection flag (--client, --all, --yes) skip the checklist and behave predictably

Available tools

Once connected, your AI assistant gains access to the tools below.

Many write tools (settings, chapters, captions, tags, CTAs, pause screens, thumbnails) save changes to the video's draft — call publish_video to make them live. Write tools require a read+write authorization; a read-only connection returns SCOPE_INSUFFICIENT.

Previewing changes. update_video_settings accepts dryRun to validate and return a before/after diff without saving. The other draft-based writes have no dryRun; preview them by saving to the draft and reading it back with the matching get_*/list_* tool (e.g. get_video_chapters, get_video_tags, get_video_captions) before you publish_video. A delete that only removes an unpublished draft edit is likewise reversible until publish; a delete against already-published content takes effect on the next publish.

Videos & metadata

ToolDescription
set_user_contextMUST be called before any other tool to enable analytics
list_videosList videos with pagination
get_videoGet video details
get_video_by_embed_guidFind a video by its embed GUID
update_videoUpdate a video's title or folder
get_video_embedGet the embed code and configuration
get_video_settingsGet playback settings (autoplay, controls, etc)
update_video_settingsUpdate playback settings as a draft (dryRun validates and returns the diff only)
duplicate_videoDuplicate a video and publish the copy
publish_videoPublish a video's pending draft settings

Analytics

ToolDescription
get_video_statsViews, play rate, watch time, conversions
get_video_dropoffAudience retention by percentage
get_video_percentage_watched% of viewers who reached each point
get_video_live_metricsReal-time active viewers and watch rate
get_videos_stats_batchStats for up to 30 videos at once
get_videos_timelineTimeline stats for up to 5 videos

Chapters, captions & tags

ToolDescription
get_video_chaptersList a video's chapters and whether they're enabled
set_video_chaptersReplace a video's chapter markers (draft)
get_video_captionsList a video's caption tracks
add_video_captionAdd or replace a caption track from provided text (draft)
delete_video_captionRemove a caption language
get_video_tagsList a video's tags and custom variables
set_video_tagsSet a video's full tag list (draft)

CTAs & pause screens

ToolDescription
get_video_ctasGet CTAs for a video
create_video_ctaCreate a call-to-action on a video
update_video_ctaUpdate an existing call-to-action on a video
delete_video_ctaDelete a call-to-action from a video
get_video_pause_screensGet pause screens for a video
create_video_pause_screenAdd a pause screen to a video (draft)
update_video_pause_screenUpdate a pause screen on a video (draft)
delete_video_pause_screenRemove a pause screen from a video

Thumbnails

ToolDescription
get_video_thumbnailGet the thumbnail image URL
set_video_thumbnail_from_urlSet a video's thumbnail from a public image URL
set_video_thumbnail_from_frameSet a video's thumbnail from one of its frames
delete_video_thumbnailRemove a custom thumbnail and restore the default

Folders & settings templates

ToolDescription
list_foldersList video folders
create_folderCreate a video folder, optionally nested under another folder
rename_folderRename a video folder
list_settings_templatesList settings templates
create_settings_templateCreate a settings template from a video's current settings
update_settings_templateUpdate a settings template (rename, re-describe, or re-snapshot from a video)
delete_settings_templateDelete a settings template
apply_settings_templateApply a reusable player settings template to a video

Uploads

ToolDescription
upload_video_from_urlUpload a video from a remote URL
get_video_upload_urlGet a signed URL for local file upload
validate_uploadComplete a direct video upload

Account

ToolDescription
get_api_usageGet current API usage and quota
list_connectionsList apps connected to your account
revoke_connectionDisconnect an app or yourself

Options

npx @vidalytics/mcp install [flags]

  --client <names>   Configure only these clients, comma-separated
                     (claude-cli, claude-desktop, windsurf, cursor)
  --all              Configure all known clients, even if not detected
  --config <path>    Also configure a custom config file (repeatable)
  --force            Re-apply even if already configured
  --yes              Skip prompts (configure detected clients)

Run with no flags in an interactive terminal to get a checklist of clients to configure (detected ones are pre-selected; use space to toggle, enter to confirm). --client cursor,windsurf does the same selection non-interactively.

The --config flag can be repeated for multiple files. The target file must follow the { "mcpServers": {} } format used by Claude Desktop, Cursor, and Windsurf — useful for unsupported clients like Zed or VS Code with an MCP plugin.

Troubleshooting

Authorization issues, or need to re-authenticate? Reset the credentials that mcp-remote caches in your home directory, then restart the client:

OSCommand
macOS / Linuxrm -rf ~/.mcp-auth
Windows (CMD)rd /s /q "%USERPROFILE%\.mcp-auth"
Windows (PowerShell)Remove-Item -Recurse -Force "$HOME\.mcp-auth"

MCP Registry

This server is published to the official MCP Registry as com.vidalytics/mcp. It is a remote (streamable-http) server, so registry-aware MCP clients can connect to it directly at:

https://api.vidalytics.com/public/v1/mcp

No API key or environment variables are required — authorization is handled via OAuth on first use.

Requirements

  • Node.js 18+
  • A Vidalytics account

License

MIT