Skip to main content
Glama

social-video-mcp

MCP server that gives AI agents the ability to play videos from YouTube and TikTok, browse your accounts, and control playback — all through a lightweight mpv player window.

Built for Claude Code and any MCP-compatible client.

https://github.com/user-attachments/assets/08ddb1b3-ed0f-4de3-b465-c0b58ebfa894

Features

Playback — Play videos from YouTube or TikTok in a native mpv window with full remote control:

  • Play, pause, stop, seek

  • Playlist playback with next/prev navigation and shuffle

  • Queue videos without interrupting current playback

  • Audio-only mode for podcasts and music while you code

  • Authenticated playback via browser cookies (age-restricted, private videos)

Smart Recommendations — Ask for similar content based on what's currently playing. Finds related videos and queues them automatically.

Infinite Playlists — TikTok and YouTube Shorts playlists auto-refill as you watch. Never runs out.

YouTube Account — Browse your YouTube account directly from your AI agent:

  • Subscription feed, liked videos, watch later, history

  • List subscribed channels

  • Browse channel uploads and Shorts

  • Search YouTube with personalized results

TikTok — Browse and play TikTok content:

  • Fetch videos from any TikTok user profile

  • Play a user's videos as a continuous playlist

Multi-Browser Support — Switch between Chrome, Firefox, Brave, Edge, Safari, Opera, Chromium, or Vivaldi for cookie-based authentication.

Video Info — Fetch metadata without playing: title, description, chapters, duration, tags, view/like counts.

Related MCP server: yt

Prerequisites

brew install mpv yt-dlp
  • mpv — Lightweight video player

  • yt-dlp — Video stream resolver and cookie extractor

  • A supported browser — Logged into YouTube/TikTok (Chrome, Firefox, Brave, Edge, Safari, Opera, Chromium, Vivaldi)

  • Node.js >= 18

Installation

git clone https://github.com/ronantakizawa/social-video-mcp.git
cd social-video-mcp
npm install
npm run build

Configuration

Add to your Claude Code config (~/.claude.json):

{
  "mcpServers": {
    "social-video": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/social-video-mcp/dist/index.js"]
    }
  }
}

Then restart Claude Code.

Tools

Playback

Tool

Description

play_video

Play a YouTube or TikTok video. Optional timestamp and audio_only mode.

play_audio

Play audio only — no video window. Great for podcasts and music.

play_playlist

Play an entire YouTube playlist. Optional shuffle.

queue_video

Add a video to the queue without interrupting current playback.

pause_video

Toggle pause/resume.

stop_video

Stop playback and close the player window.

seek_video

Seek to an absolute position in seconds.

next_video

Skip to the next video in a playlist.

prev_video

Go back to the previous video in a playlist.

get_status

Get current playback state: title, position, duration, paused.

Smart Features

Tool

Description

play_similar

Find and play/queue videos similar to what's currently playing.

YouTube Account

Tool

Description

get_youtube_feed

Fetch your subscription feed, liked videos, watch later, or history.

get_subscribed_channels

List your subscribed YouTube channels.

get_channel_videos

List recent uploads from a specific channel.

get_channel_shorts

List recent Shorts from a specific channel.

get_subscription_shorts

Fetch recent Shorts from your subscribed channels.

play_shorts

Play Shorts as a continuous auto-advancing playlist.

search_youtube

Search YouTube with personalized results.

TikTok

Tool

Description

get_tiktok_user_videos

Fetch recent videos from a TikTok user profile.

play_tiktok_user

Play a TikTok user's videos as an infinite continuous playlist.

Settings

Tool

Description

set_browser

Switch browser for cookie auth (chrome, firefox, brave, edge, safari, opera, chromium, vivaldi).

get_browser

Check which browser is currently active.

get_video_info

Fetch full video metadata from YouTube or TikTok.

How It Works

  • Playback: Spawns mpv with --input-ipc-server for JSON IPC control over a Unix socket. All playback commands (pause, seek, next/prev) are sent through this socket.

  • Data Fetching: Calls yt-dlp directly with -J --flat-playlist --cookies-from-browser <browser> to fetch structured JSON from video platforms.

  • Authentication: Reads cookies from your browser's local storage via yt-dlp's --cookies-from-browser flag. No OAuth setup required — if you're logged into a platform in your browser, it just works.

  • Auto-Refill: A background monitor watches playlist position and fetches more content when running low, appending via mpv's loadfile append IPC command.

