Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YTSCHOLAR_HOMENoBase directory for the knowledge DB.~/.ytscholar
YTSCHOLAR_EMBEDDINGSNoSet to '1' to enable semantic re-rank (experimental).0
YTSCHOLAR_HTTP_PROXYNoProxy for reaching YouTube (defaults to HTTP_PROXY).
YTSCHOLAR_MAX_VIDEOSNoHard cap on videos per research call.15
YTSCHOLAR_CHUNK_CHARSNoApprox chars per retrieval chunk.900
YTSCHOLAR_EMBED_MODELNoSentence-transformers model.all-MiniLM-L6-v2
YTSCHOLAR_HTTPS_PROXYNoHTTPS proxy for reaching YouTube (defaults to HTTPS_PROXY).
YTSCHOLAR_COOKIES_FILENoPath to an exported cookies.txt.
YTSCHOLAR_DEFAULT_LANGSNoPreferred transcript languages, e.g. 'fa,en'.en
YTSCHOLAR_REQUEST_DELAYNoSeconds between transcript fetches.0.8
YTSCHOLAR_CACHE_TTL_DAYSNoSkip re-fetching a video seen within N days.30
YTSCHOLAR_COOKIES_FROM_BROWSERNoBrowser to read YouTube cookies from: firefox, chrome, chromium, brave, edge.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_transcriptA

Return the transcript/subtitles for a single YouTube video.

Args: video: A YouTube URL or an 11-character video id. languages: Optional comma-separated preferred languages in priority order, e.g. "en" or "fa,en". Empty = server default. translate_to: Optional target language code to auto-translate the transcript into (uses YouTube's translation), e.g. "en". store: If true (default), also add this transcript to the local knowledge base so future searches can draw on it.

Returns a dict with the plain-text transcript, language, and metadata.

research_topicA

Research a topic by mining the transcripts of the top YouTube videos.

Searches YouTube for the topic, takes the top max_videos results, pulls each transcript, and ingests them into the agent's growing knowledge base. This is how the agent "learns" a subject. Use search_knowledge afterward to ask questions grounded in what was ingested.

Args: topic: The subject to research, e.g. "retrieval augmented generation". max_videos: How many top videos to mine (capped by server config). languages: Optional comma-separated preferred transcript languages.

Returns a per-video ingestion report plus updated knowledge-base stats.

search_knowledgeA

Semantic/keyword search over everything the agent has already learned.

Retrieves the most relevant transcript passages from the local knowledge base, each with a deep link that opens the source video at the exact timestamp. Answer the user's question using these passages as evidence.

Args: query: Natural-language question or keywords. k: Number of passages to return. topic: Optional filter to a topic previously passed to research_topic.

knowledge_statsA

Report what the agent has learned so far: videos, chunks, topics, and whether semantic embeddings are active. Useful to check memory state.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: fetching transcripts, researching a topic (which itself uses transcripts), searching the knowledge base, and reporting stats. Even though research_topic uses get_transcript internally, their high-level functions are unambiguous.

Naming Consistency4/5

All tools follow a verb_noun pattern: get_transcript, research_topic, search_knowledge, knowledge_stats. The pattern is consistent, though 'research_topic' and 'knowledge_stats' are slightly less uniform than 'get_' or 'search_' prefixes, but still readable.

Tool Count5/5

With only 4 tools, the set is lean and well-scoped for a YouTube transcript knowledge-base server. Each tool is essential: ingestion (get_transcript), bulk learning (research_topic), retrieval (search_knowledge), and monitoring (knowledge_stats). No bloat.

Completeness4/5

The core workflow of ingest, research, search, and stats is covered. Minor gaps include lack of a tool to delete knowledge or list all topics explicitly, but these are not critical for the primary use case of learning and querying.

Maintenance

ActivityMaintained
ResponsivenessNo issues