Repository navigation
Releases
v1.1.1
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.1See 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 throughyoutubei.jsfor metadata, comments, and search. - Disclosed that transcript tools always use unofficial
youtube-transcript-plus
access, including whenYT_PROVIDER=apiis 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.0declares 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
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.0See the
client configuration guide
for Claude, Codex, OpenCode, Cursor, and VS Code examples.
Changes
-
New
YT_PROVIDERsetting chooses the backend forget_video_info,
get_video_comments, andsearch_youtube:innertube(default) keeps using youtubei.js, as in 1.0.x;apiuses 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
apiprovider,search_youtubeapplies everysortByand
uploadDateoption 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 asACCESS_BLOCKEDwith the
newaccessKind: "quota_exceeded". -
New
get_server_infotool 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
returnACCESS_BLOCKED. - Transcript tools do not use the API key, so they can still return
ACCESS_BLOCKEDfrom 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
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.1See the
client configuration guide
for Claude, Codex, OpenCode, Cursor, and VS Code examples.
Changes
-
search_youtubereports 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 astoday(UPLOAD_DATE_APPROXIMATED).
Each case adds an entry to the optional
warningsarray and a line in the
text summary. Before this release,dateandhourhad 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 returnACCESS_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
commentCountis oftennull. - 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
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.0See 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, andsearch_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 asACCESS_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 returnACCESS_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.