Platform Support

Feature

YouTube

TikTok

Play single video

Yes

Yes

User profile feed

Yes

Yes

Account feeds

Yes (subs, liked, history)

No

Search

Yes

No

Shorts

Yes

N/A

Queue management

Yes

Yes

Audio-only

Yes

Yes

Smart recommendations

Yes

Yes

Example Usage

> Play my subscription feed
> Search YouTube for "rust programming tutorials" and play the first result
> Show me the latest TikToks from @nba
> Play TikTok videos from @khaby.lame
> Queue this video without stopping what's playing: <url>
> Play similar videos to what's on now
> Just play the audio, I don't need video
> Switch to Firefox for cookies
> What chapters does this video have? Then skip to chapter 3

License

MIT

Available Tools

23 tools
get_browserB

Check which browser is currently being used for cookie-based authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It adds valuable context about cookie-based authentication but fails to describe the return format, possible values, or whether the check operation has any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste. Information is front-loaded with the action verb and key resource immediately stated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema exists, the description should indicate the return value format (string identifier, object, etc.). It mentions checking the browser but doesn't specify what information is returned, leaving a gap for a tool with otherwise low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, establishing a baseline of 4. The description correctly implies no arguments are needed to perform the check.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Check' and identifies the resource 'browser' used for 'cookie-based authentication.' It clearly distinguishes from video playback siblings, though it doesn't explicitly differentiate from set_browser.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives, or its relationship to set_browser. No prerequisites or conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_channel_shortsA

