Skip to main content
Glama
teobouancheau

YouTube Knowledge MCP

YouTube Knowledge MCP

npm version License: MIT Node.js GitHub stars

Ein Model Context Protocol (MCP)-Server, der KI-Assistenten die Möglichkeit gibt, Wissen aus YouTube-Videos zu suchen, zu analysieren und zu extrahieren. Funktioniert mit Claude Desktop, Claude Code, Claude.ai, Cursor und jedem MCP-kompatiblen Client.

Unterstützt sowohl lokale (stdio) als auch entfernte (Streamable HTTP) Transporte.

YouTube Knowledge MCP

Funktionen

Finden und lesen

  • Suchen Sie Videos und Kanäle per Schlüsselwort

  • Abrufen von Videos aus einer Wiedergabeliste oder einem Kanal

  • Metadaten zu Videos, Kanälen und Wiedergabelisten, Kapitel und Top-Kommentare

  • Transkripte mit Zeitstempeln, geschnitten nach Zeitbereich oder Kapitel und begrenzt, sodass ein dreistündiges Video Ihren Kontext nicht überflutet

  • Suchen Sie in einem Transkript und erhalten Sie ?t=-Links, die das Video genau an der betreffenden Stelle öffnen

  • Stapelwerkzeuge: Transkripte für viele Videos auf einmal oder eine Zusammenfassung einer gesamten Wiedergabeliste

Für die Bearbeitung extrahieren

  • Einen Zeitbereich ausschneiden, ohne das gesamte Video herunterzuladen – präzise oder an Keyframes schneiden, per Zeitstempel oder Kapitelname

  • Audioclips in MP3, M4A, WAV, FLAC oder Opus

  • Einzelbilderfassung zu jedem Zeitpunkt, ohne die Datei herunterzuladen

  • Untertitel-Export als SRT, WebVTT oder Klartext für Premiere, Resolve oder CapCut

  • Vollständige Downloads mit Qualitätsvoreinstellungen

Behalten Sie, was Sie lernen (lokaler Modus)

  • Speichern Sie Zusammenfassungen und Notizen zu Fähigkeiten in einer lokalen Bibliothek

  • Lesen Sie sie erneut und durchsuchen Sie alle per Volltext-Ranking

  • Taggen, umtaggen und löschen

Ein Gehirn für einen Kanal aufbauen (lokaler Modus)

  • Einen gesamten Kanal in ein durchsuchbares Korpus zeitgestempelter Passagen überführen, in jeder Untertitelsprache, fortsetzbar und gefahrlos unterbrechbar – ein zweiter Durchlauf setzt dort fort, wo er gestoppt wurde, und nimmt neue Uploads auf

  • Fragen, was ein Ersteller zu irgendetwas gesagt hat, in jedem Video, und erhalten Sie die Momente selbst mit Links, die das Video dort öffnen

  • Den Kanal vermessen: wie viel lesbar war, sein Upload-Rhythmus, seine Sprechgeschwindigkeit und die Phrasen, die er über Videos hinweg wiederholt

  • Ein schriftliches Profil neben dem Korpus führen, das auf Passagen basiert, die Sie zitieren können

Gebaut, um zuverlässig zu bleiben

  • WebVTT wird von der W3C-Referenzimplementierung geparst, nicht von einem handgeschriebenen Abgleicher

  • Typisierte, umsetzbare Fehler – „keine Untertitel auf Englisch, versuchen Sie: Französisch, Spanisch, Deutsch“ statt einer Wand aus yt-dlp-Fehlerausgabe

  • Timeouts, Wiederholungen mit Backoff und eine Begrenzung der Nebenläufigkeit bei jedem yt-dlp-Aufruf

  • check_health erkennt fehlendes oder veraltetes yt-dlp und ffmpeg

  • Strukturierte Ausgabe für jedes Werkzeug sowie MCP-Ressourcen, Prompts und Vervollständigungen

Related MCP server: YouTube Translate MCP

Voraussetzungen

  • Node.js 22+

  • yt-dlp – für jedes Werkzeug erforderlich. brew install yt-dlp (macOS) oder pip install -U yt-dlp

  • ffmpeg – erforderlich für Downloads, Clip-Extraktion und Einzelbilderfassung. Alles andere funktioniert auch ohne es.

