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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Galbaz1/video-research-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server