List recent Shorts from a specific YouTube channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_urlYesYouTube channel URL (e.g. https://www.youtube.com/@ChannelName)
limitNoMax shorts to return (default 15)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'recent' (temporal scope), but lacks critical behavioral details: return format/schema, pagination behavior, authentication requirements, rate limits, or error handling (e.g., private channels).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient sentence with zero waste. Front-loaded with action verb 'List', followed by temporal qualifier 'recent', content type 'Shorts', and target 'specific YouTube channel'. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple 2-parameter tool with complete input schema documentation. However, lacking an output schema, the description omits what data structure is returned (URLs, metadata, etc.), leaving a minor gap in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema fully documents both parameters (channel_url format and limit constraints). The description adds minimal semantic value beyond the schema, meeting the baseline expectation when structured documentation is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'List' with clear resource 'Shorts' and scope 'specific YouTube channel'. It effectively distinguishes from siblings: 'Shorts' differentiates from get_channel_videos (regular videos), and 'specific channel' differentiates from get_subscription_shorts (subscriptions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through specificity (Shorts vs regular videos, specific channel vs subscriptions), but lacks explicit when-to-use guidance or explicit comparison to alternatives like get_channel_videos or get_subscription_shorts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_channel_videosB

List recent video uploads from a specific YouTube channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_urlYesYouTube channel URL (e.g. https://www.youtube.com/@ChannelName)
limitNoMax videos to return (default 15)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal context. It does not specify the timeframe for 'recent' uploads, describe the return structure (e.g., metadata fields, pagination), mention rate limits, or indicate authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant words. It is appropriately front-loaded with the action and resource, making it easy to scan and understand immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two well-documented parameters and no output schema, the description is minimally adequate. However, given the absence of annotations and output schema, the description should ideally clarify the return format or data structure to be considered complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'channel_url' and 'limit' fully documented in the input schema. The description adds no additional parameter semantics beyond the schema, but given the high coverage, it meets the baseline expectation without penalty.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a clear verb ('List') and resource ('recent video uploads from a specific YouTube channel'), making the basic function unambiguous. However, it does not explicitly differentiate from the sibling tool 'get_channel_shorts' or clarify what constitutes 'recent'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to select this tool versus alternatives like 'get_channel_shorts' (for Shorts content), 'search_youtube' (for search queries), or 'get_video_info' (for single video details). No prerequisites or conditions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusA

Get the current playback status: title, position, duration, and pause state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden. It compensates for the missing output schema by listing the returned data structure, but omits behavioral details such as what happens when nothing is playing, cache freshness, or if this requires an active session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient sentence that front-loads the action ('Get') and immediately specifies the return payload. No redundant words or structural waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple state-retrieval tool with no input parameters, the description is adequate. It compensates for the lack of output schema by documenting the return fields, though it could note the scope (current player vs specific video).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty. Per the evaluation rules, zero-parameter tools receive a baseline score of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves 'playback status' and specifically enumerates the returned fields (title, position, duration, pause state). This effectively distinguishes it from action-oriented siblings like play_video, pause_video, and seek_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description implies this is a query tool versus the command siblings (play, pause, seek), it lacks explicit guidance on when to call this versus get_video_info or whether it should be polled or called on demand.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_subscribed_channelsA

List your subscribed YouTube channels using Chrome cookies.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax channels to return (default 30)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and successfully discloses the Chrome cookies dependency (critical auth requirement). However, it lacks disclosure of error handling, return format, or what happens when cookies are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is perfectly front-loaded with the action ('List') and contains zero waste—every word ('your', 'subscribed', 'using Chrome cookies') adds essential context about scope and mechanism.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter input (100% schema coverage) but absence of an output schema, the description adequately covers the operation but leaves a gap by not describing what channel data is returned (IDs, names, URLs, etc.).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'limit' parameter is fully documented), establishing the baseline score. The description itself does not add parameter semantics, but none are needed given complete schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('List'), clear resource ('subscribed YouTube channels'), and distinguishes from siblings by specifying 'your' subscriptions and the 'Chrome cookies' authentication method—differentiating it from general channel queries like get_channel_videos or search_youtube.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage scenarios through 'subscribed' and 'Chrome cookies' (suggesting personal account access), but provides no explicit guidance on when to use this versus alternatives like get_youtube_feed or prerequisites for Chrome setup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_subscription_shortsA

Fetch recent Shorts from your subscribed YouTube channels. Pulls your subscriptions, then grabs the latest Shorts from each.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_channelsNoHow many subscribed channels to sample (default 15)
shorts_per_channelNoShorts to fetch per channel (default 3)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It adds valuable context about the two-step implementation ('Pulls your subscriptions, then grabs...'), revealing the tool aggregates data across multiple sources. However, it omits auth requirements, rate limits, error handling for users with no subscriptions, and return format details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The first sentence front-loads the primary action, while the second efficiently describes the implementation workflow without unnecessary verbosity. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 optional parameters, simple concept) and 100% schema coverage, the description is reasonably complete. It explains what content is returned (Shorts). However, with no output schema provided, it could improve by briefly indicating the return structure (e.g., 'returns a list of Shorts videos').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing complete documentation for max_channels and shorts_per_channel. The description reinforces the 'subscribed channels' concept aligning with max_channels, but does not add syntax details, validation rules, or usage examples beyond what the schema already provides. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb (Fetch) + resource (Shorts) + scope (from subscribed YouTube channels). It clearly distinguishes from sibling get_channel_shorts by specifying 'subscribed' channels, and from get_subscribed_channels by emphasizing it returns Shorts content rather than channel metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the phrase 'your subscribed YouTube channels,' suggesting this is for bulk-fetching across subscriptions rather than specific channels. However, it lacks explicit when-to-use guidance or named alternatives (e.g., it does not state 'for specific channels, use get_channel_shorts instead').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tiktok_user_videosA

Fetch recent videos from a TikTok user profile. Uses Chrome cookies for authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesTikTok username (with or without @)
limitNoMax videos to return (default 15)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully reveals the authentication mechanism (Chrome cookies), but omits other behavioral traits like error handling when cookies are missing, rate limiting, whether the operation is read-only, or if it spawns browser windows.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient sentences with zero waste. The first sentence front-loads the core purpose, while the second provides essential authentication context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema) and the presence of sibling alternatives, the description covers the essential functional scope and critical authentication dependency. It could be improved by briefly indicating the return value type (video metadata/list).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for both parameters (username format and limit constraints). Since the schema fully documents the parameters, the baseline score of 3 is appropriate; the description implies these parameters through the action statement but doesn't need to duplicate schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('Fetch'), resource ('recent videos'), and scope ('from a TikTok user profile'). It clearly distinguishes from sibling tools like 'play_tiktok_user' (fetch vs. play) and YouTube-related tools (TikTok vs. YouTube channels).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the authentication requirement ('Uses Chrome cookies'), which is a crucial prerequisite. However, it lacks explicit guidance on when to use this versus 'play_tiktok_user' or 'get_video_info', leaving the selection criteria implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_video_infoA

