mcpField
V
videohub-port

videohub-port

Local
github.com/CloudCorpRecordsSocial Media0Updated 2w ago

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

  1. 01Search and retrieve videos and channels
  2. 02List playlists and playlist items
  3. 03Read video comments and transcripts
  4. 04List channel videos and video categories
  5. 05Retrieve trending videos

Use cases

  1. 01Finding videos or channels by query
  2. 02Inspecting a video's comments or transcript
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-videohub-port": {
"command": "npx",
"args": [
"-y",
"@reneturcios/videohub-port"
]
}
}
}
Run commandnpx -y @reneturcios/videohub-port

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/videohub-port0.1.0
ocighcr.io/cloudcorprecords/videohub-port:0.1.0

Tools

12

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
orderstringNoSort order for the search results, passed to the YouTube search API (for example relevance, date, or viewCount).
querystringYesSearch query text matched against YouTube video titles and metadata.
max_resultsnumberNoMaximum number of videos to return.

Details

From the project README

videohub-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

Markdown supported

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.