feat: add YouTube Data API v3 MCP connector#160
Open
MarsZDF wants to merge 1 commit intoStackOneHQ:mainfrom
Open
feat: add YouTube Data API v3 MCP connector#160MarsZDF wants to merge 1 commit intoStackOneHQ:mainfrom
MarsZDF wants to merge 1 commit intoStackOneHQ:mainfrom
Conversation
- Add comprehensive YouTube connector with 7 tools covering major use cases - Support video/channel search, detailed info, playlists, and trending content - Implement proper rate limiting awareness (10,000 units/day quota) - Include robust TypeScript interfaces for all YouTube API responses - Add comprehensive test suite with MSW mocking (19 tests) - Follow repository patterns for error handling and credential management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
1 issue found across 3 files
Prompt for AI agents (all 1 issues)
Understand the root cause of the following 1 issues and fix them.
<file name="packages/mcp-connectors/src/connectors/youtube.ts">
<violation number="1" location="packages/mcp-connectors/src/connectors/youtube.ts:505">
The schema for GET_CHANNEL_DETAILS allows both `channelIds` and `username` to be omitted, but the YouTube API requires at least one identifier; this can cause guaranteed runtime API errors.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
| description: 'Get detailed information about specific channels', | ||
| schema: z.object({ | ||
| channelIds: z.array(z.string()).optional().describe('Array of channel IDs'), | ||
| username: z.string().optional().describe('Channel username (alternative to IDs)'), |
Contributor
There was a problem hiding this comment.
The schema for GET_CHANNEL_DETAILS allows both channelIds and username to be omitted, but the YouTube API requires at least one identifier; this can cause guaranteed runtime API errors.
Prompt for AI agents
Address the following comment on packages/mcp-connectors/src/connectors/youtube.ts at line 505:
<comment>The schema for GET_CHANNEL_DETAILS allows both `channelIds` and `username` to be omitted, but the YouTube API requires at least one identifier; this can cause guaranteed runtime API errors.</comment>
<file context>
@@ -0,0 +1,606 @@
+ description: 'Get detailed information about specific channels',
+ schema: z.object({
+ channelIds: z.array(z.string()).optional().describe('Array of channel IDs'),
+ username: z.string().optional().describe('Channel username (alternative to IDs)'),
+ includeParts: z
+ .array(z.enum(['snippet', 'statistics', 'contentDetails', 'brandingSettings']))
</file context>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key Features
Tools Included
SEARCH_VIDEOS- Advanced video search with filters (order, date range, region, etc.)SEARCH_CHANNELS- Channel discovery and searchGET_VIDEO_DETAILS- Detailed video information including statisticsGET_CHANNEL_DETAILS- Channel information and statisticsGET_PLAYLIST_DETAILS- Playlist metadata and informationGET_PLAYLIST_ITEMS- Browse playlist contents with paginationGET_POPULAR_VIDEOS- Region-specific trending videosTechnical Implementation
Test Plan
🤖 Generated with Claude Code
Summary by cubic
Adds a YouTube Data API v3 MCP connector with seven tools for search, details, playlists, and trending videos. This enables YouTube queries via MCP with strong typing, pagination, and robust error handling.
New Features
Migration