Product
YouTube and Blogger
YouTube Data, YouTube Analytics and YouTube Reporting APIs, plus Blogger.
Install
gyoutube is one plugin in the google-services-mcps marketplace, and it runs one MCP server with the same name. Install it for Claude Code with the command below. For Codex, OpenCode or Antigravity, change --agent; the product id stays the same.
Install for Claude Code
npx google-services-mcps install --agent claude --plugin gyoutubeWhat it manages
The server carries 4 generated API bindings and 0 gateway APIs. Gateway APIs are reached through api_search, api_describe and api_call, which every product with gateway APIs lists.
| API | Version |
|---|---|
| blogger | v3 |
| youtube | v3 |
| youtubeAnalytics | v2 |
| youtubereporting | v1 |
Tools
The plugin's server registers 132 tools: 59 reads, 51 writes, 22 destructive actions and 0 dynamic tools. A read never asks. A write is listed only when Allow write tools is on, and asks before it runs. A destructive action asks twice. A dynamic tool decides per call.
Every tool name starts with mcp__plugin_gyoutube_gyoutube__, so a call traces back to this product. The table lists the tools this server registers, with the safety class from the plugin's tool map.
| Tool | Class | What it does |
|---|---|---|
| account_remove | write | Remove a signed-in account |
| account_set_default | write | Set the default account |
| accounts_list | read | Signed-in accounts |
| api_methods | read | gyoutube: API methods |
| auth_login | write | Sign in to Google |
| auth_setup_client | write | Save the Google OAuth client |
| auth_status | read | Sign-in status |
| blogger_blog_user_infos_get | read | blogger.blogUserInfos.get |
| blogger_blogs_get | read | blogger.blogs.get |
| blogger_blogs_get_by_url | read | blogger.blogs.getByUrl |
| blogger_blogs_list_by_user | read | blogger.blogs.listByUser |
| blogger_comments_approve | write | blogger.comments.approve |
| blogger_comments_delete | destructive | blogger.comments.delete |
| blogger_comments_get | read | blogger.comments.get |
| blogger_comments_list | read | blogger.comments.list |
| blogger_comments_list_by_blog | read | blogger.comments.listByBlog |
| blogger_comments_mark_as_spam | write | blogger.comments.markAsSpam |
| blogger_comments_remove_content | write | blogger.comments.removeContent |
| blogger_page_views_get | read | blogger.pageViews.get |
| blogger_pages_delete | destructive | blogger.pages.delete |
| blogger_pages_get | read | blogger.pages.get |
| blogger_pages_insert | write | blogger.pages.insert |
| blogger_pages_list | read | blogger.pages.list |
| blogger_pages_patch | write | blogger.pages.patch |
| blogger_pages_publish | write | blogger.pages.publish |
| blogger_pages_revert | write | blogger.pages.revert |
| blogger_pages_update | write | blogger.pages.update |
| blogger_post_user_infos_get | read | blogger.postUserInfos.get |
| blogger_post_user_infos_list | read | blogger.postUserInfos.list |
| blogger_posts_delete | destructive | blogger.posts.delete |
| blogger_posts_get | read | blogger.posts.get |
| blogger_posts_get_by_path | read | blogger.posts.getByPath |
| blogger_posts_insert | write | blogger.posts.insert |
| blogger_posts_list | read | blogger.posts.list |
| blogger_posts_patch | write | blogger.posts.patch |
| blogger_posts_publish | write | blogger.posts.publish |
| blogger_posts_revert | write | blogger.posts.revert |
| blogger_posts_search | read | blogger.posts.search |
| blogger_posts_update | write | blogger.posts.update |
| blogger_users_get | read | blogger.users.get |
| health | read | Server health |
| youtube_abuse_reports_insert | write | youtube.abuseReports.insert |
| youtube_activities_list | read | youtube.activities.list |
| youtube_broadcasts_transition | destructive | youtube.liveBroadcasts.transition |
| youtube_captions_delete | destructive | youtube.captions.delete |
| youtube_captions_download | read | youtube.captions.download |
| youtube_captions_list | read | youtube.captions.list |
| youtube_channel_sections_delete | destructive | youtube.channelSections.delete |
| youtube_channel_sections_insert | write | youtube.channelSections.insert |
| youtube_channel_sections_list | read | youtube.channelSections.list |
| youtube_channel_sections_update | write | youtube.channelSections.update |
| youtube_channels_list | read | youtube.channels.list |
| youtube_channels_update | write | youtube.channels.update |
| youtube_comment_threads_insert | write | youtube.commentThreads.insert |
| youtube_comment_threads_list | read | youtube.commentThreads.list |
| youtube_comments_delete | destructive | youtube.comments.delete |
| youtube_comments_insert | write | youtube.comments.insert |
| youtube_comments_list | read | youtube.comments.list |
| youtube_comments_mark_as_spam | write | youtube.comments.markAsSpam |
| youtube_comments_update | write | youtube.comments.update |
| youtube_i18n_languages_list | read | youtube.i18nLanguages.list |
| youtube_i18n_regions_list | read | youtube.i18nRegions.list |
| youtube_insert_cuepoint | write | youtube.liveBroadcasts.insertCuepoint |
| youtube_live_broadcasts_bind | write | youtube.liveBroadcasts.bind |
| youtube_live_broadcasts_delete | destructive | youtube.liveBroadcasts.delete |
| youtube_live_broadcasts_insert | write | youtube.liveBroadcasts.insert |
| youtube_live_broadcasts_list | read | youtube.liveBroadcasts.list |
| youtube_live_broadcasts_update | write | youtube.liveBroadcasts.update |
| youtube_live_chat_bans_delete | destructive | youtube.liveChatBans.delete |
| youtube_live_chat_bans_insert | write | youtube.liveChatBans.insert |
| youtube_live_chat_messages_delete | destructive | youtube.liveChatMessages.delete |
| youtube_live_chat_messages_insert | write | youtube.liveChatMessages.insert |
| youtube_live_chat_messages_list | read | youtube.liveChatMessages.list |
| youtube_live_chat_messages_stream | read | youtube.youtube.v3.liveChat.messages.stream |
| youtube_live_chat_moderators_list | read | youtube.liveChatModerators.list |
| youtube_live_streams_delete | destructive | youtube.liveStreams.delete |
| youtube_live_streams_insert | write | youtube.liveStreams.insert |
| youtube_live_streams_list | read | youtube.liveStreams.list |
| youtube_live_streams_update | write | youtube.liveStreams.update |
| youtube_members_list | read | youtube.members.list |
| youtube_memberships_levels_list | read | youtube.membershipsLevels.list |
| youtube_messages_transition | write | youtube.liveChatMessages.transition |
| youtube_moderators_delete | destructive | youtube.liveChatModerators.delete |
| youtube_moderators_insert | write | youtube.liveChatModerators.insert |
| youtube_playlist_images_delete | destructive | youtube.playlistImages.delete |
| youtube_playlist_images_list | read | youtube.playlistImages.list |
| youtube_playlist_items_delete | destructive | youtube.playlistItems.delete |
| youtube_playlist_items_insert | write | youtube.playlistItems.insert |
| youtube_playlist_items_list | read | youtube.playlistItems.list |
| youtube_playlist_items_update | write | youtube.playlistItems.update |
| youtube_playlists_delete | destructive | youtube.playlists.delete |
| youtube_playlists_insert | write | youtube.playlists.insert |
| youtube_playlists_list | read | youtube.playlists.list |
| youtube_playlists_update | write | youtube.playlists.update |
| youtube_reasons_list | read | youtube.videoAbuseReportReasons.list |
| youtube_search_list | read | youtube.search.list |
| youtube_set_moderation_status | write | youtube.comments.setModerationStatus |
| youtube_subscriptions_delete | destructive | youtube.subscriptions.delete |
| youtube_subscriptions_insert | write | youtube.subscriptions.insert |
| youtube_subscriptions_list | read | youtube.subscriptions.list |
| youtube_super_chat_events_list | read | youtube.superChatEvents.list |
| youtube_tests_insert | write | youtube.tests.insert |
| youtube_third_party_links_delete | destructive | youtube.thirdPartyLinks.delete |
| youtube_third_party_links_insert | write | youtube.thirdPartyLinks.insert |
| youtube_third_party_links_list | read | youtube.thirdPartyLinks.list |
| youtube_third_party_links_update | write | youtube.thirdPartyLinks.update |
| youtube_video_categories_list | read | youtube.videoCategories.list |
| youtube_video_trainability_get | read | youtube.videoTrainability.get |
| youtube_videos_batch_get_stats | read | youtube.videos.batchGetStats |
| youtube_videos_delete | destructive | youtube.videos.delete |
| youtube_videos_get_rating | read | youtube.videos.getRating |
| youtube_videos_list | read | youtube.videos.list |
| youtube_videos_rate | write | youtube.videos.rate |
| youtube_videos_report_abuse | write | youtube.videos.reportAbuse |
| youtube_videos_update | destructive | youtube.videos.update |
| youtube_watermarks_unset | write | youtube.watermarks.unset |
| youtuberep_jobs_create | write | youtubereporting.jobs.create |
| youtuberep_jobs_delete | destructive | youtubereporting.jobs.delete |
| youtuberep_jobs_get | read | youtubereporting.jobs.get |
| youtuberep_jobs_list | read | youtubereporting.jobs.list |
| youtuberep_jobs_reports_get | read | youtubereporting.jobs.reports.get |
| youtuberep_jobs_reports_list | read | youtubereporting.jobs.reports.list |
| youtuberep_media_download | read | youtubereporting.media.download |
| youtuberep_report_types_list | read | youtubereporting.reportTypes.list |
| ytanalyt_group_items_delete | destructive | youtubeAnalytics.groupItems.delete |
| ytanalyt_group_items_insert | write | youtubeAnalytics.groupItems.insert |
| ytanalyt_group_items_list | read | youtubeAnalytics.groupItems.list |
| ytanalyt_groups_delete | destructive | youtubeAnalytics.groups.delete |
| ytanalyt_groups_insert | write | youtubeAnalytics.groups.insert |
| ytanalyt_groups_list | read | youtubeAnalytics.groups.list |
| ytanalyt_groups_update | write | youtubeAnalytics.groups.update |
| ytanalyt_reports_query | read | youtubeAnalytics.reports.query |
The plugin option toolset can list fewer tools. google lists 10 tools that do the same jobs as Google's official MCP server for this product; curated lists the hand-written and gateway tools; all is the default.
Sign-in
gyoutube belongs to the business login group. Log in once for the group: create a Desktop OAuth client in a Google Cloud project, save its file with npx google-services-mcps setup-client, then run npx google-services-mcps login business.
The plugin's scope file lists 11 OAuth scopes for 1 APIs. A login asks only for the scopes of its profile: readonly (the default), readwrite, full, or an exact list.
| API | Scope |
|---|---|
| gyoutube | https://www.googleapis.com/auth/blogger |
| gyoutube | https://www.googleapis.com/auth/blogger.readonly |
| gyoutube | https://www.googleapis.com/auth/youtube |
| gyoutube | https://www.googleapis.com/auth/youtube.channel-memberships.creator |
| gyoutube | https://www.googleapis.com/auth/youtube.force-ssl |
| gyoutube | https://www.googleapis.com/auth/youtube.readonly |
| gyoutube | https://www.googleapis.com/auth/youtube.upload |
| gyoutube | https://www.googleapis.com/auth/youtubepartner |
| gyoutube | https://www.googleapis.com/auth/youtubepartner-channel-audit |
| gyoutube | https://www.googleapis.com/auth/yt-analytics-monetary.readonly |
| gyoutube | https://www.googleapis.com/auth/yt-analytics.readonly |
Plugin details
- Plugin
- gyoutube
- MCP server
- gyoutube
- Display name
- YouTube and Blogger
- Version
- 2.17.0
- Marketplace
- google-services-mcps
- Login group
- business
- Marketplace category
- marketing
- Plugin options
- allow_writes, confirmation, token_dir, toolset
- Server kind
- discovery