Skip to main content
Glama
extempore66

web-summaries-mcp

by extempore66

web-summaries-mcp

A Streamable HTTP MCP (Model Context Protocol) server that fetches YouTube transcripts and lets an LLM semantically search within them.

Tools

  • get_transcript — fetches the full transcript of a YouTube video, given a video ID or URL (watch, youtu.be, embed, shorts links all work).

  • search_transcript — semantically searches a transcript by meaning. Chunks the transcript, embeds each chunk and the query with a local sentence-embedding model (Xenova/bge-base-en-v1.5 via @huggingface/transformers), and ranks chunks by cosine similarity (dot product on normalized vectors). Returns the top-k matching passages with timestamps.

Transcripts are fetched via YouTube's InnerTube API (the same one the YouTube Android app uses) and parsed from the caption track XML.

Related MCP server: MCP-YouTube-Transcribe

Setup

npm install
npm start

The server listens on http://localhost:8080/mcp (Streamable HTTP transport, stateless per the 2026-07-28 MCP spec — every request is self-contained, no session handshake).

Project layout

  • mcp_server.js — Express + @modelcontextprotocol/server/@modelcontextprotocol/node (MCP SDK v2) server, tool definitions, embedding/search logic. See MIGRATION.md for details on the v1→v2 migration.

  • transcript_core.js — InnerTube fetch + transcript XML parsing, shared by the server and the CLI script.

  • fetch_transcript.js — standalone CLI for downloading a transcript to a file.

  • htmlroot/ — static assets served alongside the MCP endpoint.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers