{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_2shin0-yt-mcp","slug":"2shin0-yt-mcp","name":"yt-mcp","type":"mcp","url":"https://github.com/2shin0/yt-mcp","page_url":"https://unfragile.ai/2shin0-yt-mcp","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:2shin0/yt-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_2shin0-yt-mcp__cap_0","uri":"capability://tool.use.integration.youtube.metadata.extraction.via.mcp.protocol","name":"youtube metadata extraction via mcp protocol","description":"Exposes YouTube video and channel metadata through the Model Context Protocol, allowing AI clients to query video titles, descriptions, durations, upload dates, and channel information without direct YouTube API calls. Implements MCP resource and tool endpoints that translate client requests into YouTube data retrieval operations, abstracting authentication and API rate-limiting complexity behind a standardized protocol interface.","intents":["I want my AI agent to fetch YouTube video metadata without managing API keys directly","I need to build a multi-step workflow where an LLM analyzes YouTube content metadata as context","I want to integrate YouTube data into an MCP-compatible client like Claude Desktop without writing custom API code"],"best_for":["AI developers building MCP-native agents that need YouTube integration","Teams using Claude Desktop or other MCP clients who want YouTube data access","Builders prototyping LLM workflows that analyze video metadata at scale"],"limitations":["Requires running yt-mcp as a separate server process — adds deployment complexity vs direct library usage","YouTube API quota limits apply; no built-in caching or rate-limit optimization documented","Limited to metadata extraction — cannot download video content, transcripts, or comments without additional implementation","MCP protocol overhead adds latency compared to direct synchronous API calls"],"requires":["MCP client implementation (Claude Desktop, custom client, or MCP SDK)","YouTube API credentials (API key or OAuth token)","Network connectivity between MCP client and yt-mcp server","Python 3.8+ or Node.js runtime depending on server implementation"],"input_types":["video URL or video ID (string)","channel URL or channel ID (string)","query parameters (structured JSON)"],"output_types":["JSON metadata objects","structured video/channel information","text descriptions and titles"],"categories":["tool-use-integration","mcp-servers"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_1","uri":"capability://tool.use.integration.mcp.resource.publication.for.video.channel.data","name":"mcp resource publication for video/channel data","description":"Publishes YouTube videos and channels as MCP resources with standardized URIs and content types, allowing MCP clients to discover and reference YouTube data as first-class resources in the protocol. Uses MCP resource listing and retrieval endpoints to expose video/channel information with consistent schemas, enabling clients to treat YouTube content as persistent, queryable resources rather than one-off API responses.","intents":["I want my MCP client to list available YouTube videos as discoverable resources","I need to reference specific YouTube videos by URI in multi-turn conversations with consistent metadata","I want to build a knowledge base where YouTube videos are indexed as MCP resources for semantic search"],"best_for":["MCP client developers building resource-aware interfaces","Teams implementing MCP resource discovery and browsing UIs","Builders creating knowledge management systems that treat YouTube as a resource layer"],"limitations":["Resource discovery performance depends on YouTube API pagination — large channel listings may be slow","No built-in caching of resource metadata — repeated queries hit YouTube API each time","MCP resource schema is static — cannot dynamically extend with custom metadata fields without protocol changes","Resource URIs are opaque to clients — no standardized way to batch-fetch multiple resources"],"requires":["MCP server implementation with resource endpoint support","YouTube API credentials with quota for metadata queries","MCP client that supports resource listing and retrieval"],"input_types":["resource URI (string)","resource filter parameters (JSON)"],"output_types":["MCP resource objects with metadata","JSON-LD or structured resource descriptions"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_2","uri":"capability://tool.use.integration.mcp.tool.function.calling.for.youtube.queries","name":"mcp tool/function calling for youtube queries","description":"Exposes YouTube search and metadata operations as callable MCP tools with JSON schema definitions, allowing AI clients to invoke YouTube queries as part of agentic workflows. Implements tool definitions with input schemas (video ID, search terms, filters) and output schemas (metadata objects), enabling LLMs to decide when and how to query YouTube data as part of reasoning chains without explicit client-side orchestration.","intents":["I want my AI agent to autonomously search YouTube and fetch video details during a conversation","I need to define tool schemas so an LLM can decide whether to query YouTube based on user intent","I want to build a multi-step agent that chains YouTube queries with other tools"],"best_for":["AI developers building agentic systems with tool-use capabilities","Teams implementing LLM-driven YouTube analysis workflows","Builders creating AI assistants that need YouTube data as part of reasoning"],"limitations":["Tool schema complexity may confuse LLMs about when to invoke YouTube tools — requires careful prompt engineering","No built-in tool result caching — repeated identical queries execute multiple times","Tool execution is synchronous — long-running YouTube queries block agent reasoning","Error handling and retry logic must be implemented in the MCP server, not delegated to the client"],"requires":["MCP client with tool/function calling support (Claude, custom LLM client)","YouTube API credentials","Tool schema definitions in JSON Schema format"],"input_types":["tool input JSON matching defined schema","video ID, channel ID, or search query (string)"],"output_types":["tool result JSON","metadata objects","error messages"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_3","uri":"capability://tool.use.integration.youtube.api.credential.abstraction.and.management","name":"youtube api credential abstraction and management","description":"Abstracts YouTube API authentication (API key or OAuth) behind the MCP server, eliminating the need for clients to manage credentials directly. The server handles credential storage, token refresh, and rate-limit tracking, exposing a clean MCP interface that clients use without knowledge of underlying authentication mechanisms. Implements credential validation and error handling to provide consistent authentication behavior across all YouTube operations.","intents":["I want to use YouTube data in my MCP client without managing API keys in client code","I need a secure way to share YouTube API access across multiple MCP clients","I want to centralize YouTube API quota management and rate-limiting"],"best_for":["Teams deploying MCP servers in shared environments where credential security matters","Developers building multi-client MCP setups that need centralized API management","Organizations wanting to audit and control YouTube API usage"],"limitations":["Credential storage mechanism not documented — unclear if credentials are encrypted or stored in plaintext","No built-in credential rotation or expiration handling documented","Single credential per server — cannot support multiple YouTube accounts without running multiple server instances","Rate-limiting is per-server, not per-client — shared quota across all connected clients"],"requires":["YouTube API credentials (API key or OAuth token)","Secure environment for storing credentials (environment variables, secrets manager)","MCP server runtime with credential access"],"input_types":["API key or OAuth token (string)","credential configuration (JSON)"],"output_types":["authentication status (boolean)","error messages on auth failure"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_4","uri":"capability://data.processing.analysis.youtube.video.metadata.retrieval.with.structured.output","name":"youtube video metadata retrieval with structured output","description":"Fetches detailed video metadata (title, description, duration, upload date, view count, channel info) from YouTube and returns it as structured JSON objects with consistent schemas. Implements YouTube Data API v3 integration with response parsing and field mapping, transforming raw API responses into normalized metadata objects that MCP clients can reliably consume and process.","intents":["I want to fetch comprehensive metadata for a specific YouTube video","I need to extract video details in a structured format for downstream processing","I want to analyze video metadata (duration, view count, upload date) programmatically"],"best_for":["Developers building video analysis tools that need structured metadata","Teams creating YouTube content databases or knowledge graphs","Builders implementing video recommendation or discovery systems"],"limitations":["Only returns publicly available metadata — cannot fetch private video details or restricted content","YouTube API quota limits apply (10,000 units/day for free tier) — high-volume metadata retrieval requires quota management","Metadata freshness depends on YouTube API caching — real-time view counts may be delayed","No support for fetching comments, transcripts, or engagement metrics beyond basic metadata"],"requires":["YouTube video ID or URL","YouTube API key with quota","Network connectivity to YouTube API"],"input_types":["video ID (string, e.g., 'dQw4w9WgXcQ')","video URL (string, e.g., 'https://youtube.com/watch?v=...')"],"output_types":["JSON metadata object with fields: title, description, duration, uploadDate, viewCount, channelId, channelTitle, etc."],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_5","uri":"capability://data.processing.analysis.youtube.channel.metadata.and.video.listing","name":"youtube channel metadata and video listing","description":"Retrieves channel-level metadata (channel name, description, subscriber count, video count) and lists videos from a channel with pagination support. Implements YouTube Data API v3 channel and playlist endpoints, handling pagination tokens and result filtering to enable clients to browse channel content systematically without managing API pagination complexity.","intents":["I want to fetch metadata about a YouTube channel","I need to list all videos from a channel with pagination","I want to analyze a creator's content library programmatically"],"best_for":["Developers building YouTube creator analysis tools","Teams creating content discovery systems based on channel browsing","Builders implementing channel-level analytics or monitoring"],"limitations":["Pagination is limited to 50 results per request by default — large channel listings require multiple API calls","Channel subscriber count is only available for the authenticated channel — cannot fetch subscriber counts for other channels","No support for fetching channel playlists or community posts","Video listing does not include engagement metrics (views, likes) — requires separate metadata calls per video"],"requires":["YouTube channel ID or channel URL","YouTube API key with quota","Pagination token handling for large result sets"],"input_types":["channel ID (string)","channel URL (string)","pagination token (string, optional)"],"output_types":["JSON channel metadata object","JSON array of video objects with pagination token"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_2shin0-yt-mcp__cap_6","uri":"capability://search.retrieval.youtube.search.with.result.ranking.and.filtering","name":"youtube search with result ranking and filtering","description":"Implements YouTube search functionality through MCP, accepting search queries and returning ranked video results with optional filtering by upload date, duration, and relevance. Translates search queries into YouTube Data API v3 search requests, applying result ranking and filtering logic to surface the most relevant videos without requiring clients to implement search ranking algorithms.","intents":["I want my AI agent to search YouTube for videos matching a query","I need to filter search results by date range or video duration","I want to find the most relevant YouTube videos for a topic programmatically"],"best_for":["Developers building AI-powered YouTube search interfaces","Teams creating content recommendation systems","Builders implementing research tools that need YouTube video discovery"],"limitations":["Search results are limited to 50 per request — large result sets require pagination","Relevance ranking is determined by YouTube's algorithm — no custom ranking logic exposed","Search filters are limited to basic criteria (date, duration) — no advanced filtering (language, region, content type)","Search results do not include engagement metrics (views, likes) — requires separate metadata calls"],"requires":["Search query (string)","YouTube API key with quota","Optional filter parameters (date range, duration, etc.)"],"input_types":["search query (string)","filter parameters (JSON with optional fields: uploadedAfter, uploadedBefore, videoDuration, etc.)"],"output_types":["JSON array of search result objects with video metadata","pagination token for fetching additional results"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":26,"verified":false,"data_access_risk":"high","permissions":["MCP client implementation (Claude Desktop, custom client, or MCP SDK)","YouTube API credentials (API key or OAuth token)","Network connectivity between MCP client and yt-mcp server","Python 3.8+ or Node.js runtime depending on server implementation","MCP server implementation with resource endpoint support","YouTube API credentials with quota for metadata queries","MCP client that supports resource listing and retrieval","MCP client with tool/function calling support (Claude, custom LLM client)","YouTube API credentials","Tool schema definitions in JSON Schema format"],"failure_modes":["Requires running yt-mcp as a separate server process — adds deployment complexity vs direct library usage","YouTube API quota limits apply; no built-in caching or rate-limit optimization documented","Limited to metadata extraction — cannot download video content, transcripts, or comments without additional implementation","MCP protocol overhead adds latency compared to direct synchronous API calls","Resource discovery performance depends on YouTube API pagination — large channel listings may be slow","No built-in caching of resource metadata — repeated queries hit YouTube API each time","MCP resource schema is static — cannot dynamically extend with custom metadata fields without protocol changes","Resource URIs are opaque to clients — no standardized way to batch-fetch multiple resources","Tool schema complexity may confuse LLMs about when to invoke YouTube tools — requires careful prompt engineering","No built-in tool result caching — repeated identical queries execute multiple times","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.24,"ecosystem":0.48999999999999994,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.061Z","last_scraped_at":"2026-05-03T15:19:48.006Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=2shin0-yt-mcp","compare_url":"https://unfragile.ai/compare?artifact=2shin0-yt-mcp"}},"signature":"guad3nxe+RFIfIV5xbJ+hqAk2k20zVpkI9uPTdWosLbJt88wC60x9dy3AA5PrbaefPeRRNf/wiMuQQ4ByBhMDg==","signedAt":"2026-06-21T14:30:18.397Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/2shin0-yt-mcp","artifact":"https://unfragile.ai/2shin0-yt-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=2shin0-yt-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}