1. Conduid
  2. Social
  3. YouTubeMCPServer
MCP server · Social

YouTubeMCPServer

Small .NET 9 Model Context Protocol (MCP) server that exposes a tool to fetch YouTube video transcripts using YoutubeExplode. The server communicates over stdio using the ModelContextProtocol package and is designed to be launched by an MCP‑compatible client.

Unclaimed social
34Low

Scored 6 months ago · breakdown

About YouTubeMCPServer

YouTubeMCPServer is an MCP server in the Social category: small .NET 9 Model Context Protocol (MCP) server that exposes a tool to fetch YouTube video transcripts using YoutubeExplode. The server communicates over stdio using the ModelContextProtocol package and is designed to be launched by an MCP‑compatible client.

Install

From source
git clone https://github.com/robalexclark/YouTubeMCPServer

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about YouTubeMCPServer

Powered by Claude · Grounded in docs

I know everything about YouTubeMCPServer. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

YouTube MCP Server

Small .NET 9 Model Context Protocol (MCP) server that exposes a tool to fetch YouTube video transcripts using YoutubeExplode. The server communicates over stdio using the ModelContextProtocol package and is designed to be launched by an MCP‑compatible client.

Features

  • MCP stdio server: Registers tools via WithToolsFromAssembly() and serves MCP JSON‑RPC over stdio.
  • Transcript tool: Fetches captions for a YouTube URL/ID, preferring English and falling back to the first available track.
  • Plain‑text output: Returns a single text block containing the transcript lines (SRT output is not currently selectable via inputs).

Requirements

  • .NET 9 SDK

Build

  • Restore and build: dotnet build YouTubeMCPServer/YouTubeMCPServer.csproj -c Release

Run

  • Typical (from an MCP client): Configure the client to launch this server over stdio.
  • Manual run: dotnet YouTubeMCPServer/bin/Release/net9.0/YouTubeMCPServer.dll
    • The process waits for MCP JSON‑RPC messages on stdio and logs to the console.

MCP Tool

  • Name: RetrieveYoutubeTranscript (derived from the public tool method name).
  • Description: Retrieves the transcript for a given YouTube URL/ID.
  • Inputs:
    • url (string, required): YouTube video URL or ID.
  • Output: A single text value containing the transcript lines concatenated with newlines.
  • Behavior: Attempts the en track first; if unavailable, falls back to the first available caption track.

Example Client Configuration

  • MCP client (e.g., Claude Desktop) using stdio:
    • Command: dotnet
    • Args: ["YouTubeMCPServer/bin/Release/net9.0/YouTubeMCPServer.dll"]

Example

Call the tool over MCP JSON-RPC:

Request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "RetrieveYoutubeTranscript",
    "arguments": {
      "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    }
  }
}

Response (truncated):

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "…transcript text…"
      }
    ]
  }
}

Project Layout

  • YouTubeMCPServer/Program.cs: Host setup, stdio transport, logging, tool registration.
  • YouTubeMCPServer/Tools/YouTubeTranscriptionTool.cs: Implements the transcript tool using YoutubeExplode.
  • YouTubeMCPServer/YouTubeMCPServer.csproj: Targets net9.0 and references ModelContextProtocol and YoutubeExplode.

Notes

  • No API keys required; relies on publicly accessible caption tracks via YoutubeExplode.
  • Auto-generated captions may vary in quality; some videos lack captions entirely.
  • Logging is emitted to stdout/stderr; Ctrl+C triggers graceful shutdown.

Use in ChatGPT (MCP URL)

  • This server communicates over stdio. To add it to ChatGPT via a URL-based MCP manifest:

    1. Build Release: dotnet build YouTubeMCPServer/YouTubeMCPServer.csproj -c Release
    2. Generate a local manifest: pwsh scripts/generate-mcp-manifest.ps1 (outputs mcp-manifest.json with absolute paths on your machine)
    3. Host the resulting mcp-manifest.json at an HTTPS URL (e.g., a private GitHub Gist raw link, GitHub Pages, or any static file host). You can also inspect mcp-manifest.example.json for the expected shape.
    4. In ChatGPT → Settings → Workspace → Add a connection → From URL, paste the HTTPS URL to your hosted manifest.
  • The manifest uses stdio transport and will instruct ChatGPT to launch the built server locally. If you move the repo or rebuild to a new location, regenerate and re-upload the manifest so the command path stays correct.

  • Troubleshooting:

    • If ChatGPT can’t start the server, confirm the manifest’s command/args paths are valid on your machine and the file is executable.
    • Windows: the generator prefers the YouTubeMCPServer.exe if present; otherwise it uses dotnet <dll>.
    • macOS/Linux: ensure dotnet is on your PATH and use the dotnet <dll> form.

License

This project is licensed under the terms in LICENSE.txt.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About YouTubeMCPServer

How do I install YouTubeMCPServer?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is YouTubeMCPServer safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is YouTubeMCPServer still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.