Unified Gemini research partner — 51 tools for video analysis, deep research, content extraction, media production, and explainer video creation via MCP. Powered by Gemini 3.5 Flash
This server exhibits significant definition quality issues. While 16 tools are enumerated, the source code provided does not include actual tool implementation files or explicit FastMCP registration code, making it impossible to verify input schemas, parameter types, or output schemas for most tools. Descriptions are present but minimal (average ~40-50 chars), lacking the 50-200 char range recommended for LLM-optimized clarity. The rubric explicitly states: 'If you cannot see the actual tool definition in the source (only inferred): cap that tool's overall at 50.' Since only tool listings and metadata are visible, not the actual implementation, individual tool scores are capped accordingly. Critical pattern violations include missing or incomplete parameter descriptions, no evidence of output schema documentation, and no error handling guidance visible in the provided code samples.
Generate audio for video scenes
Analyze content from URL or file path using Gemini
Batch analyze multiple contents using Gemini
Extract structured data from content using Gemini with JSON schema
Configure infrastructure settings (requires admin token)
Ingest content into knowledge base
Search the knowledge base
Generate video from project pipeline
Input schemas not visible in source code. Only parameter names and descriptions are provided in the metadata listing; actual JSON Schema definitions with type constraints, enums, defaults, and validation rules are not shown.
Descriptions too brief and lack LLM-optimized clarity. Average description length is 35-45 characters (e.g., 'Analyze content from URL or file path using Gemini' is 51 chars). Rubric baseline for A+ tools is 50-200 chars. Descriptions lack WHAT, WHEN to use, and any prerequisites or side effects. No guidance on when to choose one content tool over another.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Create a new video explainer project
Check video quality and generate quality report
Research and analyze documents using Gemini with source limits
Generate video scenes in parallel using Claude Agent SDK
Search the web using Gemini Deep Research
Analyze video content using Gemini
Get detailed information about a YouTube video
Search YouTube for videos
Parameter descriptions are minimal or absent. For example, 'schema' parameter in content_extract is described only as 'JSON schema defining extraction structure', no guidance on format, required properties, or what happens if schema is invalid. Rubric: 'Never include sample IDs, emails, or usernames in descriptions', but also DO NOT omit actionable constraints.
No output schema documentation visible. The export_tool_contract_manifest.py script indicates output_schema fields are captured, but actual output structures are not shown in the provided code. LLMs cannot plan downstream tool calls without knowing what fields to expect. Rubric: '100% of A+ tools have documented return types.'
Security risk: infra_configure tool exposes 'auth_token' as a parameter. Rubric: 'Never expose API keys, tokens, passwords, or secrets as tool parameters. Use server-side secret injection via environment variables or vault. Agent traces log every parameter, secrets in params leak into logs.' This tool should use server-side token injection, not parameter passing.
No evidence of error handling or recovery guidance. None of the tool descriptions indicate what errors can occur, whether they are retryable, or what the agent should do next. Rubric: 'Error responses must tell the LLM what to do next: "User not found. Try search_users() with a partial name." A raw error code or stack trace gives the agent nothing to act on.'
Tool naming lacks clarity for disambiguation. Multiple tools interact with content (content_analyze, content_extract, content_batch_analyze) and search (youtube_search, search_web, knowledge_search). Descriptions are too brief to guide LLM selection. Rubric: 'When multiple tools operate on the same resource, their names must make the distinction obvious.' The current naming suggests content_analyze is for generic content, but video_analyze exists separately, is it also for content? Ambiguous.
Mutually exclusive or conditional parameters not documented. For example, content_analyze has both 'url' and 'file_path', which is required? Can both be provided? What happens if neither or both are passed? Rubric: 'If parameters are mutually exclusive (e.g. "user_id" vs "email"), state this in descriptions.'
No visible pagination or result limiting for tools that return lists (youtube_search, knowledge_search, content_batch_analyze). Rubric: 'Tools returning lists should accept page/offset and limit parameters and return a total count or next_cursor. Without pagination, large results blow the context window.' youtube_search has 'max_results' parameter but no other pagination hints are documented.
Tool composition unclear for multi-step workflows. E.g., to analyze a YouTube video: do you call youtube_search, then youtube_get_video_details, then video_analyze? Or does video_analyze accept a video_id? Descriptions do not clarify tool chaining. Rubric: 'Ensure tool A's output contains the IDs and references tool B needs... Broken chains force discovery detours.'