Fetch full metadata for a YouTube or TikTok video without playing it: title, description, chapters, duration, channel, upload date, view count, tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube or TikTok video URL

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations or output schema, the description carries full behavioral burden and compensates well by enumerating return fields (title, description, chapters, duration, etc.). Implicitly indicates read-only operation via 'Fetch,' though explicit safety/disclaimers would strengthen further.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, dense sentence front-loaded with the action. Every clause earns its place: platform scope, non-playback constraint, and comprehensive return field enumeration. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Compensates effectively for missing output schema by listing specific metadata fields returned. Would benefit from noting response format (JSON structure) or rate limit considerations, but field enumeration is sufficient for basic invocation decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the URL parameter fully described as 'YouTube or TikTok video URL.' Description does not add parameter-specific semantics beyond the schema, which warrants the baseline score for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity with 'Fetch full metadata' (verb + resource) and explicit platform scope (YouTube/TikTok). The phrase 'without playing it' effectively distinguishes from playback siblings like play_video, pause_video, and seek_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage guidance through 'without playing it,' suggesting use when metadata is needed without playback. However, lacks explicit when-not-to-use guidance or distinction from sibling metadata tools like get_channel_videos or search_youtube.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_youtube_feedA

Fetch videos from your YouTube account using Chrome cookies. Supports: subscriptions, liked, watch_later, history.

ParametersJSON Schema
NameRequiredDescriptionDefault
feedYesWhich feed to fetch
limitNoMax number of videos to return (default 15)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden and successfully discloses the critical authentication mechanism ('using Chrome cookies'). However, it omits other behavioral traits: return format (video metadata structure), side effects (whether a browser window opens), error conditions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient: two sentences convey purpose, authentication method, and supported feed types. Every element earns its place—the 'Chrome cookies' detail is critical for agent context, and the colon-delimited list efficiently maps to the feed parameter enum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a 2-parameter tool with complete input schema coverage. However, given the absence of an output schema and annotations, the description should ideally describe the return structure (e.g., list of videos with titles/URLs) or error scenarios to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema fully documents both parameters. The description reinforces the 'feed' enum values by listing them (subscriptions, liked, watch_later, history), providing helpful confirmation, but doesn't add syntax details or usage examples beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Fetch videos from your YouTube account' with specific feed types (subscriptions, liked, watch_later, history). The phrase 'your YouTube account' effectively distinguishes this from sibling tools like get_channel_videos or search_youtube that handle public content, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by specifying 'your YouTube account' and listing personal feed types, suggesting this is for authenticated/personal data retrieval. However, it lacks explicit when-to-use guidance or named alternatives (e.g., 'use search_youtube for public queries instead').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

next_videoA

Skip to the next video in the current playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but omits behavioral details: what happens if no playlist is active, if at the end of the playlist, or whether the action is idempotent. Only mentions the playlist context requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence with action verb front-loaded. No redundant words or wasted space. Perfectly sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is nearly complete. Minor gap regarding error states or end-of-playlist behavior, but adequate for a simple stateless navigation command.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters. Per evaluation rules, zero-parameter tools receive a baseline score of 4. The description correctly implies no configuration is needed for this navigation action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('Skip to'), clear resource ('next video'), and scope ('in the current playlist'). It effectively distinguishes from siblings like prev_video, play_video, and play_similar by specifying the playlist-navigation context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'current playlist' implies a prerequisite state (active playlist session), but lacks explicit guidance on when NOT to use it (e.g., no active playlist) or alternatives for non-playlist contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pause_videoA

Toggle pause/resume on the currently playing video.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It successfully explains the toggle behavior (pausing if playing, resuming if paused), but omits error handling (what happens if no video is active), return values, and side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of a single 7-word sentence that is front-loaded with the action ('Toggle pause/resume'). Every word earns its place; there is no repetition of the tool name or redundant schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (state toggle with no inputs/outputs) and lack of annotations, the description covers the essential function. However, it lacks completeness regarding error conditions (no active video), return values, and explicit differentiation from the stop_video sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema contains zero parameters. Per the evaluation rules, zero-parameter tools receive a baseline score of 4. The description appropriately does not invent parameter semantics where none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Toggle pause/resume') and identifies the target resource ('currently playing video'). It implicitly distinguishes from siblings like stop_video (terminate playback), play_video (start new content), and seek_video (change position) by emphasizing 'currently playing' and the toggle mechanism.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage context through the word 'toggle' (indicating it switches between states) and 'currently playing' (indicating it requires active media). However, it lacks explicit guidance on when to use this versus stop_video or prerequisites like requiring an active video session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_audioA

Play audio only from a YouTube or TikTok video — no video window. Perfect for podcasts, music, and long-form content while you code.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube or TikTok video URL
timestampNoStart position in seconds

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It successfully conveys the audio-only nature and platform support (YouTube/TikTok), but omits operational details such as browser session requirements (relevant given get_browser/set_browser siblings), error handling for invalid URLs, or state persistence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The first sentence front-loads the core functionality and key differentiator (audio-only, no window), while the second provides use-case context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 primitive parameters, no output schema, no annotations), the description adequately covers user-facing behavior. It could be improved by noting browser context requirements implied by sibling tools, but the core contract is sufficiently documented for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (url and timestamp). The description reinforces the URL constraints by mentioning 'YouTube or TikTok,' but does not add semantic meaning to the timestamp parameter beyond what the schema already provides ('Start position in seconds'). Baseline 3 is appropriate given comprehensive schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('Play'), identifies the resource ('audio from a YouTube or TikTok video'), and clearly distinguishes this from video-playing siblings with the explicit constraint 'no video window.' The differentiation is sharp and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use-case guidance ('Perfect for podcasts, music, and long-form content while you code'), implicitly contrasting with play_video (visual content) and play_shorts (short-form). While it doesn't explicitly name alternatives to avoid, the context strongly signals when to select this over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_playlistB

Play an entire YouTube playlist in mpv. Supports playlist URLs and channel upload pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube playlist or channel URL
shuffleNoShuffle the playlist

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. While it identifies mpv as the player, it fails to disclose critical behavioral traits: whether this replaces current playback, appends to a queue, blocks until completion, or requires mpv to be pre-running. For a media control tool, these omissions are significant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient, front-loaded sentences with zero redundancy. The first states the core action and target, while the second clarifies valid input types. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description is minimally adequate but incomplete. It omits important context for a playback tool: interaction with current media state, error conditions (invalid URLs), and whether this operation is destructive to the current queue. It meets basic needs but leaves operational ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is appropriately met. The description adds minimal semantic value beyond the schema, essentially restating that playlist URLs and channel pages are valid inputs, which the schema already documents. No additional context about parameter formats or constraints is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Play') and resource ('entire YouTube playlist'), and specifies the player ('mpv'). It distinguishes from sibling tools like play_video and play_audio by emphasizing 'entire playlist' and mentioning support for 'channel upload pages', though it could more explicitly contrast with single-video playback tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying valid inputs ('playlist URLs and channel upload pages'), suggesting when to use this tool versus play_video. However, it lacks explicit guidance on when NOT to use it (e.g., for single videos) and doesn't mention the sibling queue_video or how this interacts with existing playback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_shortsA

Play Shorts as a continuous auto-advancing playlist. Automatically fetches more as you watch. Fetch from a specific channel or from your subscribed channels.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes"channel" or "subscriptions"
channel_urlNoRequired when source is "channel". YouTube channel URL.
max_channelsNoWhen source is "subscriptions": channels to sample (default 15)
shorts_per_channelNoWhen source is "subscriptions": shorts per channel (default 3)
limitNoWhen source is "channel": max shorts (default 15)
shuffleNoShuffle the playback order

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully conveys key behavioral traits (continuous playback, auto-fetching more content) but omits important details like authentication requirements, side effects (watch history updates), or error handling behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three well-structured sentences with zero waste. Front-loaded with the core action ('Play Shorts'), followed by key behavior ('auto-advancing'), then scope options. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given comprehensive schema coverage (100%) and no output schema, the description adequately covers the high-level functionality. However, given the lack of annotations, it should disclose authentication needs for the 'subscriptions' source and potential side effects like watch history modifications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The description maps the abstract concepts ('specific channel', 'subscribed channels') to the source parameter values but does not add syntax details, format examples, or semantic constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Play Shorts' with specific behavioral details ('continuous auto-advancing playlist'). It effectively distinguishes from siblings like play_video, play_playlist, and get_channel_shorts by specifying 'Shorts' format and the auto-advancing nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description outlines the two source options (specific channel vs subscriptions) but lacks explicit guidance on when to choose this tool over siblings like play_video or get_channel_shorts. It does not mention prerequisites like authentication requirements for accessing subscriptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_similarA

