About videohub-port
videohub-port is an MCP server for read-only access to YouTube videos, channels, playlists, comments, and transcripts through the YouTube Data API v3. It uses an API key and includes no write tools or OAuth flow.
Key features
- 01Search and retrieve videos and channels
- 02List playlists and playlist items
- 03Read video comments and transcripts
- 04List channel videos and video categories
- 05Retrieve trending videos
Use cases
- 01Finding videos or channels by query
- 02Inspecting a video's comments or transcript
- 03Browsing playlist contents or channel videos
MCP support
Exposes 12 YouTube-reading tools to MCP clients, including search, retrieval, comments, playlists, and transcripts. Data API calls require YOUTUBE_API_KEY; transcript retrieval uses the public timedtext endpoint.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
12Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| order | string | No | Sort order for the search results, passed to the YouTube search API (for example relevance, date, or viewCount). |
| query | string | Yes | Search query text matched against YouTube video titles and metadata. |
| max_results | number | No | Maximum number of videos to return. |
Details
From the project READMEvideohub-port
YouTube videos, channels and playlists as MCP tools, talking to the YouTube Data API v3. videohub-port is a clean-room rebuild of the core surface of the community YouTube MCP servers, under a new name: fresh code, no copied branding.
Auth model: TOKEN/KEY-ENV ONLY. Public reads use the YouTube
Data API v3 with YOUTUBE_API_KEY sent as the key query
parameter. The community originals' OAuth flow (for uploads,
subscriptions writes and my-channel management) is NOT
reproduced — there are no write tools in this subset.
Tools (core subset, 12)
search_videos, get_video, list_video_comments,
get_channel, search_channels, list_playlists,
get_playlist, list_playlist_items, get_video_transcript,
list_channel_videos, get_video_categories,
get_trending_videos.
The transcript tool is simplified: it is not a Data API call. It
fetches the public timedtext endpoint with fmt=json3 for the
requested language track directly (no caption-track
listing/selection, no key parameter) and joins the json3 events
into plain text; when no track is available it returns an honest
"no caption track available" error and never invents text.
Not in this subset: the OAuth flow and all writes (uploads, playlist create/edit, subscriptions, likes/ratings, comments posting), my-channel/subscriptions reads requiring OAuth, live streaming, video insert/update/delete, channel sections/branding, i18n depth beyond categories/trending region, the analytics API, and captions download in srt/vtt formats or caption-track listing.
Setup
Create an API key in the Google Cloud console (YouTube Data API v3 enabled) and set it:
export YOUTUBE_API_KEY=AIza...
Optionally override the API base with YOUTUBE_API_BASE_URL
(default https://www.googleapis.com/youtube/v3) and the
transcript base with YOUTUBE_TIMEDTEXT_BASE_URL (default
https://www.youtube.com/api/timedtext). Every Data API request
carries Accept: application/json and the key as the key
query parameter (no Authorization header). Without the key,
every tool call fails with an error naming the missing
variable.
CLI
npx @reneturcios/videohub-port search_videos '{"query":"lo fi"}'
npx @reneturcios/videohub-port mcp # stdio MCP server
Each tool name is a subcommand taking one JSON object argument.
MCP client config
{
"mcpServers": {
"videohub-port": {
"command": "npx",
"args": ["-y", "@reneturcios/videohub-port", "mcp"],
"env": { "YOUTUBE_API_KEY": "AIza..." }
}
}
}
Docker
docker run -i -e YOUTUBE_API_KEY ghcr.io/cloudcorprecords/videohub-port
Development
npm install
npm run build
npm test
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.