HasData YouTube
by hasdata.com · remote · local (npm, pypi) · no sign-in to list tools · v1.0.9 · published by com.hasdata
Search YouTube and read video, channel and transcript data as JSON. No Google Cloud project.
4 tools: 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads4Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http youtube https://mcp.hasdata.com/mcp?apis=youtube --header 'x-api-key: <your-x-api-key>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Only reads 4Claude Code: allow
hasdata_youtube_channel_getYoutubeChannelGet YouTube Channel Data Fetches a YouTube channel by its ID (`UC…`) or handle (`@name`) and returns structured data for any channel tab — `featured`/Home, `videos`, `shorts`, `str…No findings
Why it is in this group
- The name "hasdata_youtube_channel_getYoutubeChannel" says "get": a word for reading.
Description, as the server wrote it Get YouTube Channel Data Fetches a YouTube channel by its ID (`UC…`) or handle (`@name`) and returns structured data for any channel tab — `featured`/Home, `videos`, `shorts`, `streams`, `playlists`, `posts`, `podcasts`, `releases`, `store` (desktop only), `about`. Returns channel identity (title, description, avatar, banner), subscriber count, country, join date, total-view count and social links (on the `about` tab), and the items on the requested tab (videos with views and publish date, playlists, posts, podcasts, etc.). Use to monitor competitor channels, build creator/brand directories, track posting cadence and growth signals, or feed `videoId` into the YouTube Video / Transcript endpoints.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
hasdata_youtube_search_getYoutubeSearchResultsGet YouTube Search Results Searches YouTube for a query and returns the full results page split into `videoResults` (videoId, title, views, length, publish date, chapters, channel …No findings
Why it is in this group
- The name "hasdata_youtube_search_getYoutubeSearchResults" says "search": a word for reading.
Description, as the server wrote it Get YouTube Search Results Searches YouTube for a query and returns the full results page split into `videoResults` (videoId, title, views, length, publish date, chapters, channel info, extensions like 4K/CC), `channelResults` (channelId, handle, subscribers, verified flag), `shortsResults` / `inlineShortsResults`, themed `shelves` (e.g. 'People also watched', 'Latest from <creator>'), `adsResults` and `sponsoredResults` (advertiser, landing URL, position), plus `searchInformation.totalResults`. Each block preserves its `positionOnPage` so the original layout is reconstructable. Use for competitor and topic monitoring, brand-mention tracking, ad-placement intelligence, creator discovery, trend research, or to feed `videoId` / `channelId` into the YouTube Video, Channel, or Transcript endpoints.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
hasdata_youtube_transcript_getYoutubeTranscriptGet YouTube Video Transcript Returns the timed transcript (subtitles) of a YouTube video by its 11-character `videoId`.No findings
Why it is in this group
- The name "hasdata_youtube_transcript_getYoutubeTranscript" says "get": a word for reading.
Description, as the server wrote it Get YouTube Video Transcript Returns the timed transcript (subtitles) of a YouTube video by its 11-character `videoId`. `languageCode` selects the track (e.g. `en`, `de-DE`, `pt-BR`); `type=asr` requests the auto-generated speech-recognition track. Each segment in `transcript[]` carries `startMs`, `endMs`, `snippet`, and a formatted `startTimeText`. The response also includes `availableTranscripts[]` listing every track on the video (language name + code, `type: asr` for auto-generated, `selected: true` for the one returned) so callers can discover what else is available. Use to feed a video's spoken content into RAG/LLM pipelines, generate summaries or chapter outlines, build searchable archives, run translation or accessibility workflows, or analyze talking points across a creator's catalog (pair with the YouTube Channel endpoint to enumerate videos, then fetch transcripts).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
hasdata_youtube_video_getYoutubeVideoGet YouTube Video Data Fetches a single YouTube video by its 11-character `videoId`.No findings
Why it is in this group
- The name "hasdata_youtube_video_getYoutubeVideo" says "get": a word for reading.
Description, as the server wrote it Get YouTube Video Data Fetches a single YouTube video by its 11-character `videoId`. Returns title, thumbnail, raw + normalized views and likes, `lengthSeconds`, publish date, category, keywords/tags, `isFamilySafe` / `isUnlisted` flags, the uploading channel (id, link, subscribers, avatar), the full description with parsed links and hashtags, available `captions` tracks (with `kind: asr` for auto-generated), Content-ID `music` matches (song/artist/album), creator `socialLinks`, and the `relatedVideos`, `endScreenVideos`, and `relatedShorts` rails. Use to enrich a video URL with metadata, monitor view/like growth, extract music or sponsor/affiliate links, gather features for recommender or RAG pipelines, or detect caption tracks before calling the YouTube Transcript endpoint.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.9. Values in angle brackets are yours to fill in.
claude mcp add --transport http youtube https://mcp.hasdata.com/mcp?apis=youtube --header 'x-api-key: <your-x-api-key>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__youtube__hasdata_youtube_channel_getYoutubeChannel",
"mcp__youtube__hasdata_youtube_search_getYoutubeSearchResults",
"mcp__youtube__hasdata_youtube_transcript_getYoutubeTranscript",
"mcp__youtube__hasdata_youtube_video_getYoutubeVideo"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as youtube. Review it before you use it.