Play videos similar to what is currently playing. Fetches the current video's channel and searches for related content, then queues or plays the results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of similar videos to find (default 10)
play_nowNoReplace current playback (true) or add to queue (false)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the underlying mechanism ('Fetches the current video's channel and searches for related content') and the queuing behavior ('queues or plays'), but lacks details on error states, whether it clears the existing queue, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The first sentence front-loads the primary action, while the second efficiently explains the implementation mechanism. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 100% schema coverage and lack of output schema, the description adequately explains the core functionality and algorithm. However, it could be improved by explicitly stating the prerequisite (active playback required) or error conditions when nothing is playing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing baseline documentation for both parameters. The description mentions 'queues or plays' which loosely maps to the play_now parameter, but does not add syntax details, validation rules, or semantic context beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Play', 'Fetches', 'searches') and clearly identifies the resource (videos similar to current playback). It distinguishes from siblings like play_video, search_youtube, or queue_video by emphasizing the 'similar to what is currently playing' context and automatic fetching mechanism.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the prerequisite that a video must be currently playing ('similar to what is currently playing'), but does not explicitly state when to use this versus manual search alternatives like search_youtube, nor does it mention what happens if no video is playing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_tiktok_userA

Play videos from a TikTok user as a continuous auto-advancing playlist. Automatically fetches more videos as you watch.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesTikTok username (with or without @)
limitNoInitial batch size (default 15)
shuffleNoShuffle playback order

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully reveals the streaming/pagination behavior ('fetches more videos as you watch'), but omits other critical behavioral traits such as authentication requirements, error handling for invalid users, side effects on player state, or whether this creates a persistent session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. Front-loaded with core action ('Play videos from a TikTok user'), followed immediately by key behavioral differentiator ('auto-advancing'). Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter playback tool with 100% schema coverage but no annotations or output schema, the description adequately covers the primary functionality and streaming behavior. Slight gap regarding prerequisites (e.g., TikTok authentication) but sufficient for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage (baseline 3). The description adds value by contextualizing the 'limit' parameter as an initial batch size within a continuous fetching system ('fetches more videos as you watch'), explaining the pagination behavior that the schema alone doesn't convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Play videos') and resource ('TikTok user') with clear scope differentiation from siblings. The phrases 'continuous auto-advancing playlist' and 'fetches more videos as you watch' distinguish this from get_tiktok_user_videos (retrieval) and play_video (single item).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage guidance through 'auto-advancing' and 'fetches more videos' which suggests this is for continuous streaming sessions, but lacks explicit when-to-use guidance or named alternatives (e.g., does not explicitly contrast with get_tiktok_user_videos for metadata retrieval vs playback).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_videoA

Play a video from YouTube or TikTok in a lightweight mpv player window. Optionally start at a specific timestamp. Set audio_only to true for audio-only playback (great for podcasts/music while coding).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube or TikTok video URL
timestampNoStart position in seconds
audio_onlyNoAudio-only mode — no video window, just audio

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses player implementation (mpv window) and audio-only behavior (no video window). However, fails to specify interaction with current playback (does it stop existing video? queue? error?), or behavior when called while another video plays, which is critical given siblings like stop_video and queue_video exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste. Front-loaded with core action (Play video...), followed by optional features (timestamp, audio_only). Every sentence earns its place; no redundant phrases or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriately complete for a 3-parameter media tool with no output schema. Covers main action, all parameters, and primary use cases. Minor gap: could clarify relationship to queue_video (immediate playback vs queuing) given sibling context, but sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing baseline of 3. Description adds valuable usage context beyond schema: 'lightweight mpv player window' clarifies delivery mechanism not in schema, and 'great for podcasts/music while coding' provides use-case guidance for audio_only that raw schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific action (Play) + resource (video from YouTube or TikTok) + implementation (lightweight mpv player window). Distinguishes from sibling play_audio by focusing on video playback with optional audio-only mode, and from get_video_info by emphasizing playback action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage guidance for audio_only parameter ('great for podcasts/music while coding'), suggesting when to use that specific mode. However, lacks explicit comparison to sibling play_audio or guidance on when to use play_video vs. queue_video, despite both existing in the tool set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prev_videoA