Führen Sie das check_health-Werkzeug aus, um zu bestätigen, dass beide installiert und aktuell sind. Ein veraltetes yt-dlp ist die häufigste Ursache für unerklärliche Fehler, da sich YouTube häufig ändert; yt-dlp -U behebt die meisten davon.

Installation

Über npm (empfohlen)

npm install -g youtube-knowledge-mcp

Über npx (ohne Installation)

Direkt mit npx konfigurieren (siehe Abschnitt „Konfiguration“).

Aus dem Quellcode

git clone https://github.com/teobouancheau/youtube-knowledge-mcp.git
cd youtube-knowledge-mcp
npm install
npm run build

Konfiguration

Lokal (stdio) – Claude Desktop, Claude Code, Cursor

Schnellstart mit npx

{
  "mcpServers": {
    "youtube-knowledge": {
      "command": "npx",
      "args": ["-y", "youtube-knowledge-mcp"]
    }
  }
}

Bei globaler Installation

npm install -g youtube-knowledge-mcp
{
  "mcpServers": {
    "youtube-knowledge": {
      "command": "youtube-knowledge-mcp"
    }
  }
}

Speicherorte der Konfigurationsdateien

Client

Pfad

Claude Desktop (macOS)

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop (Windows)

%APPDATA%\Claude\claude_desktop_config.json

Claude Desktop (Linux)

~/.config/Claude/claude_desktop_config.json

Claude Code

.mcp.json in Ihrem Projekt oder ~/.claude/settings.json

Cursor

.cursor/mcp.json in Ihrem Projekt

Starten Sie Ihren Client nach der Aktualisierung der Konfiguration neu.

Remote (HTTP) – Claude.ai, Claude Mobile, Benutzerdefinierte Connectors

Der Server unterstützt den Streamable-HTTP-Transport für den Fernzugriff über die offiziellen Connectors von Claude.

Jede Remote-Einrichtung ist Ihre eigene Bereitstellung. Es gibt bewusst keine gemeinsame Instanz, auf die ein Connector zeigen könnte: Jeder Aufruf startet einen yt-dlp-Prozess, sodass ein einzelner Host, der den Datenverkehr anderer bedient, ein Host ist, den YouTube für alle einschränkt. Mit der Schaltfläche unten stellen Sie dieses Repository in etwa zwei Minuten in Ihrem eigenen Render-Konto bereit, ohne etwas zu klonen.

Selbst gehostet

npm run build
npm run start:http

Der Server lauscht auf PORT (Standard 3000). Setzen Sie die Umgebungsvariable PORT, um den Wert zu ändern.

Docker

docker build -t youtube-knowledge-mcp .

TOKEN=$(openssl rand -hex 32) && echo "MCP_AUTH_TOKEN=$TOKEN"
docker run -p 3000:10000 -e MCP_AUTH_TOKEN="$TOKEN" youtube-knowledge-mcp

Das Token wird ausgegeben, weil nichts anderes es ausgeben wird: Der Server protokolliert, dass ein Token erforderlich ist, niemals dessen Wert. Senden Sie es als Authorization: Bearer $TOKEN.

Das Image setzt PORT=10000 und macht es verfügbar; veröffentlichen Sie es auf einem beliebigen Host-Port. Der Build findet innerhalb des Images statt, daher ist kein lokales npm run build erforderlich.

Auf Render bereitstellen

Deploy to Render

Die Schaltfläche öffnet den Blueprint-Flow von Render mit render.yaml in diesem Repository, der das Docker-Image erstellt, den Health-Check auf /health ausrichtet und ein MCP_AUTH_TOKEN für Sie generiert. Kein Fork, kein Klon, keine auszufüllenden Einstellungen – der Dienst gehört Ihnen, auf Ihrem Konto.

  1. Klicken Sie auf die Schaltfläche und bestätigen Sie. Render erstellt das Image und stellt es bereit.

  2. Öffnen Sie den Tab Umgebung des Dienstes und kopieren Sie das generierte MCP_AUTH_TOKEN. Der HTTP-Transport lehnt jede Anfrage ohne dieses Token ab, sodass eine durchgesickerte URL keinen offenen Server darstellt.

  3. Fügen Sie https://<your-service>.onrender.com/mcp als benutzerdefinierten Connector hinzu, mit Authorization: Bearer <token>.

