Skip to content

Releases

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 06:24
ba4dbf7

YouTube MCP v1.1.1

A patch release improving provider/access documentation. Runtime behavior and
MCP tool/API compatibility are unchanged from 1.1.0.

Install

Run the exact version with Node.js 22 or newer:

npx -y @granitebps/youtube-mcp@1.1.1

See the
client configuration guide
for setup examples.

Changes

  • Made the independent, unofficial project status explicit: no affiliation,
    endorsement, or sponsorship by YouTube or Google.
  • Clarified that the default InnerTube provider uses an unofficial/internal
    YouTube interface through youtubei.js for metadata, comments, and search.
  • Disclosed that transcript tools always use unofficial youtube-transcript-plus
    access, including when YT_PROVIDER=api is selected.
  • Clarified official YouTube Data API v3 setup with the user's own
    YOUTUBE_API_KEY (BYOK). The project does not distribute or host a shared key.
  • Added an access guide
    with the tool/backend mapping, operational limitations, direct dependency
    license findings, and the distinction between software licenses and service
    terms.

Compatibility

No changes to runtime behavior, default provider, tool names, inputs, outputs, or
error contracts. The reported server version becomes 1.1.1. InnerTube, the
official API provider, and transcript support remain available under the existing
v1 compatibility contract.

Known limitations

  • Unofficial access can change, break, be restricted, or be blocked. Selecting the
    official provider does not change the transcript access path or prevent
    transcript access failures.
  • Official API calls require the user's valid key and remain subject to project
    quotas, key restrictions, and applicable service terms.
  • Caption availability, manual-track selection when manual and automatic tracks
    share a language, and partial comment replies are unchanged.
  • youtube-transcript-plus@2.0.0 declares MIT but omits its license file from the
    published package; see the access guide for upstream notice and redistribution
    details.

The project remains ISC licensed. This release is informational; it does not
certify legal compliance or commercial suitability. Users remain responsible for
applicable service terms and law.

v1.1.0

Choose a tag to compare

@granitebps granitebps released this 14 Oct 14:04
c4c2f26

YouTube MCP v1.1.0

A minor release that adds an optional official YouTube Data API v3 provider and
a get_server_info tool. The default behavior is unchanged from 1.0.1.

Install

Run the exact version with Node.js 22 or newer:

npx -y @granitebps/youtube-mcp@1.1.0

See the
client configuration guide
for Claude, Codex, OpenCode, Cursor, and VS Code examples.

Changes

  • New YT_PROVIDER setting chooses the backend for get_video_info,
    get_video_comments, and search_youtube:

    • innertube (default) keeps using youtubei.js, as in 1.0.x;
    • api uses the official YouTube Data API v3 and requires
      YOUTUBE_API_KEY. It works from cloud and VPS IP ranges that YouTube
      blocks for InnerTube.

    Transcript tools always use youtube-transcript-plus, whichever provider is
    selected. See the
    providers guide
    for setup, quota costs, and differences.

  • With the api provider, search_youtube applies every sortBy and
    uploadDate option exactly, so it returns no warnings. Dates are ISO 8601
    timestamps.

  • The API key is sent in a request header and never appears in URLs, errors,
    or logs. An exhausted daily quota is reported as ACCESS_BLOCKED with the
    new accessKind: "quota_exceeded".

  • New get_server_info tool reports the version, the active provider, and the
    backend serving each tool.

Compatibility

No existing tool, input, result field, or error code changes. The
v1 compatibility contract
now documents the new tool, the opt-in provider and its date formats, and the
new accessKind value.

Known limitations

  • With the default provider, YouTube may rate-limit, CAPTCHA, or require
    sign-in for some networks, especially cloud and VPS IP ranges. Those cases
    return ACCESS_BLOCKED.
  • Transcript tools do not use the API key, so they can still return
    ACCESS_BLOCKED from blocked IP ranges. The server does not use cookies,
    proxies, or accounts.
  • The Data API has a default daily quota of 10,000 units plus a separate
    allowance of 100 searches. Comment page N costs N units because the API only
    pages forward.
  • When a language has both manual and auto-generated captions, only the manual
    track can be fetched.
  • A transcript is caption text only; the server does not analyze video frames.