Go back to the previous video in the current playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. While it mentions state dependency on 'current playlist', it fails to disclose what happens when no previous video exists (error, wrap-around, or no-op), whether this modifies browser history, or side effects on playback state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly concise at 9 words in a single sentence. Front-loaded with imperative verb 'Go back'. No redundant or filler content; every word serves the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple stateful navigation tool with no output schema, but incomplete given zero annotations. Missing critical behavioral context such as error conditions (no active playlist, already at first video) and interaction with playback state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters present (empty schema), establishing baseline of 4. The description effectively explains the single implicit 'action' parameter, though no parameter-level semantics are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent clarity with specific verb 'Go back', resource 'previous video', and scope 'in the current playlist'. The directional nature clearly distinguishes it from sibling tool next_video, and the playlist context distinguishes it from play_video or seek_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage requires an active playlist via 'current playlist' phrasing, but lacks explicit prerequisites (e.g., 'only works when a playlist is active') or explicit comparison to next_video for navigation direction. No guidance on edge cases like being at the first video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

queue_videoA

Add a video to the end of the current playback queue without interrupting what is playing. If nothing is playing, starts playback.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube or TikTok video URL to add to queue

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses key behavioral traits: queue position ('end'), non-interruption of current playback, and edge-case handling (starts playback if queue empty). Minor gap: does not mention error handling for invalid URLs or return value semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. First sentence front-loads the core action and key differentiator (non-interruption). Second sentence efficiently covers the empty-queue edge case. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, no output schema, no nested objects), the description is complete. It covers the primary action, queue positioning, interaction with current playback state, and the fallback behavior when the queue is empty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the URL parameter fully documented as 'YouTube or TikTok video URL to add to queue'. Since the schema comprehensively describes the parameter, baseline 3 is appropriate; the description does not need to duplicate this information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Add' with clear resource 'playback queue' and scope 'end of the current playback queue'. The phrase 'without interrupting what is playing' effectively distinguishes this from sibling tools like play_video, play_audio, and play_playlist which likely start immediate playback.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use this tool via 'without interrupting what is playing', implying the contrast with immediate-play alternatives. Also clarifies the fallback behavior 'If nothing is playing, starts playback'. Does not explicitly name sibling alternatives (e.g., 'use play_video to start immediately'), preventing a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_youtubeB

Search YouTube for videos. Uses Chrome cookies for personalized results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
limitNoMax results (default 10)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully adds critical context that 'Uses Chrome cookies for personalized results', indicating state dependency and personalization behavior. However, it lacks disclosure about what the tool returns (video metadata structure), pagination behavior, or any rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of exactly two sentences with zero waste. The first sentence front-loads the core purpose ('Search YouTube for videos'), while the second adds essential behavioral context about cookies. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter search tool without output schema, the description adequately covers the core function but leaves gaps. It fails to describe the return value structure (what fields are returned for each video), which is particularly important given the absence of an output schema to document the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already documents both parameters (query and limit) including types, constraints, and defaults. The description adds no additional parameter semantics, examples, or usage patterns beyond what the schema provides, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb 'Search' and resource 'YouTube videos', providing immediate clarity on the tool's function. However, it does not explicitly differentiate from sibling retrieval tools like get_youtube_feed or get_channel_videos, leaving implicit the distinction between searching and browsing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not clarify when to search versus using get_youtube_feed for recommended content, or how this differs from get_channel_videos for specific channel content.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seek_videoA

Seek to an absolute position in the currently playing video.

