video-research-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | Yes | Google AI API key |
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 | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| video_analyzeA | Analyze a video (YouTube URL or local file) with any instruction. Provide exactly one of url or file_path. Uses Gemini's structured output for reliable JSON responses. Pass a custom output_schema to control the response shape, or use the default VideoResult schema. When strict_contract=True, runs the full contract pipeline: analysis with strict Pydantic models, parallel strategy/concept-map generation, artifact rendering, and quality gates. Returns richer output but takes longer. |
| video_create_sessionA | Create a persistent session for multi-turn video exploration. Provide exactly one of url or file_path. When |
| video_continue_sessionB | Continue analysis within an existing video session. |
| video_batch_analyzeA | Analyze all video files in a directory concurrently. Scans the directory for supported video files (mp4, webm, mov, avi, mkv, mpeg, wmv, 3gpp), then analyzes each with the given instruction using bounded concurrency (3 parallel Gemini calls). |
| research_deepA | Run multi-phase deep research with evidence-tier labeling. Phases: Scope Definition -> Evidence Collection -> Synthesis. Every claim is labeled CONFIRMED, STRONG INDICATOR, INFERENCE, SPECULATION, or UNKNOWN. |
| research_planA | Generate a multi-agent research orchestration plan. Returns a phased blueprint with task decomposition and model assignments. Does NOT spawn agents — provides the blueprint for the caller. |
| research_assess_evidenceB | Assess a claim against sources, returning evidence tier and confidence. |
| research_documentA | Run multi-phase deep research grounded in source documents. Phases: Document Mapping -> Evidence Extraction -> Cross-Reference -> Synthesis. Every claim is labeled with evidence tiers and cited back to source documents. |
| research_webA | Launch a Gemini Deep Research Agent for autonomous web-grounded research. The agent plans its own research, searches the web (~80-160 queries), reads sources, and produces a cited markdown report. Runs in background; poll with research_web_status. Costs $2-5 per task, takes 10-20 minutes. |
| research_web_statusA | Poll or retrieve a Deep Research task. Returns the full report with sources when completed, or current status if still in progress. Auto-stores completed reports to Weaviate. |
| research_web_followupA | Ask a follow-up question about a completed Deep Research report. Uses previous_interaction_id to maintain context from the original research. Synchronous — follow-ups are fast (no background needed). |
| research_web_cancelA | Cancel a running Deep Research task. Sends a cancel request to the Interactions API and cleans up local tracking state. Useful for aborting expensive ($2-5) tasks early. |
| research_paper_searchA | Search academic papers on Semantic Scholar. Returns papers with metadata, abstracts, citation counts, and TL;DR summaries. Supports filtering by field of study, year range, and open access availability. |
| research_paper_detailsA | Get detailed metadata for a specific paper. Accepts Semantic Scholar IDs, DOIs (prefix with DOI:), or ArXiv IDs (prefix with ArXiv:). |
| research_paper_citationsB | Get citations or references for a paper. |
| research_paper_recommendationsA | Get paper recommendations based on seed papers. Uses Semantic Scholar's recommendation engine to find related papers. |
| research_author_searchA | Search for academic authors on Semantic Scholar. Returns author profiles with affiliation, paper count, citation count, and h-index. |
| content_analyzeA | Analyze content (file, URL, or text) with any instruction. Provide exactly one of file_path, url, or text. Uses Gemini's structured output for reliable JSON responses. Pass a custom output_schema to control the response shape, or use the default ContentResult schema. |
| content_extractA | Extract structured data from content using a JSON Schema. Uses Gemini's response_json_schema for guaranteed structured output. |
| content_batch_analyzeA | Analyze multiple content files from a directory or explicit file list. Supports two modes: 'compare' sends all files to Gemini in a single call for cross-document analysis, 'individual' analyzes each file separately with bounded concurrency (3 parallel calls). |
| web_searchA | Search the web using Gemini's built-in Google Search grounding. |
| infra_cacheA | Manage the analysis cache — stats, list, clear, or inspect context cache state. |
| infra_configureA | Reconfigure the server at runtime — preset, model, thinking level, or temperature. Changes take effect immediately for all subsequent tool calls. |
| video_metadataA | Fetch YouTube video metadata without Gemini analysis. Returns title, description, view/like/comment counts, duration, tags, channel info, category, and language. Costs 1 YouTube API unit, 0 Gemini units. |
| video_commentsA | Fetch top YouTube comments sorted by relevance. Returns comment text, like count, and author for each comment. Costs 1+ YouTube API units, 0 Gemini units. |
| video_playlistA | Get video IDs and titles from a YouTube playlist. Results can be passed to video_analyze for batch analysis. Costs 1 YouTube API unit per page (max 50 items/page). |
| knowledge_searchA | Search across knowledge collections using hybrid, semantic, or keyword mode. Searches specified or all collections. Results are merged and sorted by score. Filters are collection-aware: conditions are skipped for collections that lack the relevant property. |
| knowledge_relatedA | Find semantically related objects using near-object vector search. |
| knowledge_statsA | Get object counts per collection, optionally grouped by a property. |
| knowledge_fetchA | Fetch a single object by UUID from a knowledge collection. |
| knowledge_ingestA | Manually insert data into a knowledge collection. Properties are validated against the collection schema — unknown keys are rejected with allowed name:type pairs. Tip: call knowledge_schema(collection=...) first to see expected properties. |
| knowledge_askA | Ask a question and get an AI-generated answer grounded in stored knowledge. Uses Weaviate AsyncQueryAgent in ask mode to synthesize an answer from objects across knowledge collections, with source citations. |
| knowledge_queryA | [DEPRECATED] Search knowledge store using natural language. Deprecated: Use knowledge_search instead, which now includes Cohere reranking and Flash summarization for better results with lower token usage. Uses Weaviate AsyncQueryAgent in search mode for intelligent object retrieval. |
| knowledge_schemaA | Return property schemas for knowledge collections. Reads from local CollectionDef objects — no Weaviate connection needed. Use this before knowledge_ingest to discover expected property names and types. |
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 34 tools
The research_* family has several tools with overlapping-sounding names (research_web, research_deep, research_document) that serve distinct workflows but could cause misselection without careful description reading. Other groups like knowledge_* and video_* are clearly distinct.
All 34 tools follow a consistent snake_case verb_noun or noun_verb pattern (e.g., video_analyze, knowledge_fetch, research_web_status). Batch operations are uniformly named (video_batch_analyze, content_batch_analyze), and even the deprecated tool follows the same convention.
34 tools is excessive for a server named 'video-research-mcp', even with its broad scope covering video, research, knowledge, content, and infrastructure. Many tools are highly specific (research_web_cancel, research_web_followup) and the count exceeds the 25+ threshold for 'too many'.
The tool surface provides comprehensive coverage for video analysis (analyze, batch, metadata, comments, playlist, sessions), research (web, deep, paper, author), and knowledge management (ingest, search, fetch, stats). Minor gaps exist, such as missing knowledge delete/update and no session listing, but agents can work around these.