This project is unofficial and is not affiliated with YouTube or Google. Report
suspected vulnerabilities through the
private security route,
not a public issue.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:42
d3414b2

YouTube MCP v1.0.1

A patch release with two fixes. There are no tool, input, or error-code changes
from 1.0.0; search_youtube gains an optional warnings result field.

Install

Run the exact version with Node.js 22 or newer:

npx -y @granitebps/youtube-mcp@1.0.1

See the
client configuration guide
for Claude, Codex, OpenCode, Cursor, and VS Code examples.

Changes

  • search_youtube reports options YouTube search cannot apply instead of
    ignoring them silently. YouTube only orders search results by relevance or
    popularity and only filters uploads from "today" up:

    • sortBy: "date" keeps relevance order (SORT_NOT_SUPPORTED);
    • sortBy: "rating" sorts by popularity (SORT_APPROXIMATED);
    • uploadDate: "hour" is applied as today (UPLOAD_DATE_APPROXIMATED).

    Each case adds an entry to the optional warnings array and a line in the
    text summary. Before this release, date and hour had no effect.

  • The video-info, comments, and search caches have a size limit and drop
    expired entries, so a long-running server no longer grows without bound.

  • This is the first version published by the release workflow through npm
    trusted publishing, so npm shows a provenance attestation.

Compatibility

The
v1 compatibility contract
is unchanged apart from the new optional search field, which the contract
allows within 1.x.

Known limitations

  • YouTube may rate-limit, CAPTCHA, or require sign-in for some networks,
    especially cloud and VPS IP ranges. Those cases return ACCESS_BLOCKED; the
    server does not use cookies, proxies, or accounts.
  • When a language has both manual and auto-generated captions, only the manual
    track can be fetched.
  • Comment replies include only those YouTube sends with the thread, and
    commentCount is often null.
  • A transcript is caption text only; the server does not analyze video frames.

This project is unofficial and is not affiliated with YouTube or Google. Report
suspected vulnerabilities through the
private security route,
not a public issue.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:12
8883ec4

YouTube MCP v1.0.0

First published release. YouTube MCP reads YouTube video metadata, caption
transcripts, comments, and search results through MCP, without a YouTube API
key or account.

Install

Run the exact version with Node.js 22 or newer:

npx -y @granitebps/youtube-mcp@1.0.0

See the
client configuration guide
for Claude, Codex, OpenCode, Cursor, and VS Code examples.

Highlights

  • Five tools: get_video_info, get_transcript_languages,
    get_video_transcript, get_video_comments, and search_youtube.
  • Errors carry a stable code and YouTube's own evidence (HTTP status,
    playability status, reason). Rate limits, bot checks, and sign-in walls are
    reported as ACCESS_BLOCKED, never as a deleted video or missing captions.
  • Deadlines and MCP cancellation abort the underlying HTTP requests.
  • Transcripts paginate with startSegment / nextStartSegment, report whether
    the track is auto-generated, and default to the first manual track when no
    language is given.
  • Timeouts and transcript size limits are configurable through YT_*
    environment variables.

Compatibility

The
v1 compatibility contract
covers tool names, inputs, result fields, and error codes throughout 1.x.

Known limitations

  • YouTube may rate-limit, CAPTCHA, or require sign-in for some networks,
    especially cloud and VPS IP ranges. Those cases return ACCESS_BLOCKED; the
    server does not use cookies, proxies, or accounts.
  • When a language has both manual and auto-generated captions, only the manual
    track can be fetched.
  • Comment replies include only those YouTube sends with the thread.
  • A transcript is caption text only; the server does not analyze video frames.
  • This npm version was published manually and has no provenance attestation.

This project is unofficial and is not affiliated with YouTube or Google. Report
suspected vulnerabilities through the
private security route,
not a public issue.