yueying
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HF_HOME | No | Hugging Face cache (Whisper weights live here). Default: HF default. | |
| PYTHONUTF8 | No | Set to '1' on Windows to avoid mojibake. | 1 |
| HF_ENDPOINT | No | Hugging Face endpoint mirror, e.g. https://hf-mirror.com. Default: huggingface.co | huggingface.co |
| YUEYING_LANG | No | Language of report.md written by the server (en or zh). Default: en | en |
| YUEYING_MODEL | No | Default for the model parameter (auto/tiny/base/small/medium/large-v3/large-v3-turbo). Default: auto | auto |
| YUEYING_DEVICE | No | Device to use: auto / cuda / cpu. Default: auto | auto |
| YUEYING_OUT_DIR | No | Root folder for results (absolute, ~ ok). Default: ~/yueying_out | ~/yueying_out |
| YUEYING_MAX_JOBS | No | Pipelines running at once per server. Default: 1 | 1 |
| YUEYING_JOB_TIMEOUT | No | Hard limit per video, in seconds. Default: 7200 | 7200 |
| YUEYING_KEEP_SOURCE | No | Set to '1' to keep the downloaded ≤720p source in _download/ (enables exact-moment frames for URLs). Unset by default. | |
| YUEYING_COOKIES_FROM_BROWSER | No | Default browser for cookies (chrome, edge, firefox, brave, chromium, safari). Unset by default. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| watch_videoA | Turn a video into a timestamped transcript plus a keyframe overview so you can summarize it, answer questions about it, extract steps, commands or code, or write notes. |
| get_transcriptA | Read part of an already-watched video's transcript with [mm:ss] timestamps. Use when the watch_video overview was truncated, when the user asks about a specific time range, or to export subtitles (format='srt'). Returns at most max_chars; when truncated the last line gives next_start so you can continue from there. Paragraph format is the cheapest. |
| search_transcriptA | Find where something is said in an already-watched video. Each hit shows the time, the surrounding sentences, and the nearest keyframe number and contact-sheet number so you can follow up with get_frame_at or get_transcript. Use this instead of paging the whole transcript when the user asks 'when does he mention X' or 'find the part about Y'. |
| get_framesA | See what is on screen in an already-watched video. Returns contact-sheet images (3x3 keyframes in time order, every tile labelled '#number mm:ss' bottom-left) or individual keyframes. Read the contact sheets first to get the visual storyline, then request single frames only when you need to read code, slides or UI text. At most 3 images per call (default 2), downscaled to max_width; page with start/count. Every image is preceded by its absolute file path so hosts that can read files may open the full-size original instead. |
| get_frame_atA | Look closely at one moment of an already-watched video, e.g. to read code, a slide, a chart or a UI. For local files that still exist the exact frame at that time is extracted from the video; otherwise the nearest cached keyframe is returned and the caption says so. Also returns the transcript paragraphs spoken around that time. Returns one image (~100 KB at 960 px). |
| list_videosA | List videos already processed by yueying on this machine (newest first) and jobs currently running, with video_id, title, duration, text source, date, folder and size. Use when the user refers to a video watched earlier, to get a video_id for the other tools, or to see how much disk space results use. Instant and read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clear primary purpose, but get_frames and get_frame_at have overlapping names and both can return individual frames, and get_transcript/search_transcript both access transcript content. The descriptions are detailed enough to resolve most ambiguity, so misselection is unlikely.
All tool names follow a consistent lowercase snake_case verb_noun pattern: list_videos, watch_video, get_transcript, search_transcript, get_frames, get_frame_at. The only slight variation is the prepositional suffix in get_frame_at, but it still reads as verb_object and maintains overall consistency.
Six tools is a well-scoped set for the video-analysis lifecycle: one ingestion tool, two transcript accessors, two frame accessors, and one listing utility. No tool feels redundant, and the count is appropriate for the server's purpose.
The tool surface covers the full workflow of ingesting a video, listing processed items, reading/searching transcripts, and inspecting frames. Minor gaps exist, such as no delete/cancel operation and no dedicated metadata retrieval, but these do not block the core use cases.