naftiko: 1.0.0-alpha2 info: label: YouTube Data API description: The YouTube Data API v3 lets you incorporate YouTube functionality into your own application. You can use the API to fetch search results, retrieve and manage video resources, manage channels and playlists, and access subscription and activity data. tags: - Google - Youtube - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: google-youtube baseUri: https://youtube.googleapis.com/youtube/v3 description: YouTube Data API HTTP API. authentication: type: bearer token: '{{GOOGLE_YOUTUBE_TOKEN}}' resources: - name: videos path: /videos operations: - name: listvideos method: GET description: List videos inputParameters: - name: part in: query type: string required: true description: The part parameter specifies a comma-separated list of one or more video resource properties. - name: id in: query type: string description: The id parameter specifies a comma-separated list of YouTube video IDs. - name: maxResults in: query type: integer description: The maximum number of items to return. - name: pageToken in: query type: string description: Identifies a specific page in the result set. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: channels path: /channels operations: - name: listchannels method: GET description: List channels inputParameters: - name: part in: query type: string required: true - name: id in: query type: string - name: mine in: query type: boolean outputRawFormat: json outputParameters: - name: result type: object value: $. - name: playlists path: /playlists operations: - name: listplaylists method: GET description: List playlists inputParameters: - name: part in: query type: string required: true - name: channelId in: query type: string - name: mine in: query type: boolean - name: maxResults in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertplaylist method: POST description: Create a playlist inputParameters: - name: part in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: playlistitems path: /playlistItems operations: - name: listplaylistitems method: GET description: List playlist items inputParameters: - name: part in: query type: string required: true - name: playlistId in: query type: string required: true - name: maxResults in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: search path: /search operations: - name: search method: GET description: Search for content inputParameters: - name: part in: query type: string required: true - name: q in: query type: string description: The search query term. - name: type in: query type: string description: Restricts a search to a particular type of resource. - name: maxResults in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions path: /subscriptions operations: - name: listsubscriptions method: GET description: List subscriptions inputParameters: - name: part in: query type: string required: true - name: mine in: query type: boolean - name: channelId in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: commentthreads path: /commentThreads operations: - name: listcommentthreads method: GET description: List comment threads inputParameters: - name: part in: query type: string required: true - name: videoId in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: activities path: /activities operations: - name: listactivities method: GET description: List activities inputParameters: - name: part in: query type: string required: true - name: channelId in: query type: string - name: mine in: query type: boolean outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: google-youtube-rest description: REST adapter for YouTube Data API. resources: - path: /videos name: listvideos operations: - method: GET name: listvideos description: List videos call: google-youtube.listvideos outputParameters: - type: object mapping: $. - path: /channels name: listchannels operations: - method: GET name: listchannels description: List channels call: google-youtube.listchannels outputParameters: - type: object mapping: $. - path: /playlists name: listplaylists operations: - method: GET name: listplaylists description: List playlists call: google-youtube.listplaylists outputParameters: - type: object mapping: $. - path: /playlists name: insertplaylist operations: - method: POST name: insertplaylist description: Create a playlist call: google-youtube.insertplaylist outputParameters: - type: object mapping: $. - path: /playlistItems name: listplaylistitems operations: - method: GET name: listplaylistitems description: List playlist items call: google-youtube.listplaylistitems outputParameters: - type: object mapping: $. - path: /search name: search operations: - method: GET name: search description: Search for content call: google-youtube.search outputParameters: - type: object mapping: $. - path: /subscriptions name: listsubscriptions operations: - method: GET name: listsubscriptions description: List subscriptions call: google-youtube.listsubscriptions outputParameters: - type: object mapping: $. - path: /commentThreads name: listcommentthreads operations: - method: GET name: listcommentthreads description: List comment threads call: google-youtube.listcommentthreads outputParameters: - type: object mapping: $. - path: /activities name: listactivities operations: - method: GET name: listactivities description: List activities call: google-youtube.listactivities outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: google-youtube-mcp transport: http description: MCP adapter for YouTube Data API for AI agent use. tools: - name: listvideos description: List videos hints: readOnly: true destructive: false idempotent: true call: google-youtube.listvideos with: part: tools.part id: tools.id maxResults: tools.maxResults pageToken: tools.pageToken inputParameters: - name: part type: string description: The part parameter specifies a comma-separated list of one or more video resource properties. required: true - name: id type: string description: The id parameter specifies a comma-separated list of YouTube video IDs. - name: maxResults type: integer description: The maximum number of items to return. - name: pageToken type: string description: Identifies a specific page in the result set. outputParameters: - type: object mapping: $. - name: listchannels description: List channels hints: readOnly: true destructive: false idempotent: true call: google-youtube.listchannels with: part: tools.part id: tools.id mine: tools.mine inputParameters: - name: part type: string description: part required: true - name: id type: string description: id - name: mine type: boolean description: mine outputParameters: - type: object mapping: $. - name: listplaylists description: List playlists hints: readOnly: true destructive: false idempotent: true call: google-youtube.listplaylists with: part: tools.part channelId: tools.channelId mine: tools.mine maxResults: tools.maxResults inputParameters: - name: part type: string description: part required: true - name: channelId type: string description: channelId - name: mine type: boolean description: mine - name: maxResults type: integer description: maxResults outputParameters: - type: object mapping: $. - name: insertplaylist description: Create a playlist hints: readOnly: false destructive: false idempotent: false call: google-youtube.insertplaylist with: part: tools.part inputParameters: - name: part type: string description: part required: true outputParameters: - type: object mapping: $. - name: listplaylistitems description: List playlist items hints: readOnly: true destructive: false idempotent: true call: google-youtube.listplaylistitems with: part: tools.part playlistId: tools.playlistId maxResults: tools.maxResults inputParameters: - name: part type: string description: part required: true - name: playlistId type: string description: playlistId required: true - name: maxResults type: integer description: maxResults outputParameters: - type: object mapping: $. - name: search description: Search for content hints: readOnly: true destructive: false idempotent: true call: google-youtube.search with: part: tools.part q: tools.q type: tools.type maxResults: tools.maxResults inputParameters: - name: part type: string description: part required: true - name: q type: string description: The search query term. - name: type type: string description: Restricts a search to a particular type of resource. - name: maxResults type: integer description: maxResults outputParameters: - type: object mapping: $. - name: listsubscriptions description: List subscriptions hints: readOnly: true destructive: false idempotent: true call: google-youtube.listsubscriptions with: part: tools.part mine: tools.mine channelId: tools.channelId inputParameters: - name: part type: string description: part required: true - name: mine type: boolean description: mine - name: channelId type: string description: channelId outputParameters: - type: object mapping: $. - name: listcommentthreads description: List comment threads hints: readOnly: true destructive: false idempotent: true call: google-youtube.listcommentthreads with: part: tools.part videoId: tools.videoId inputParameters: - name: part type: string description: part required: true - name: videoId type: string description: videoId outputParameters: - type: object mapping: $. - name: listactivities description: List activities hints: readOnly: true destructive: false idempotent: true call: google-youtube.listactivities with: part: tools.part channelId: tools.channelId mine: tools.mine inputParameters: - name: part type: string description: part required: true - name: channelId type: string description: channelId - name: mine type: boolean description: mine outputParameters: - type: object mapping: $. binds: - namespace: env keys: GOOGLE_YOUTUBE_TOKEN: GOOGLE_YOUTUBE_TOKEN