Sobald der Dienst existiert, ist Folgendes sinnvoll: Setzen Sie MCP_ALLOWED_HOSTS auf den Hostnamen Ihres Dienstes (<your-service>.onrender.com). Er kann nicht aus dem Blueprint ausgefüllt werden, da der Hostname erst existiert, wenn der Dienst es tut, und er Anfragen ablehnt, die unter einem anderen Namen eingehen.

Ihre Instanz folgt nicht diesem Repository. Der Blueprint setzt autoDeployTrigger: off, da ein automatisches Deployment Code, der hierher geschoben wird, in Ihrem Konto unter Ihrem Token ausführen würde, ohne dass Sie ihn zuerst gelesen haben. Um eine neuere Version zu übernehmen, verwenden Sie Manuelle Bereitstellung für den Dienst.

Der kostenlose Plan wechselt nach Inaktivität in den Ruhezustand, sodass der erste Aufruf nach einer Pause auf einen Kaltstart wartet. Jeder kostenpflichtige Plan beseitigt das.

Über Claude.ai verbinden

  1. Gehen Sie zu Einstellungen > Connectors

  2. Klicken Sie auf Benutzerdefinierten Connector hinzufügen

  3. Geben Sie Ihre Server-URL ein (z. B. https://your-app.onrender.com/mcp)

  4. Fügen Sie den Header Authorization: Bearer <token> hinzu, wenn Sie MCP_AUTH_TOKEN gesetzt haben

  5. Klicken Sie auf Hinzufügen

MCP-Werkzeuge

33 Werkzeuge. Die 14 schreibgeschützten funktionieren über beide Transporte; die 19, die auf Ihr Dateisystem zugreifen, sind nur im lokalen (stdio) Modus registriert, sodass eine Remote-Bereitstellung nicht auf die Festplatte des Hosts zugreifen kann.

Jedes Werkzeug gibt menschenlesbaren Text und typisierte strukturierte Ausgabe zurück und meldet Fehler als umsetzbare Meldung – [NO_CAPTIONS] No "en" captions are available for this video. Call get_transcript again with one of: fr, es, de.

Ermittlung – remote + lokal

Tool

Wichtige Parameter

Rückgabe

search_videos

query, limit

Passende Videos mit Dauer, Kanal und Aufrufzahlen

search_channels

query, limit

Passende Kanäle mit Abonnentenzahlen

fetch_videos

url, limit

Videos in einer Wiedergabeliste oder einem Kanal

get_video_info

video

Titel, Kanal, Dauer, Aufrufe, Likes, Beschreibung, Tags

get_channel_info

channel

Name, Handle, Abonnentenzahl, Beschreibung

get_playlist_info

url

Titel, Kanal, Videoanzahl, zuletzt aktualisiert

get_chapters

video

Kapiteltitel mit Start-/Endzeiten und Deep Links

get_comments

video, limit

Top-Kommentare nach Beliebtheit

list_formats

video

Verfügbare Formate, gruppiert nach Video+Audio, Nur-Video, Nur-Audio

check_health

yt-dlp- und ffmpeg-Status, Versionen und Warnungen zu veralteten Versionen

Transkripte – remote + lokal

Tool

Wichtige Parameter

Rückgabe

get_transcript

video, language, format, startTime/endTime, chapter, maxChars, offset, refresh

Transkript als Klartext, mit Zeitstempeln versehene Zeilen oder Cues

search_transcript

video, query, regex, caseSensitive, limit, contextSeconds

Übereinstimmungen mit Zeitstempeln und ?t=-Deep-Links

get_transcripts

videos (bis zu 25), language, maxCharsPerVideo

Transkripte für viele Videos; Fehler werden pro Video gemeldet

digest_playlist

url, limit, includeChapters, includeTranscriptStats

Metadaten pro Video, Kapitel und Transkript-Statistiken

format: "timestamped" stellt jeder Zeile [MM:SS] voran – verwenden Sie es, wenn Sie einen Moment zitieren oder verlinken müssen. maxChars mit offset liest ein langes Transkript in Teilen, statt 100.000+ Tokens auf einmal zurückzugeben.

Extraktion für die Bearbeitung – nur lokal

Tool

Wichtige Parameter

Rückgabe

extract_clip

video, start+end oder chapter, quality, preciseCuts, outputDir

Pfad zum ausgeschnittenen Video

extract_audio_clip

video, start+end oder chapter, audioFormat, outputDir

Pfad zur Audiodatei

extract_clips

video, ranges (bis zu 20), quality, preciseCuts, outputDir

Eine Datei pro Bereich

extract_frame

video, timestamp, format, outputDir

Pfad zu einem PNG- oder JPG-Standbild

export_subtitles

video, format (srt/vtt/txt), language, outputDir

Pfad zur Untertiteldatei

download_video

video, quality, formatId, outputDir

Pfad zum heruntergeladenen Video

Clips werden mit --download-sections geschnitten, sodass nur der Bytebereich abgerufen wird, der das Fenster abdeckt, nicht die gesamte Datei. preciseCuts (Standard true) schneidet exakt an den gewünschten Zeiten; setzen Sie es auf false, um einen schnelleren, an Keyframes ausgerichteten Schnitt zu erhalten. Alle diese Funktionen erfordern ffmpeg.

Wissensbibliothek — nur lokal

Tool

Wichtigste Parameter

Rückgabe

save_to_library

videoId, title, content, contentType, channel, tags

Pfad zur gespeicherten Notiz

list_library

tag

Gespeicherte Einträge, neueste zuerst

get_library_item

videoId, contentType

Das gespeicherte Markdown und seine Metadaten

search_library

query, limit, offset

Relevante Treffer mit Auszügen

update_library_tags

videoId, add, remove, replace

Die aktualisierten Tags

delete_library_item

videoId, contentType

Was gelöscht wurde

rebuild_library_index

Anzahl der neu indizierten Notizen

Kanal-Gehirne — nur lokal

Tool

Wichtigste Parameter

Rückgabe

build_brain

channel, maxVideos, language, since, minDurationSeconds

Was gelesen wurde, was ausgeschlossen wurde und die Statistiken

ask_brain

channel, query, limit, offset

Passagen mit Zeitstempeln und ?t=-Links

list_brains

Jedes lokal erstellte Gehirn

get_brain_info

channel, includeVideos

Abdeckung, Statistiken und wiederkehrende Ausdrücke

save_brain_profile

channel, content

Pfad zum gespeicherten Profil

delete_brain

channel

Was entfernt wurde

build_brain ist das einzige, das auf das Netzwerk zugreift. Die übrigen lösen einen Kanal aus dem bereits auf der Festplatte Vorhandenen auf, sodass sie offline arbeiten und nichts kosten.

Ein Gehirn enthält eine Untertitelsprache; übergib language, um eine andere zu lesen, und erstelle ein separates Gehirn pro Sprache.

since und minDurationSeconds beschreiben das Gehirn, nicht nur den Aufruf, der sie übergeben hat. Sie werden jedes Mal erneut angewendet. Wenn du eines einschränkst, werden die Passagen der ausgeschlossenen Videos verworfen; wenn du es erweiterst, werden sie erneut gelesen — deshalb ist build_brain als destruktiv markiert. Ob ein Video qualifiziert ist, wird anhand des bereits aufgezeichneten Datums und der Länge entschieden. Wenn du deine Meinung änderst, kostet das also keine Anfragen, bis es etwas Neues zu holen gibt. Diese Werte stammen aus den eigenen Metadaten jedes Videos, niemals aus einer Schätzung: Eine flache Kanalliste enthält überhaupt kein Veröffentlichungsdatum.

build_brain repariert außerdem. Wenn die Passagendatei verloren geht oder abgeschnitten ist, werden die Videos, für die sie nicht mehr aufkommen kann, beim nächsten Aufruf erneut gelesen, anstatt für immer als bereits erledigt übersprungen zu werden.

Prompts

Wiederverwendbare Workflows, die dein Client direkt aufrufen kann: summarize_video, extract_skill, compare_videos, research_topic, channel_deep_dive, clip_from_quote (einen Ausdruck finden und dann den Clip darum herum ausschneiden) und — nur lokal — review_library, create_brain (das Korpus eines Kanals aufbauen und daraus sein Profil schreiben) und ask_creator (eine Frage streng auf Basis eines Gehirns mit Quellenangaben beantworten).

Ressourcen

  • youtube://transcript/{videoId} — ein Transkript mit Zeitstempeln, das beim ersten Lesen abgerufen und zwischengespeichert wird

  • youtube://library/{videoId}/{summary|skill} — eine gespeicherte Notiz (nur lokal und aufzählbar)

  • youtube://brain/{channelId}/{manifest|profile} — was ein Kanal-Gehirn abdeckt oder das daraus geschriebene Profil (nur lokal und aufzählbar)

Fehlercodes

Fehler werden im Ergebnis gemeldet, damit das Modell sie lesen und sich davon erholen kann. Jeder ist mit einem Code versehen und enthält einen nächsten Schritt.

Code

Bedeutung

PRIVATE, AGE_GATED, MEMBERS_ONLY, PREMIUM_ONLY, NOT_FOUND

Das Video kann nicht abgerufen werden

LOGIN_REQUIRED

yt-dlp meldet, dass das Video ein angemeldetes Konto benötigt

NO_CAPTIONS

Keine Untertitel in der angeforderten Sprache; die Meldung listet die vorhandenen auf

LIVE_NOT_ENDED

Ein bevorstehender Stream oder einer, dessen Aufzeichnung noch verarbeitet wird

RATE_LIMITED, TIMEOUT

Vorübergehend; werden automatisch mit Backoff erneut versucht, bevor sie angezeigt werden

YTDLP_MISSING, FFMPEG_MISSING, YTDLP_FAILED

Ein Tooling-Problem; die Meldung erklärt, wie es zu beheben ist

INVALID_INPUT

Ein ungültiges Argument, das vor jedem Netzwerkaufruf abgefangen wird

CANCELLED

Der Client hat die Anfrage abgebrochen

Umgebungsvariablen

Alle optional.

Variable

Standard

Zweck

MCP_AUTH_TOKEN

unset

Dieses Bearer-Token auf dem HTTP-Transport verlangen. Setze dies, wenn du den Server über localhost hinaus verfügbar machst.

MCP_ALLOWED_HOSTS

unset

Kommagetrennte Host-Zulassungsliste; aktiviert DNS-Rebinding-Schutz

MCP_ALLOWED_ORIGINS

unset

Kommagetrennte Origin-Zulassungsliste

MCP_BIND_HOST

0.0.0.0

Zu bindende Schnittstelle

PORT

3000

HTTP-Port. Das Docker-Image setzt 10000; Render und ähnliche Plattformen setzen ihren eigenen ein

MCP_RATE_LIMIT

60

Anfragen pro Fenster, pro Client

MCP_RATE_WINDOW_MS

60000

Fenster für die Ratenbegrenzung

MCP_SESSION_IDLE_MS

1800000

HTTP-Sitzungen schließen, die so lange inaktiv sind

MCP_MAX_SESSIONS

1000

Neue Sitzungen über diese Anzahl hinaus ablehnen

YOUTUBE_MCP_MAX_CONCURRENCY

3

Gleichzeitige yt-dlp-Prozesse

YOUTUBE_MCP_TRANSCRIPT_TTL_MS

30 Tage

Lebensdauer des Transkript-Caches

Bibliotheksspeicher

Inhalte werden unter ~/.youtube-knowledge/ gespeichert:

~/.youtube-knowledge/
├── transcripts/          # Cached timestamped transcripts
│   └── {video_id}.{lang}.json
├── library/              # Saved notes
│   └── {video_id}/
│       ├── metadata.json
│       ├── summary.md
│       └── skill.md
├── brains/               # Channel brains
│   └── {channel_id}/
│       ├── manifest.json # What the brain covers, and where a build stopped
│       ├── chunks.json   # The timestamped passages
│       └── profile.md    # The written account, if one was saved
├── downloads/            # Full downloads
├── clips/                # Extracted clips
├── frames/               # Captured stills
├── subtitles/            # Exported SRT / VTT / TXT
├── index.json            # Library index
└── search-index.json     # Full-text search index

Transkripte werden standardmäßig 30 Tage lang zwischengespeichert; übergib refresh: true an ein beliebiges Transkript-Tool, um den Cache zu umgehen, oder setze YOUTUBE_MCP_TRANSCRIPT_TTL_MS.

Jedes Tool, das Dateien schreibt, beschränkt seine Ausgabe auf dein Home-Verzeichnis, und outputDir wird abgelehnt, wenn es woandershin zeigt.

Anwendungsbeispiele

Einen Moment finden und zitieren

"Find where this video talks about rate limiting and give me the timestamp:
 https://youtube.com/watch?v=..."

search_transcript gibt jeden Treffer mit einem Link zurück, der das Video an dieser Sekunde öffnet, sodass die Behauptung überprüft werden kann, statt ihr zu vertrauen.

Einen Moment finden und ausschneiden

"Find where she says 'the real bottleneck was the database' and cut me a
 30-second clip around it"

search_transcript findet den Moment, extract_clip schneidet ihn aus. Es wird nur der Bytebereich heruntergeladen, der den Clip abdeckt.

Einen Abschnitt eines langen Videos lesen

"Summarize just the 'Benchmarks' chapter of this 3-hour podcast"

get_chapters findet den Abschnitt, dann liest get_transcript mit chapter: "Benchmarks" nur diesen Teil, statt des Ganzen.

Eine Playlist kostengünstig überblicken

"What does this 40-video course cover, and which three videos should I watch?"

digest_playlist liefert Metadaten und Kapitel für jedes Video in einem einzigen Aufruf.

Filmmaterial für einen Schnitt vorbereiten

"Pull these four moments as separate clips and export the subtitles as SRT"

extract_clips schneidet alle vier in einem Aufruf; export_subtitles schreibt eine Datei, die dein Editor importieren kann.

Eine Wissensdatenbank aufbauen und abfragen

"Summarize this video and save it to my library tagged 'databases'"
"What have I saved about connection pooling?"

save_to_library speichert es; search_library durchsucht alles Gespeicherte mit Volltextrankings.

Ein Gehirn für einen Creator aufbauen

"Build a brain for @Fireship, then tell me everything they've said about Rust"

build_brain liest den Kanal in Passagen mit Zeitstempel — unterbrich es und rufe es erneut auf, um fortzufahren. ask_brain antwortet dann auf der Grundlage dessen, was tatsächlich gesagt wurde, und gibt die Momente selbst zurück, sodass jede Behauptung anhand des Videos überprüft werden kann. Führe build_brain einen Monat später erneut aus, und es liest nur die neuen Uploads.

Tests

npm test              # Run all tests
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report, with thresholds enforced

Die Testsuite deckt die reine Logik direkt ab, treibt den echten Server über einen MCP-Client über einen In-Memory-Transport an, testet die Bibliothek gegen ein echtes temporäres Dateisystem und erstellt einen Schnappschuss des Tool-Manifests, sodass jede Änderung an der öffentlichen Oberfläche als überprüfbarer Diff erscheint.

Entwicklung

npm run dev        # Watch mode
npm run build      # Build for production
npm run rebuild    # Clean and rebuild
npm start          # Run server (stdio)
npm run start:http # Run server (HTTP)
npm run validate   # Typecheck + lint + format check + test

CI führt bei jedem Push und Pull-Request dieselbe Prüfung unter Node 22 und 24 aus und startet dann den gebauten Server als echten MCP-Client, um das Manifest zu verifizieren.

Mitwirken

Beiträge sind willkommen — siehe CONTRIBUTING.md für die Projektstruktur, Codierungsstandards und wie man ein Tool hinzufügt.

Sicherheit

Der HTTP-Transport ist ohne Authentifizierung, es sei denn, du setzt MCP_AUTH_TOKEN. Siehe SECURITY.md, bevor du ihn über localhost hinaus verfügbar machst, und um eine Schwachstelle zu melden.

Lizenz

MIT-Lizenz – siehe LICENSE für Details.

Danksagungen

  • yt-dlp für die YouTube-Extraktion

  • Anthropic für das Model Context Protocol


Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
10Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/teobouancheau/youtube-knowledge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server