# HasData YouTube [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/HasData/youtube-mcp  
**GitHub Stars:** 6  
**npm Downloads (last month):** 1139  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/hasdata-youtube

## Description
Search YouTube and read video, channel and transcript data as JSON. No Google Cloud project.

## Tools
Capabilities this server exposes over MCP:

- **hasdata_youtube_channel_getYoutubeChannel** — Channel identity (title, description, avatar, banner, country, join date), subscriber and total-view counts, social links, and the items on the requested tab (videos…. 10 credits a call
- **hasdata_youtube_search_getYoutubeSearchResults** — Searches YouTube for a query and returns the full results page split into `videoResults` (videoId, title, views, length, publish date, chapters, channel info, extensions…. 10 credits a call
- **hasdata_youtube_transcript_getYoutubeTranscript** — The timed transcript (subtitles) of a YouTube video by its 11-character `videoId`. 10 credits a call
- **hasdata_youtube_video_getYoutubeVideo** — Title, thumbnail, raw + normalized views and likes, `lengthSeconds`, publish date, category, keywords/tags, `isFamilySafe` / `isUnlisted` flags, the uploading channel…. 10 credits a call

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "hasdata-youtube": {
    "command": "npx",
    "args": ["-y","@hasdata/youtube-mcp"],
    "env": {
      "HASDATA_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `HASDATA_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What HasData YouTube MCP server does

HasData YouTube MCP server exposes four read-only operations for querying public YouTube data. Agents can search for videos, inspect a channel and one of its tabs, retrieve metadata for a specific video, or request its timed subtitles. Responses are returned as JSON through MCP, making the data available to compatible chat clients and applications without requiring a separate YouTube Data API integration.

The service is suited to research and analysis tasks such as finding videos by query and filters, comparing channel activity, extracting video statistics, or using transcripts as source material. It does not provide write operations for publishing, editing, liking, or managing YouTube content.

## How it works

The hosted endpoint uses streamable HTTP:

`https://mcp.hasdata.com/mcp?apis=youtube`

Clients authenticate with the `x-api-key` header containing a HasData API key. The server handles the YouTube data retrieval, so a Google Cloud project, Google account, and YouTube Data API key are not required.

Search requests can use YouTube filter tokens, including duration, upload date, and content type. Search results may include video IDs, titles, views, length, publication dates, chapters, channel details, and extensions. Channel responses include identity information, counts, social links, and items from the requested tab. Video responses include raw and normalized engagement values, duration, category, tags, safety and listing flags, and uploader details. Transcript responses contain timed subtitle data and available language tracks.

Each successful call uses 10 credits. Paging requires additional calls, so broad research jobs can consume credits faster than focused lookups. The stated free allowance is 1,000 credits per month, equivalent to 100 calls, with no card required.

## Setup and configuration

Create a HasData API key through the HasData dashboard, then configure an MCP client with the endpoint and authentication header. The README documents remote configurations for Claude Desktop, Claude Code, Cursor, Windsurf, Cline, VS Code, Codex CLI, and Gemini CLI.

For clients that support remote streamable HTTP servers, use the endpoint directly. Claude Desktop's configuration-file route uses a local stdio launcher instead: the npm package `@hasdata/youtube-mcp` can run through `npx`, while the PyPI package `hasdata-youtube-mcp` can run through `uvx`. Both launcher approaches read the `HASDATA_API_KEY` environment variable.

Clients with OAuth support can add the endpoint as a connector and sign in instead of placing the API key in a configuration file. The server is remote, so no container is needed for the hosted setup.

## Tools and capabilities

HasData YouTube MCP server includes these tools:

- `hasdata_youtube_search_getYoutubeSearchResults` searches YouTube and returns a structured results page, including video identifiers, titles, views, lengths, dates, chapters, and channel information.
- `hasdata_youtube_channel_getYoutubeChannel` returns channel identity, description, imagery, country, join date, subscriber and view totals, social links, and content from a selected tab.
- `hasdata_youtube_video_getYoutubeVideo` retrieves video metadata such as title, thumbnail, views, likes, duration, date, category, keywords, safety flags, listing status, and uploading-channel information.
- `hasdata_youtube_transcript_getYoutubeTranscript` retrieves timed subtitles for an 11-character YouTube video ID and exposes available language tracks.

The tools are useful for workflows that combine calls, such as searching for a topic and then fetching a transcript, or reading a channel before examining a particular tab. Related videos may be included in a video response, depending on the returned data.

## Limitations and notes

The HasData YouTube MCP server is read-only. Every successful tool call costs 10 credits, and each page of results or additional transcript request can use another call. The free monthly allowance is therefore better suited to targeted questions than unrestricted crawling.

Direct MCP responses contain a text block whose contents are JSON. In raw JSON-RPC handling, clients may need to read `result.content[0].text`, parse it, and then access the returned `json` field. Chat clients typically unwrap this structure automatically.

Transcript availability depends on the video and its available subtitle languages. Channel tab contents and YouTube metrics can change over time, so returned counts and result sets should be treated as current response data rather than fixed records.

_Full upstream README: https://allmcps.com/mcp/hasdata-youtube/readme_

