Fast Video Cataloger
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FVC_API_KEY | Yes | The API key required to authenticate with the Fast Video Cataloger server. | |
| FVC_SERVER_URL | No | Address of your catalog server. Default `http://localhost:8754`. | http://localhost:8754 |
| FVC_MCP_LOG_LEVEL | No | Log level for the MCP server. `Warning` by default; `Information` or `Debug` when a connection will not come up. Logs go to stderr. | Warning |
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": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_video_to_binA | Put a video into a bin. Needs an API key with the Editor role. |
| create_binA | Create a new bin to collect videos in. Returns the new bin including its id. Needs an API key with the Editor role. |
| get_video_scenesA | List the scene thumbnails of one video in timecode order. Use this to see how a video is structured before deciding which moment to look at. Returns totalCount so you can tell whether there are more than you asked for. |
| get_videoB | Get one catalog entry by its id, including title, description, path, length and rating. |
| search_actorsA | Search the people recorded in the user's Fast Video Cataloger catalog, by name or by the tags on them. These are the cast of their own footage, not contacts. |
| get_bin_videosA | List the videos collected in one bin. A bin can hold the whole catalog, so this returns the first 50 by default - check totalCount and page with offset. |
| untag_videoA | Remove keywords from a video - the counterpart to tag_video, for undoing a tag that was added in error. Name the keywords exactly as get_video_tags reports them; only those are removed and every other tag on the video is left alone. Other videos keep the keyword, but a keyword that no video uses any more also disappears from the catalog's keyword list. Returns what was removed and what did not match. Needs an API key with the Editor role. |
| get_video_actorsC | List the people recorded as appearing in a video. |
| list_videos_needing_indexingA | List catalog entries that have no scene thumbnails or no known length yet. Pass each id to index_video to work through them. A newly added folder can leave thousands pending, so this returns the first 50 by default - check totalCount and page with offset to walk the rest. |
| search_transcriptsA | Search what is said out loud in the user's Fast Video Cataloger videos. Returns the matching transcript lines themselves - each with the id of the video it belongs to (videoFileID) and its start and end time in seconds, so you can go straight to the moment. Use get_video_transcript to read the lines around a hit. Only videos that have been transcribed are searched. |
| untag_sceneA | Remove keywords from a single scene thumbnail - the counterpart to tag_scene. Only the named keywords are removed from that one scene; other scenes and the video's own tags are untouched. A keyword that no scene uses any more also disappears from the catalog's scene keyword list. Returns what was removed and what did not match. Needs an API key with the Editor role. |
| tag_sceneA | Add keywords to a single scene thumbnail rather than the whole video. Needs an API key with the Editor role. |
| get_scene_imageA | Fetch the actual image of a scene thumbnail so you can see what is in the shot. Get thumbnail ids from search_scenes, search_scenes_semantic or get_video_scenes. |
| index_videoA | Ask the server to index a video that is in the catalog but has no scene thumbnails yet. Extracts thumbnails and duration, plus whatever else the server is configured for such as transcription. This takes minutes and runs in the background - poll get_video_scenes to follow it. Needs the Editor role. |
| get_video_tagsB | List the keywords a video is tagged with. |
| search_videosA | Search the user's Fast Video Cataloger catalog - their local library of video files, not cloud storage or the file system. Use this for any question about their videos, footage or clips. Use 'query' for a free text search over titles, descriptions and keywords, or 'keywords' for a comma-separated keyword match. Returns catalog entries including each video's id, title, path and length. |
| list_binsA | List the bins in the user's Fast Video Cataloger catalog. A bin is a user-made collection of videos, like a folder of shortlisted clips. |
| search_scenesA | Search individual scenes inside the user's Fast Video Cataloger videos, rather than whole videos. This is how you find the moment inside a video: each result carries a thumbnail id, the video it belongs to, and its timecode. Pass the thumbnail id to get_scene_image to look at it. |
| list_keywordsA | List every keyword that exists in the whole Fast Video Cataloger catalog, rather than the keywords on one video. Use it to find out what you can actually search for before guessing - a keyword that is not in the catalog simply returns nothing. This is the vocabulary only, with no counts, and it mixes keywords the user typed with ones written automatically by object detection, so a catalog can list things like 'zebra' or 'toaster' that appear nowhere in the footage. Both scopes can contain either kind. To find out whether a keyword is really used, search for it. |
| tag_videoA | Add keywords to a video. Existing tags are kept. Needs an API key with the Editor role. |
| search_scenes_semanticA | Find scenes by describing what is in the picture - 'a dog running on a beach', 'close-up of hands typing', 'city skyline at night'. Nothing has to be tagged: every indexed scene is ranked by how well it matches the words, so use this when the keywords search_scenes needs do not cover what you are after, and use similarTo to find footage that looks like a scene you already have (the source scene itself is left out of those results). Results come best first, each with the thumbnail id, the video, the time (seconds and hh:mm:ss) and a relevance score. Judge by the order, not the number: for a description a good match scores only about 0.15-0.30, while scenes that look like a given one score 0.8 and above, and scores are comparable only within one search. Pass a thumbnail id to get_scene_image to check what a scene really shows. If the answer says the model or the index is missing, tell the user what to do; do not retry. |
| catalog_statsA | How many videos, actors and images the Fast Video Cataloger catalog holds. This is the user's local video library, not cloud storage or the file system. Useful as a first call to confirm the connection works and to judge how broad a search should be. |
| get_video_transcriptA | Get the transcript of a video as timed lines. Empty if the video has not been transcribed. A feature-length transcript is very long, so this returns the first 200 lines by default - check totalCount and page with offset if you need the rest. |
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 23 tools
Each tool targets a clearly distinct resource or action, with little overlap. The various search tools (search_videos, search_scenes, search_transcripts, search_scenes_semantic) are well differentiated by the entity they search and the method used. Tagging and untagging tools are split by scope (video vs scene), and bin tools are distinct from video and scene tools.
Almost all tools follow a consistent verb_noun snake_case pattern (e.g., get_video, search_scenes, tag_video, list_bins). The only notable deviation is catalog_stats, which uses a noun_noun form without a verb. This is a minor inconsistency in an otherwise predictable naming scheme.
With 23 tools, the set falls into the borderline-heavy range for an MCP server. While the domain (video catalog with bins, scenes, transcripts, actors, tags, and indexing) is broad, some tools could potentially be consolidated (e.g., add/remove tag pairs), and the count feels high relative to the missing lifecycle operations.
The toolset covers search, tagging, bins, indexing, and transcript/scene access well, but lacks basic update and delete operations for core entities: there is no update_video, delete_video, delete_bin, or remove_video_from_bin. These gaps mean the surface is not a complete CRUD/lifecycle set for the catalog.