ParametersJSON Schema
NameRequiredDescriptionDefault
secondsYesPosition to seek to in seconds

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses 'absolute' positioning (distinguishing from relative seeks), but omits error handling, bounds behavior, or state requirements beyond the implicit 'currently playing' clause.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of eight words with zero redundancy. Front-loaded with the action verb and immediately qualified with the positioning context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with no output schema, the description adequately covers the core function but lacks completeness regarding error states, bounds checking, or prerequisites that would help an agent handle failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% coverage documenting the 'seconds' parameter, the description adds crucial semantic context by specifying 'absolute position,' clarifying that the value represents a fixed timeline position rather than a relative offset.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('Seek'), resource ('video'), and scope ('absolute position'), clearly distinguishing it from sibling transport controls like next_video, prev_video, or pause_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'currently playing video' implies the prerequisite that a video must be active, but there is no explicit guidance on when to use this versus relative navigation or what happens if invoked without an active video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_browserA

Switch which browser's cookies are used for authenticated requests. Supports: chrome, firefox, brave, edge, safari, opera, chromium, vivaldi. Default is chrome.

ParametersJSON Schema
NameRequiredDescriptionDefault
browserYesBrowser name: chrome, firefox, brave, edge, safari, opera, chromium, vivaldi

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses the behavioral impact (affects which cookies are used for subsequent authenticated requests) and critical configuration details (default is chrome, supported browsers list). It lacks details on persistence scope or validation behavior, but covers the essential safety and operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-structured sentences with zero waste. The first sentence front-loads the core purpose and context; the second provides the enumeration of valid values and default. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a simple single-parameter configuration tool with no output schema, the description is complete. It covers purpose, valid inputs, default behavior, and operational context (authentication) sufficient for correct invocation without additional structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the input schema has 100% coverage describing the parameter, the description adds valuable semantic context: the default value ('Default is chrome') not present in the schema, and the usage context ('authenticated requests') which clarifies why one would change this parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific action verb ('Switch') and clear resource ('browser's cookies'), clearly distinguishing this setter from the sibling 'get_browser' getter tool. It precisely defines the scope (authenticated requests) and supported values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use the tool ('for authenticated requests'), implying it should be invoked when authentication via a specific browser is required. However, it does not explicitly reference the sibling 'get_browser' as the alternative for reading the current state or provide explicit 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_videoA

Stop the currently playing video and close the mpv window.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses the window-closing side effect, but omits what happens when called with no active video (error vs silent success), return value details, and idempotency characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Nine words, single sentence, zero redundancy. The information is perfectly front-loaded with the action first, followed by the scope and side effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple parameterless media control. Describes the primary action and side effect clearly. Minor gap regarding edge case behavior (no active video), but acceptable given the tool's limited complexity and lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Baseline score for zero-parameter tools. The description appropriately requires no parameter explanation, and the schema coverage is trivially 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity with concrete verb 'Stop', resource 'currently playing video', and clear side effect 'close the mpv window'. The mention of closing the window effectively distinguishes this from sibling 'pause_video'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear contextual distinction from pause_video via 'close the mpv window', implying this is for terminating the session rather than temporary suspension. Lacks explicit 'use when / use X instead' phrasing that would earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between play_video and play_audio (both can handle audio-only playback) and between play_shorts and get_channel_shorts/get_subscription_shorts (both involve Shorts playback vs. listing). The descriptions help clarify differences, but an agent might occasionally confuse these related functions.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as get_channel_videos, play_video, pause_video, and search_youtube. All names use snake_case uniformly, making them predictable and easy to parse for an agent.

Tool Count3/5

With 23 tools, the count is borderline high for a social video server, potentially overwhelming for agents. While the tools cover various playback, browsing, and management functions, the number feels heavy and could be streamlined without losing core functionality.

Completeness4/5

The tool set provides comprehensive coverage for video playback, browsing, and management across YouTube and TikTok, including CRUD-like operations (e.g., play, pause, seek, queue). Minor gaps exist, such as no explicit tool for deleting or modifying playlists, but agents can work around this with the available tools.

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that provides YouTube data access without API keys or quotas. It enables agents to search videos, retrieve transcripts and metadata, and perform full-text search across cached content for AI context retrieval.
    3

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/ronantakizawa/social-video-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server