Atlas / MCP servers / ergut / YouTube Transcript

YouTube TranscriptBLOCK

mcp/ergut/youtube-transcript-8

Zero-setup YouTube transcript extraction for Claude. Works on mobile, desktop, and web - no local installation required.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
1 1r · 0w · 0d
Transport
—
License
MIT
Stars
38
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

The first remote Model Context Protocol (MCP) server that enables Claude AI to extract transcripts from YouTube videos. This server offers zero-setup access for users on any platform including mobile devices.

[](https://deploy.workers.cloudflare.com/?url=https://github.com/ergut/youtube-transcript-mcp)

🌟 Features

  • Zero Local Setup: No installation required - works directly from the cloud
  • Universal Access: Works on desktop, mobile, and web versions of Claude
  • Smart Caching: Efficient caching system using Cloudflare KV for fast responses
  • Multi-language Support: Extract transcripts in different languages
  • Error Handling: Robust error handling with user-friendly messages
  • Analytics: Built-in request tracking and usage analytics
  • URL Flexibility: Handles all YouTube URL formats (youtube.com, youtu.be, m.youtube.com, etc.)

🚀 Quick Start

Option 1: Use Our Hosted Server (Recommended)

The easiest way to get started - just add our public server to your Claude Desktop:

For Claude Desktop Users

  1. Open Claude Desktop Settings
  2. Click on "Claude" in the menu bar → "Settings"
  3. Navigate to "Developer" tab
  4. Click "Edit Config"
  1. Add the MCP Server Configuration

Add this to your claude_desktop_config.json:

{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"mcp-remote",
"https://youtube-transcript-mcp.ergut.workers.dev/sse"
]
}
}
}
  1. Restart Claude Desktop

After saving the config file, restart Claude Desktop to load the server.

  1. Verify Installation

Look for the tools icon (🔧) in the chat interface. You should see the `get_tr

Read from source at commit 85eec69e2a7bOBSERVED · 2026-10-09
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add remote-mcp-github-oauth -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "remote-mcp-github-oauth": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
get_transcriptreadExtract transcript from YouTube video URL
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (5 observation(s))
Shell
declared (2 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (10)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
worker-configuration.d.ts:2213
exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
worker-configuration.d.ts:4648
exec(query: string): Promise<D1ExecResult>;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWInventory / provenance · inv.hidden_file · CWE-1104
.dev.vars.example
.dev.vars.example
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
src/github-handler.ts:68
const oauthReqInfo = JSON.parse(atob(c.req.query("state") as string)) as AuthRequest;
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
src/workers-oauth-utils.ts:34
const jsonString = atob(encoded);
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
src/workers-oauth-utils.ts:119
const payload = atob(base64Payload); // Assuming payload is base64 encoded JSON string
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
worker-configuration.d.ts:205
atob(data: string): string;
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
worker-configuration.d.ts:291
declare function atob(data: string): string;
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@cloudflare/workers-oauth-provider, @modelcontextprotocol/sdk, agents, hono, just-pick, octokit, url-parse, workers-mcp
Why it matters. 17 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
assets/logo.png
assets/logo.png
Why it matters. 1117785 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha 85eec69e2a7bfull audit observations/trust-audit/mcp-server/ergut__youtube-transcript-8.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0985eec69e2a7bBLOCKD69first audit
06

Questions

What is the YouTube Transcript MCP server?

Zero-setup YouTube transcript extraction for Claude. Works on mobile, desktop, and web - no local installation required.

What tools does YouTube Transcript expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is YouTube Transcript safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does YouTube Transcript need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (85eec69e2a7b), read on 2026-10-09. The repository is watched and re-audited when it changes.

Advertisement