@kevinwatt/yt-dlp-mcp
Version:
An MCP server implementation that integrates with yt-dlp, providing video and audio content download capabilities (e.g. YouTube, Facebook, Tiktok, etc.) for LLMs.
39 lines (38 loc) • 1.56 kB
TypeScript
import type { Config } from "../config.js";
/**
* Upload date filter type
*/
export type UploadDateFilter = "hour" | "today" | "week" | "month" | "year";
/**
* YouTube search result interface
*/
export interface SearchResult {
title: string;
id: string;
url: string;
uploader?: string;
duration?: string;
viewCount?: string;
uploadDate?: string;
}
/**
* Search YouTube videos
* @param query Search keywords
* @param maxResults Maximum number of results (1-50)
* @param offset Number of results to skip for pagination
* @param responseFormat Output format ('json' or 'markdown')
* @param config Configuration object
* @param uploadDateFilter Optional filter by upload date
* @returns Search results formatted as string
*/
export declare function searchVideos(query: string, maxResults: number | undefined, offset: number | undefined, responseFormat: "json" | "markdown" | undefined, config: Config, uploadDateFilter?: UploadDateFilter): Promise<string>;
/**
* Search videos on specific platform (future expansion feature)
* @param query Search keywords
* @param platform Platform name ('youtube', 'bilibili', etc.)
* @param maxResults Maximum number of results
* @param offset Number of results to skip
* @param responseFormat Output format
* @param config Configuration object
*/
export declare function searchByPlatform(query: string, platform: string | undefined, maxResults: number | undefined, offset: number | undefined, responseFormat: "json" | "markdown" | undefined, config: Config): Promise<string>;