video-research-mcp
This server provides a comprehensive toolkit for video analysis, deep research, web search, academic research, and knowledge management, powered by Gemini AI.
Video Analysis
Analyze YouTube videos or local files with custom instructions and structured output schemas
Multi-turn video sessions for iterative Q&A with context caching
Batch analyze entire directories of video files concurrently
Fetch YouTube metadata, top comments, and playlist contents
Research & Evidence Analysis
Deep multi-phase research with evidence-tier labeling (CONFIRMED, STRONG INDICATOR, INFERENCE, SPECULATION)
Generate structured multi-agent research plans with task decomposition
Assess claims against sources with confidence scoring
Document-grounded research across PDFs and URLs with page-level citations
Autonomous Web Research Agent
Launch Gemini Deep Research Agents that run ~80–160 searches and produce cited markdown reports
Poll task status, ask follow-up questions, and cancel running tasks
Academic Research (Semantic Scholar)
Search papers with filters for field, year, and open access
Retrieve full paper metadata, citations, references, and recommendations
Search authors with h-index and citation stats
Content Analysis
Analyze any file, URL, or raw text with custom instructions
Extract structured data using a JSON Schema
Batch analyze multiple documents individually or as a cross-document comparison
Web Search
Search the web via Gemini's Google Search grounding with automatic source citations
Knowledge Store (Weaviate-backed)
Hybrid, semantic, or keyword search across 13 knowledge collections
Find semantically related objects, fetch by UUID, ingest data manually
Ask AI-powered questions grounded in stored knowledge with source citations
Inspect collection schemas and retrieve statistics
Infrastructure
Manage the analysis cache (stats, list, clear)
Reconfigure the server at runtime — switch model presets, temperature, and thinking depth
Supports direct analysis of academic papers from arXiv to extract entities, relationships, and key arguments.
Integrates with ElevenLabs to provide a media production toolkit for generating audio and cinematic video content.
Uses FFmpeg for extracting frames from local video files to facilitate visual analysis and timestamped screenshotting.
Provides web search capabilities with source citations through Gemini's search grounding features.
Serves as the core engine for video understanding, deep research, context caching, and document synthesis.
Provides tools for querying, debugging, and evaluating MLflow traces generated during research and analysis workflows.
Enables comprehensive analysis of YouTube content, including metadata extraction, comment sentiment analysis, and playlist processing.
video-research-mcp
Claude Code can't process video or generate media. Gemini 3.5 Flash and ElevenLabs can. This plugin bridges them all -- giving Claude access to video understanding, deep research, web search, and a full media production toolkit through MCP.
What's in the box
A Claude Code plugin with 51 tools, 17 slash commands, 12 skills, and 7 sub-agents. The MCP servers provide the tools. The commands give you quick workflows (/gr:video, /gr:research). The skills teach Claude how to use everything -- from research to cinematic video production. The agents handle background tasks like parallel research and visualization.
Server | Tools | Purpose |
video-research-mcp | 34 | Video analysis, deep research, content extraction, web search, academic papers, knowledge store |
video-explainer-mcp | 15 | Synthesize explainer videos from research (wraps video_explainer) |
video-agent-mcp | 2 | Parallel scene generation via Claude Agent SDK |
Related MCP server: media-mcp
Install
npx video-research-mcp@latest
export GEMINI_API_KEY="your-key-here"One command. One API key. The installer copies 17 commands, 12 skills, and 7 agents to ~/.claude/ and configures the MCP servers to run via uvx from PyPI.
npx video-research-mcp@latest --check # show install status
npx video-research-mcp@latest --uninstall # clean removal
npx video-research-mcp@latest --local # install for this project onlyRequires Python >= 3.11, uv, Node.js >= 16, and a Google AI API key.
What it does
Watch a meeting recording
/gr:video-chat ~/recordings/project-kickoff.mp4
> "Create meeting minutes in Dutch. Screenshot every shared screen."Gemini watches the full video and pulls out timestamps, decisions, and action items. For local files, ffmpeg extracts frames at key visual moments. Files over 20MB are uploaded to Gemini's File API and context-cached -- follow-up questions reuse the cache instead of re-uploading.
Analyze a YouTube tutorial
/gr:video https://youtube.com/watch?v=...Same capabilities, applied to YouTube. Precise timestamps, a concept map, and comment sentiment analyzed in the background.
Research a topic with evidence grading
/gr:research "HNSW index parameters for high-dimensional embeddings"Runs web search and Gemini analysis in parallel. Every finding gets an evidence tier -- Confirmed, Strong Indicator, Inference, or Speculation -- so you know how much weight to give each claim. Results are visualized as an interactive evidence network.
Analyze papers, URLs, or directories
/gr:analyze https://arxiv.org/abs/2401.12345
/gr:analyze ~/papers/attention-is-all-you-need.pdf
/gr:analyze ~/papers/ # cross-document comparisonWorks with PDFs, URLs, and raw text. Extracts entities, relationships, and key arguments. Point it at a directory and it compares all documents in a single pass. Supports PDF, TXT, MD, HTML, XML, JSON, CSV.
Research grounded in source documents
/gr:research-doc ~/papers/
/gr:research-doc paper1.pdf paper2.pdf "Compare methodologies and find contradictions"Four-phase pipeline: Document Mapping, Evidence Extraction, Cross-Reference, Synthesis. Every claim is cited back to document and page number.
Search the web
/gr:search "latest developments in MCP protocol"Google Search via Gemini grounding with source citations.
Recall what you've learned
/gr:recall # overview: stats + saved analyses
/gr:recall "kubernetes" # semantic search + filesystem grep
/gr:recall ask "what do I know about X?" # AI-powered Q&A with source citationsNothing gets lost. Every analysis and research finding is stored automatically. Weeks later, in a different project, you just ask. When Weaviate is configured, searches use semantic matching. Without it, recall falls back to exact keyword grep over saved files.
Use it as a standalone MCP server
The tools are standard MCP. Any MCP client can call them -- no Claude Code required.
{
"mcpServers": {
"video-research": {
"command": "uvx",
"args": ["video-research-mcp"],
"env": { "GEMINI_API_KEY": "${GEMINI_API_KEY}" }
}
}
}Commands
Command | What it does |
| One-shot video analysis with concept map and frame extraction |
| Multi-turn video Q&A with progressive note-taking |
| Deep research with evidence-tier labeling |
| Launch Gemini Deep Research Agent with interview-built brief |
| Evidence-tiered research grounded in source documents |
| Analyze any URL, file, text, or directory of documents |
| Web search via Gemini grounding |
| Browse past analyses from memory |
| Switch Gemini model preset (best/stable/budget) |
| Guided onboarding and environment check |
| Import external structured knowledge into Weaviate |
| Query, debug, and evaluate MLflow traces |
| Diagnose MCP wiring, API keys, Weaviate, and MLflow connectivity |
| Get workflow advice -- which /gr command fits your task |
| Create and manage explainer video projects |
| Generate a full explainer video from project content |
| Check render progress and pipeline state |
How a command runs
/gr:video-chat ~/recordings/call.mp4
> "Summarize this meeting, extract action items"
Phase 1 Gemini analyzes the video
Phase 2 Results saved to memory
Phase 2.5 ffmpeg extracts frames (local files only)
Phase 3 Concepts and relationships enriched
Phase 4 Interactive visualization generated (opt-in)
Phase 5 Playwright screenshots it
Phase 6 Everything copied to output/<slug>/Visualization and comment analysis run as background agents, so they don't block the conversation.
Output structure
output/project-kickoff-2026-02-28/
├── analysis.md # timestamped analysis with YAML frontmatter
├── frames/ # extracted video frames (local files)
├── concept-map.html # interactive visualization
└── screenshot.png # static captureTools
Video (4): video_analyze, video_create_session, video_continue_session, video_batch_analyze
YouTube (3): video_metadata, video_comments, video_playlist
Research (4): research_deep, research_plan, research_assess_evidence, research_document
Deep Research Agent (4): research_web, research_web_status, research_web_followup, research_web_cancel
Academic Research (5): research_paper_search, research_paper_details, research_paper_citations, research_paper_recommendations, research_author_search
Content (3): content_analyze, content_batch_analyze, content_extract
Search (1): web_search
Infrastructure (2): infra_cache, infra_configure
Knowledge (8): knowledge_search, knowledge_related, knowledge_stats, knowledge_fetch, knowledge_ingest, knowledge_schema, knowledge_ask, knowledge_query
Project (4): explainer_create, explainer_inject, explainer_status, explainer_list
Pipeline (6): explainer_generate, explainer_step, explainer_render, explainer_render_start, explainer_render_poll, explainer_short
Quality (3): explainer_refine, explainer_feedback, explainer_factcheck
Audio (2): explainer_sound, explainer_music
Scene Generation (2): agent_generate_scenes, agent_generate_single_scene
Skills
Skills teach Claude how to use tools and workflows correctly. They load automatically when relevant -- you never invoke them manually.
Research & analysis
Skill | What it teaches |
video-research | All 34 video-research-mcp tools -- selection, caching, error handling |
video-explainer | The 15 explainer tools -- pipeline order, rendering, TTS config |
gemini-visualize | Interactive HTML visualizations from analysis results |
weaviate-setup | Guided Weaviate onboarding and connection setup |
mlflow-traces | MLflow trace querying, debugging, and evaluation |
research-brief-builder | Structured research briefs for deep research |
gr-advisor | Recommends the right |
Media production (new in v0.6.0)
Skill | What it teaches |
tts-production | ElevenLabs TTS -- API patterns, voice presets, cosine-ease ducking, multilingual narration |
ffmpeg-production | Post-processing chain order, codec selection, platform export presets |
video-generation | AI video with Veo or Sora -- provider selection matrix, draft-to-final workflow |
video-production | Cinematic multi-shot -- style anchors, 4 chaining patterns, frame-level QA |
image-generation | Style anchor prompt optimization for mcp-image (Subject-Context-Style) |
The production skills use progressive disclosure: core patterns load when triggered (~1,000 words each), detailed recipes and reference tables live in references/ and load on demand.
Knowledge store
Connect Weaviate, and everything you learn gets stored -- searchable across projects, across sessions. Without it, the plugin works the same; you just don't get persistent semantic search.
Thirteen collections are created on first connection:
Collection | Filled by |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| comment analysis (via |
| concept extraction from analyses |
| relationship mapping between concepts |
| meeting/call analysis notes |
|
|
Knowledge graph
Analysis tools (content_analyze, video_analyze, research_deep, research_web, research_document, content_batch_analyze) automatically extract concepts and relationships. Over time this builds a queryable knowledge graph across all your research -- no manual step required.
Eight knowledge tools query this data: hybrid search with optional Cohere reranking, semantic similarity, fetch by UUID, manual ingest, schema introspection, and collection stats. knowledge_ask uses Weaviate's QueryAgent for AI-generated answers with source citations.
# install QueryAgent support
uv pip install 'video-research-mcp[agents]'To set up Weaviate:
export WEAVIATE_URL="https://your-cluster.weaviate.network"
export WEAVIATE_API_KEY="your-key"Configuration
Variable | Default | What it does |
| (required) | Google AI API key |
|
| Primary model |
|
| Same as |
|
| Interactions API agent |
|
| Weaviate URL (empty = knowledge store disabled) |
|
| Required for Weaviate Cloud |
|
| Enables Cohere reranker in knowledge search |
|
| For TTS voice-over production |
|
| For Sora video generation and OpenAI TTS |
|
| YouTube Data API key (falls back to |
|
| Semantic Scholar API key (higher rate limits) |
|
| MLflow server URL (empty = tracing disabled) |
|
| Path to cloned video_explainer repo |
|
| TTS provider: mock, elevenlabs, openai, gemini, edge |
Variable | Default | What it does |
|
| Thinking depth (minimal / low / medium / high) |
|
| Sampling temperature |
|
| Cache directory |
|
| Cache expiry |
|
| Max concurrent video sessions |
|
| Session TTL |
|
| Max turns per session |
|
| SQLite path for session persistence (empty = in-memory) |
|
| MLflow experiment name |
Other install methods
Standalone MCP server (no plugin assets)
{
"mcpServers": {
"video-research": {
"command": "uvx",
"args": ["video-research-mcp"],
"env": { "GEMINI_API_KEY": "${GEMINI_API_KEY}" }
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"video-research": {
"command": "uvx",
"args": ["video-research-mcp"],
"env": { "GEMINI_API_KEY": "your-key-here" }
}
}
}From source
git clone https://github.com/Galbaz1/video-research-mcp
cd video-research-mcp
uv venv && source .venv/bin/activate && uv pip install -e ".[dev]"
node bin/install.js --globalDevelopment
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
uv run pytest tests/ -v # 781 tests, all mocked
uv run ruff check src/ tests/ # lintTroubleshooting
Problem | Fix |
No API key error | Set |
429 / quota exceeded | Wait 60s, or switch to |
Video analysis empty | Video may be private, age-restricted, or region-locked |
No frames extracted | Install ffmpeg: |
Visualization missing | Ensure Node.js is on PATH (Playwright runs via npx) |
Weaviate won't connect | Check |
Knowledge tools empty | Set |
|
|
MLflow tools unavailable | Set |
ElevenLabs MCP tools 404 | Use curl API calls instead -- see |
Contributing
See CONTRIBUTING.md for development setup and PR guidelines. See ROADMAP.md for planned work. Report security issues via SECURITY.md.
Author
Fausto Albers -- Lead Gen AI Research & Development at the Industrial Digital Twins Lab, Amsterdam University of Applied Sciences (HvA), in the research group of Jurjen Helmus. Founder of Wonder Why.
Credits
Google Gemini (
google-genaiSDK) -- Gemini 3.1 Pro provides native video understanding, thinking mode, context caching, and the 1M token window that makes all of this work.FastMCP -- MCP server framework. The composable sub-server pattern (
app.mount()) keeps 51 tools organized across 3 servers.Weaviate -- vector database powering the knowledge store. Thirteen collections, hybrid search, and the Weaviate Claude Code skill that inspired the knowledge architecture.
ElevenLabs -- text-to-speech with word-level timestamps for voiceover generation.
video_explainer by prajwal-y -- the video synthesis engine behind the explainer pipeline.
Pydantic -- schema validation for all tool I/O. Structured generation via
model_json_schema().MLflow (
mlflow-tracing) -- optional observability. Every Gemini call becomes a traceable span with token counts and latency.Cohere -- optional reranking in knowledge search for better result relevance.
Remotion -- React-based video rendering for the explainer pipeline.
Claude Agent SDK -- powers parallel scene generation in
video-agent-mcp.
License
MIT
Available Tools
34 toolscontent_analyzeARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| instruction | No | What to analyze — e.g. 'summarize key findings', 'extract methodology', 'list all citations' | Provide a comprehensive analysis of this content. |
| file_path | No | Local file path (PDF or text) | |
| url | No | URL to analyze | |
| text | No | Raw text content | |
| output_schema | No | Optional JSON Schema for the response. If omitted, uses default ContentResult schema. | |
| thinking_level | No | Gemini thinking depth. | medium |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by stating that the tool uses Gemini's structured output for reliable JSON responses and allows custom output_schema. It is transparent about behavior without contradicting the readOnlyHint and openWorldHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three short sentences that front-load the core purpose and then provide key usage details. Every sentence adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of six parameters, no required fields, and the presence of a default output schema, the description adequately covers all essential aspects: content source selection, instruction flexibility, output customization, and thinking level. It is complete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the description still adds significant value by clarifying that content sources are mutually exclusive and explaining the purpose of output_schema and thinking_level, enhancing understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyze content from file, URL, or text with any instruction. It distinguishes from sibling tools like content_batch_analyze by focusing on single-item analysis and custom instructions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to provide exactly one of file_path, url, or text, and explains how to customize output with output_schema. It does not explicitly mention when not to use the tool, but the instructions are clear enough for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_batch_analyzeARead-only
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).
| Name | Required | Description | Default |
|---|---|---|---|
| instruction | No | What to analyze — e.g. 'compare methodologies', 'summarize each document', 'extract key findings' | Provide a comprehensive analysis of these documents. |
| directory | No | Directory to scan for content files | |
| file_paths | No | Explicit list of file paths to analyze | |
| glob_pattern | No | Glob pattern to filter files within directory | * |
| mode | No | 'compare' for cross-document analysis in one call, 'individual' for separate per-file analysis | compare |
| output_schema | No | Optional JSON Schema for each result | |
| thinking_level | No | Gemini thinking depth. | high |
| max_files | No | Maximum files to process |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful behavioral context beyond annotations: describes mode-specific behavior and concurrency limit. Annotations already indicate safe read (readOnlyHint) and open world, so description complements them without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences only: first states core purpose, second explains modes. Every sentence contributes value with no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes modes and concurrency, which are key for a batch tool. Could briefly mention file selection options (directory/list/glob) but schema covers those. Given output schema exists, description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 8 parameters. The description does not add any additional parameter-level information beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'analyze' and resource 'multiple content files', and distinguishes from sibling tools like content_analyze by specifying batch operation and two distinct modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains two modes ('compare' vs 'individual') with clear behavioral differences, and mentions bounded concurrency (3 parallel calls). Does not explicitly state when not to use, but provides sufficient context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_extractARead-only
Extract structured data from content using a JSON Schema.
Uses Gemini's response_json_schema for guaranteed structured output.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Text content to extract from | |
| schema | Yes | JSON Schema defining the extraction structure |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and open-world behavior. The description adds that it uses Gemini's response_json_schema for guaranteed structured output, providing insight into the mechanism and output reliability. However, it does not disclose potential limitations or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, consisting of two clear sentences without any unnecessary words. Every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and adequate annotations, the description is sufficiently complete for this tool. It explains the core functionality and the mechanism (Gemini's JSON schema output). Minor improvements could include mentioning that the schema must be a valid JSON Schema, but this is implied by the input schema description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with both parameters described. The description adds minimal extra meaning beyond the schema, as it simply restates the purpose of the schema parameter. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (extract), the resource (content), and the method (using a JSON Schema). It distinguishes itself from sibling tools like content_analyze and content_batch_analyze by focusing on structured extraction rather than analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for extracting structured data with a schema but does not explicitly mention when to use it versus alternatives like content_analyze. No exclusions or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_cacheADestructiveIdempotent
Manage the analysis cache — stats, list, clear, or inspect context cache state.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Cache operation — "stats", "list", "clear", or "context". | stats |
| content_id | No | Scope clear to a specific content ID | |
| auth_token | No | Optional infra auth token (required when INFRA_ADMIN_TOKEN is configured) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructive (destructiveHint=true) and idempotent (idempotentHint=true) behavior. The description adds the operation names, which clarifies what specific actions are available, and mentions 'inspect context cache state', which goes beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that efficiently communicates the tool's purpose and operations. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of annotations and an output schema, the description covers the essential operations adequately. It could be more explicit about per-operation behavior, but the output schema likely provides return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The tool description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages the analysis cache and lists the four specific operations (stats, list, clear, inspect context cache state). This distinguishes it from sibling tools like content_analyze or knowledge_fetch, which are not cache management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists operations but does not provide explicit guidance on when to use this tool vs alternatives or when not to use it. Usage context is implied but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_configureAIdempotent
Reconfigure the server at runtime — preset, model, thinking level, or temperature.
Changes take effect immediately for all subsequent tool calls.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | Named model preset: "best" (3.1 Pro), "stable" (3 Pro), or "budget" (3 Flash) | |
| model | No | Gemini model ID override (takes precedence over preset) | |
| thinking_level | No | Thinking depth — "minimal", "low", "medium", or "high". | |
| temperature | No | Sampling temperature | |
| auth_token | No | Optional infra auth token (required when INFRA_ADMIN_TOKEN is configured) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that changes are immediate and affect subsequent calls. Annotations already indicate idempotentHint=true, so no contradiction. Could elaborate on when auth_token is required, but overall adds value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose. Every word is informative; no unnecessary content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a configuration tool with good annotations and output schema. Minor gaps: interaction between preset and model is not explained, and auth_token requirement is implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description merely lists the parameter categories without adding extra meaning beyond schema. No new semantics introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the verb 'Reconfigure' and resource 'server', listing the configurable aspects (preset, model, thinking level, temperature). It effectively differentiates from sibling tools by being the sole configuration tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States that changes take effect immediately, providing clear context for when to use. Does not explicitly mention when not to use or alternatives, but the unique role makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_askARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Question to answer from stored knowledge | |
| collections | No | Collections to search (all if omitted) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds valuable behavioral context: it uses 'Weaviate AsyncQueryAgent in ask mode' and produces 'source citations.' This goes beyond annotations by revealing the internal mechanism and output style.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence is a clear, front-loaded purpose statement. The second provides additional context (how it works, source citations) without waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given annotations and output schema (present), the description adequately covers the tool's behavior. It explains the result (AI-generated answer with citations) but does not detail response format beyond that. However, the output schema likely covers structure, so this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no new meaning beyond what the schema provides; it reinforces the role of 'query' as a question and 'collections' as scope. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ask a question and get an AI-generated answer grounded in stored knowledge.' The verb 'ask' and resource 'knowledge' are specific, and the description distinguishes this from sibling tools like knowledge_search (raw results) and knowledge_query (likely structured queries) by emphasizing synthesis and citations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for natural language Q&A with synthesized answers, but it does not explicitly state when to use this tool over alternatives. The phrase 'synthesize an answer from objects across knowledge collections, with source citations' hints at differentiation from raw search, but no explicit 'when not' or alternative names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_fetchARead-onlyIdempotent
Fetch a single object by UUID from a knowledge collection.
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | Yes | Weaviate object UUID | |
| collection | Yes | Collection the object belongs to. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description confirms a read operation. No contradictions, but the description adds minimal behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise, front-loaded with the core action. No wasted words. Ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch operation with clear schema and annotations, the description is sufficiently complete. An agent needs only the UUID and collection, and the purpose is unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% parameter description coverage. The description does not add extra meaning beyond the schema's descriptions for object_id and collection. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fetch a single object by UUID from a knowledge collection' clearly states the action (fetch), the identifier (UUID), and the scope (knowledge collection). It distinguishes from sibling tools like knowledge_search and knowledge_query, which operate differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for searching, querying, and listing, explicit usage context is missing, making it harder for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Target collection name. | |
| properties | Yes | Object properties to insert |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Reveals validation behavior (rejects unknown keys) and suggests schema check. Annotations indicate mutability, which aligns with 'insert'. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences plus a tip, front-loaded with the main action, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, validation behavior, and a prerequisite (check schema). Output schema exists to explain return values, so no gap. Minimal annotations but description compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by clarifying that properties are validated against collection schema and unknown keys are rejected, beyond the schema's bare definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('insert') and resource ('knowledge collection'), and distinguishes from sibling tools like knowledge_query and knowledge_search by specifying manual insertion with schema validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance to call knowledge_schema first to check expected properties, implying a prerequisite. Lacks explicit when-not details but context from sibling tools makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_queryARead-onlyIdempotent
[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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language search query | |
| collections | No | Collections to search (all if omitted) | |
| limit | No | Max results |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so no contradiction. The description adds technical detail about using Weaviate AsyncQueryAgent but does not disclose behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 3 sentences, front-loading the deprecation warning and alternative. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool is deprecated and annotations are thorough, the description is complete enough for its purpose. An output schema exists, so return values are covered. A minor point: it could mention that results are retrieved objects, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the schema itself documents all parameters. The description does not add meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching a knowledge store using natural language. It also explicitly notes that the tool is deprecated and directs to the alternative 'knowledge_search', distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says it is deprecated and recommends using 'knowledge_search' instead, providing clear guidance on when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_schemaARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | Collection to inspect (omit for all) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that the tool reads from local CollectionDef objects and requires no network connection, which is valuable behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a distinct purpose: stating the function, explaining the data source, and providing usage guidance. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter schema, high schema coverage, and presence of an output schema, the description covers purpose, source, and usage adequately. Minor gap: it doesn't explicitly state that omitting the parameter returns schemas for all collections, but this is implied by the schema default and the phrase 'omit for all.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The parameter 'collection' is already documented in the schema (enum and default). The description adds that the tool discovers expected property names and types, indirectly explaining the parameter's purpose, but does not add explicit format or syntax details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Return'), resource ('property schemas for knowledge collections'), and differentiates from siblings by noting 'Reads from local CollectionDef objects — no Weaviate connection needed.' It also explicitly mentions being used before knowledge_ingest, further distinguishing its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use this before knowledge_ingest to discover expected property names and types.' This tells the agent exactly when to invoke this tool and hints at the alternative (knowledge_ingest) for later steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_searchARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| collections | No | Collections to search (all if omitted) | |
| search_type | No | Search mode: hybrid (BM25+vector), semantic (vector only), keyword (BM25 only) | hybrid |
| limit | No | Maximum total results to return | |
| alpha | No | Hybrid balance: 0=BM25, 1=vector | |
| evidence_tier | No | Filter by evidence tier (e.g. CONFIRMED) | |
| source_tool | No | Filter by originating tool name | |
| date_from | No | Filter created_at >= ISO date | |
| date_to | No | Filter created_at <= ISO date | |
| category | No | Filter VideoMetadata by category | |
| video_id | No | Filter by video_id |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: results are merged and sorted by score, filters are collection-aware (skipped if property missing). This complements the readOnlyHint and idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the main purpose, and no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the description adequately explains the tool's behavior: multi-mode search, collection-aware filtering, and result merging. No major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. The description adds collective context about filter behavior and search modes, which is not in individual parameter descriptions. However, it does not elaborate on each parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches across knowledge collections using hybrid, semantic, or keyword modes, distinguishing it from siblings like knowledge_ask and knowledge_fetch. The verb 'Search' and resource 'knowledge collections' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: for searching across multiple collections with filtering options. It names the three search modes and notes collection-aware filters. However, it does not explicitly state when not to use or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_statsARead-onlyIdempotent
Get object counts per collection, optionally grouped by a property.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | Collection to count (all if omitted) | |
| group_by | No | Group counts by a text property (e.g. evidence_tier, source_tool) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true; description adds only that counts are returned. No extra behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded with verb, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with two parameters and output schema; description adequately covers purpose and key option. Output schema handles return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; description reiterates grouping option but adds no new meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states specific verb 'Get', resource 'object counts per collection', and optional grouping. Clearly distinguishes from sibling tools like knowledge_query (retrieves objects) and knowledge_search (search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for counting with optional grouping but no explicit when-to-use, when-not-to-use, or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_assess_evidenceBRead-only
Assess a claim against sources, returning evidence tier and confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The claim to assess | |
| sources | Yes | Evidence sources to evaluate against | |
| context | No | Additional context for assessment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and open-world behavior. The description adds that it returns evidence tier and confidence, but does not disclose other behavioral traits. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that efficiently conveys purpose and output. It is front-loaded and concise, though it could be structured with more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and returns, but given the existence of an output schema and sibling tools, it lacks details like evidence tier scale or confidence interpretation. It is minimally complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description only mentions 'claim' and 'sources' implicitly, adding no meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses a claim against sources and returns evidence tier and confidence. It uses specific verbs and resources, distinguishing it from sibling tools like research_web or research_deep, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for evaluating claims with provided sources, but it does not specify when to use this tool versus alternatives or any prerequisites. No when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_author_searchARead-only
Search for academic authors on Semantic Scholar.
Returns author profiles with affiliation, paper count, citation count, and h-index.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Author name to search | |
| limit | No | Max authors to return |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value by listing returned fields (affiliation, paper count, etc.), but does not disclose rate limits, pagination, or ordering behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second details output. Every word is useful, front-loaded, and no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description sufficiently covers the return structure (affiliation, counts, h-index). Minor missing details like result ordering or pagination are acceptable for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for both params ('Author name to search', 'Max authors to return'). The description adds no further param-level meaning, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for academic authors on Semantic Scholar and specifies the returned fields (affiliation, paper count, citation count, h-index). The verb 'search' and resource 'authors' are explicit, and the sibling tools (e.g., research_paper_search) are distinct enough to avoid confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing author profiles, but it does not explicitly state when not to use or mention alternatives. It provides clear context but lacks exclusion criteria or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_deepARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Research topic or question | |
| scope | No | Research depth — "quick", "moderate", "deep", or "comprehensive". | moderate |
| thinking_level | No | Gemini thinking depth. | high |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds context about multi-phase execution and evidence tier labeling, which are not covered by annotations. No behavioral contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a list, efficiently conveying purpose and process. It front-loads the main action and uses bullet points for phases and labels.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters, an output schema, and annotations, the description provides sufficient context for an AI agent to understand the tool's purpose and output. It explains the multi-phase process and evidence labels, which are not detailed in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. The description does not add meaningful details beyond the schema for parameters like topic, scope, or thinking_level. No explanation of enum options beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs multi-phase deep research with evidence-tier labeling, listing specific phases and claim labels. This distinguishes it from siblings like research_web or research_assess_evidence, which are single-purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for in-depth research but does not explicitly state when to use it versus alternatives like research_web or research_assess_evidence. No guidance on when not to use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_documentARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| instruction | Yes | Research question or analysis instruction for the documents | |
| file_paths | No | Local PDF/document file paths | |
| urls | No | URLs to PDF documents (downloaded and uploaded to Gemini) | |
| scope | No | Research depth -- quick, moderate, deep, comprehensive. | moderate |
| thinking_level | No | Gemini thinking depth. | high |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and open-world semantics. The description adds valuable behavioral details: multi-phase process, evidence tiers, citations, which are beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action. Every sentence adds value: the first defines purpose, the second details process and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full parameter descriptions, the description adequately captures the tool's complexity. It could mention input sources (file_paths/urls) but is sufficient for a well-annotated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so descriptions exist for all parameters. The tool description does not add extra meaning to parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs multi-phase deep research grounded in source documents, with specific phases and evidence labeling. This distinguishes it from siblings like research_web (web search) and research_deep (likely more general).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like research_deep or research_web. It implies document-focused research but lacks when-not or precondition guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_paper_citationsBRead-only
Get citations or references for a paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | Paper ID (S2, DOI:, or ArXiv:) | |
| direction | No | 'citations' (papers citing this) or 'references' (papers this cites) | citations |
| limit | No | Max papers to return |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potentially partial results. The description adds no further behavioral traits beyond what the schema and annotations provide, such as pagination behavior or error handling. This is acceptable but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. While it is efficient, it is also very brief and could benefit from mentioning default behavior or output format. Still, it avoids verbosity and is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not explain return values. However, it does not mention that the 'direction' parameter defaults to 'citations' or that 'limit' is capped at 1000. The schema covers these, but the description could contextualize them for easier understanding. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains all parameters (paper_id, direction, limit). The tool description does not add meaning beyond stating the overall purpose, which is baseline for high coverage. No contradiction or enhancement is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's function: retrieving citations or references for a paper. The verb 'Get' combined with the resource 'citations or references' makes the purpose unambiguous, and it distinguishes itself from siblings like research_paper_details or research_paper_search by focusing on the citation/reference list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as research_paper_details (which might show citation count) or research_paper_search. It does not mention prerequisites, context, or exclusion criteria, leaving the agent with insufficient context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_paper_detailsARead-only
Get detailed metadata for a specific paper.
Accepts Semantic Scholar IDs, DOIs (prefix with DOI:), or ArXiv IDs (prefix with ArXiv:).
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | Paper ID: S2 ID, DOI (prefix 'DOI:10.xxx'), or ArXiv (prefix 'ArXiv:2301.xxx') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds clear behavioral context by specifying it returns 'detailed metadata'. With an output schema present, the behavior is well-transparent. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose, the second details input formats. It is front-loaded, concise, and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of annotations (readOnlyHint, openWorldHint) and an output schema, the description sufficiently covers the tool's purpose and input requirements, though it could mention error handling or missing ID behavior for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has a detailed description for the paper_id parameter (100% coverage), so the description's duplication of accepted ID formats adds minimal new semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed metadata') and the resource ('a specific paper'), distinguishing it from sibling tools like research_paper_search (search) and research_paper_citations (citations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides specific accepted ID formats and prefixes, guiding parameter input, but does not explicitly differentiate when to use this tool versus siblings like research_paper_citations or research_paper_recommendations, which also take paper IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_paper_recommendationsARead-only
Get paper recommendations based on seed papers.
Uses Semantic Scholar's recommendation engine to find related papers.
| Name | Required | Description | Default |
|---|---|---|---|
| seed_paper_ids | Yes | List of S2 paper IDs to base recommendations on | |
| limit | No | Max papers to return |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint. The description adds specificity by naming 'Semantic Scholar's recommendation engine', but does not disclose additional behaviors like rate limits or error handling. Minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose, no redundant words. Every sentence is informative and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a recommendation tool, the description covers the source and basic logic. An output schema exists, so return values are not needed. Could mention what happens with invalid seed paper IDs, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter details. It briefly mentions 'seed papers' but adds no meaning beyond the schema. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'get paper recommendations' and the resource 'based on seed papers', using 'Semantic Scholar's recommendation engine'. It distinguishes from siblings like research_paper_search and research_paper_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when seed paper IDs are available, but lacks explicit guidance on when not to use it or comparisons with alternatives like knowledge_related or research_paper_search. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_paper_searchARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for academic papers | |
| fields_of_study | No | Filter by fields (e.g. Computer Science, Medicine) | |
| year_range | No | Year filter: '2020' for single year, '2020-2024' for range, '2020-' for since | |
| open_access_only | No | Only return open access papers | |
| limit | No | Max papers to return |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations readOnlyHint=true and openWorldHint=true already indicate read-only and evolving data. The description adds behavioral context by detailing returned content and supported filters, going beyond schema. No contradictions present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with core purpose, no unnecessary words. Every sentence adds clear value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the description covers essential functionality. It could mention pagination or error handling but is largely complete for search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter well-described. The tool description only summarizes filters without adding meaning beyond schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches academic papers on Semantic Scholar, mentioning specific returned content (metadata, abstracts, citation counts, TL;DR summaries) and available filters. It differentiates from sibling tools like research_paper_details and research_paper_citations by focusing on broad search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding papers with filtering but does not explicitly state when to use this tool versus alternatives like research_deep or research_web. No exclusion criteria or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_planARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Research topic or question | |
| scope | No | Research depth. | moderate |
| available_agents | No | Number of agents available |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description confirms no agents are spawned. It adds behavioral details: returns a phased blueprint with task decomposition and model assignments. There is no contradiction, and the description enriches the behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the key purpose, describe the output, and clarify a key limitation. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (not shown but indicated), the description provides sufficient context: it explains the nature of the output ('phased blueprint', 'task decomposition', 'model assignments') and its non-execution nature. The annotations (readOnly, openWorld) and parameter coverage complement this well, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add parameter-specific information (e.g., details about 'topic', 'scope', 'available_agents') beyond what the schema provides. It adds value by describing the output, but not the parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a multi-agent research orchestration plan and explicitly distinguishes by saying 'Does NOT spawn agents — provides the blueprint for the caller.' It uses specific verbs ('Generate', 'Returns') and resource ('multi-agent research orchestration plan', 'phased blueprint'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by stating it returns a blueprint rather than executing it. The 'Does NOT spawn agents' clause clarifies a key boundary. However, it does not explicitly name alternative tools or provide explicit when-to-use conditions, though the context of sibling tools (e.g., research_web, research_deep) makes the planning vs. execution distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Precise research brief — the more detailed, the better results | |
| output_format | No | Report structure/format instructions (e.g. 'executive summary + data tables') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true; the description adds behavioral context (background execution, cost, time, produces markdown report) beyond annotations. No contradiction, and it fills in operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (4 sentences), front-loaded with main action, and efficiently covers key points without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity (autonomous agent), schema (2 params), and annotations (2 hints), description is adequate. Mentions output as cited markdown report, background polling, cost, time. Output schema exists, so return values need not be detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description explains that topic should be a precise research brief and output_format can specify report structure, adding slight context but not deeply enriching beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it launches a Gemini Deep Research Agent for autonomous web-grounded research. Describes specific actions (plans research, searches web, reads sources, produces cited markdown). Distinguishes from siblings like research_web_status and research_web_cancel.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage context: runs in background, poll with research_web_status, costs $2-5, takes 10-20 minutes. Implies it is for autonomous research but does not explicitly state when to use over alternatives like research_deep or research_plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes | Interaction ID to cancel |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it sends a cancel request and cleans up local tracking state, adding significant behavioral context beyond the annotations. No contradictions with readOnlyHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words, front-loading the purpose. It efficiently communicates the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, and the description covers the main actions and use case. It does not mention potential failure modes or state requirements, but with an output schema present, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter interaction_id is fully described in the input schema with a description and minLength. The tool description does not add any additional meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels a running Deep Research task, with a specific verb and resource. It distinguishes itself from sibling tools like research_web (starts tasks) and research_web_status (checks status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is useful for aborting expensive tasks early, providing clear context for when to use. However, it does not explicitly state when not to use or mention alternatives, so it's slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes | Completed interaction ID to follow up on | |
| question | Yes | Follow-up question about the research report |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and openWorldHint=true, but the description adds that the tool is synchronous and fast with no background work. No destructive behavior is mentioned, but the description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and contains no extraneous information. Every sentence adds value: first defines the action, second explains context and performance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, context (interaction_id), and behavior (synchronous). It does not explain return format, but an output schema exists. The prerequisite of a completed deep research is implied by 'completed report' and schema description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description reinforces that interaction_id maintains context but adds no new semantic detail beyond what the schema already provides. The baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Ask a follow-up question') and the resource ('completed Deep Research report'). It distinguishes from sibling tools like research_web and research_web_status by specifying it's a follow-up, but does not explicitly contrast with research_deep or other follow-up-like tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that it uses previous_interaction_id to maintain context, implying it should be used after a completed deep research. It notes it's synchronous and fast, guiding the agent to expect quick responses. However, it does not state when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_web_statusARead-only
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.
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes | Interaction ID returned by research_web |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it reveals that the tool auto-stores completed reports to Weaviate. However, this conflicts with the 'readOnlyHint' annotation (true), which suggests no state modification. The description also explains the dual return behavior (report or status). Without annotations, it would need more; with them, it adds some value but introduces a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: stating the action, explaining the return type, and disclosing the side effect. It is efficiently front-loaded and contains no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, polling behavior), the description covers all essential aspects: what it does, what it returns, and a notable side effect. An output schema exists, so return value details are not required. The description is complete for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, 'interaction_id', and its schema already has a description ('Interaction ID returned by research_web'). The tool description does not add any further meaning beyond this. With 100% schema coverage, the baseline is 3, and the description provides no extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Poll or retrieve a Deep Research task.' It specifies the verb ('poll or retrieve'), the resource ('Deep Research task'), and distinguishes itself from sibling tools like 'research_web' (which starts tasks) and 'research_web_cancel' (which cancels). It also mentions what it returns ('full report with sources' or status), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after initiating a task with 'research_web' by requiring an 'interaction_id' returned by that tool. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to-use guidance or mention any prerequisites. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_analyzeAIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | YouTube video URL. | |
| file_path | No | Path to a local video file. | |
| instruction | No | What to analyze — e.g. 'summarize key points', 'extract all CLI commands shown', 'list all recipes and ingredients' | Provide a comprehensive analysis of this video. |
| output_schema | No | Optional JSON Schema for the response. If omitted, uses default VideoResult schema. | |
| thinking_level | No | Gemini thinking depth. | high |
| use_cache | No | Use cached results | |
| strict_contract | No | Enable strict contract pipeline with quality gates, artifact rendering, and semantic validation. Produces richer output with strategy report, concept map, and HTML/Markdown artifacts. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: uses Gemini structured output, strict contract pipeline details, and mentions quality gates and artifact rendering. No contradiction with idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences with clear structure: main purpose, input constraints, core features, and optional advanced mode. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all key parameters and modes (instruction, output_schema, strict_contract, caching, thinking). Output schema and schema descriptions fill remaining gaps. Could briefly explain thinking_level but name is self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds value beyond schema descriptions: mutual exclusivity constraint for url/file_path, purpose of output_schema, and strict_contract behavior. Schema already covers most details, so slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Analyze a video' with specific input types (YouTube URL or local file). Distinguishes from sibling tools like video_metadata or video_batch_analyze by focusing on analysis with custom instructions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Provide exactly one of url or file_path' and explains strict_contract mode. Lacks explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_batch_analyzeARead-onlyIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Path to a directory containing video files | |
| instruction | No | What to analyze in each video | Provide a comprehensive analysis of this video. |
| glob_pattern | No | Glob pattern to filter files within the directory | * |
| output_schema | No | Optional JSON Schema for each video's response | |
| thinking_level | No | Gemini thinking depth. | high |
| max_files | No | Maximum files to process |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. The description adds valuable behavioral context: directory scanning, supported formats, bounded concurrency (3 parallel calls). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first front-loads core purpose, second provides details. Every sentence is essential; no redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With good schema coverage, annotations, and an output schema, the description covers directory scanning, format support, and concurrency. It lacks error handling or prerequisites but is generally complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all parameters. The description does not add significant meaning beyond what the schema already provides, meeting baseline expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it analyzes all video files in a directory concurrently, listing supported formats. It distinguishes from siblings like 'video_analyze' (single video) and 'content_batch_analyze' (other content types), providing specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for batch video analysis with concurrency, but lacks explicit guidance on when to use this vs. alternatives. No direct comparison to single-video or other batch tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_commentsARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL (youtube.com or youtu.be) | |
| max_comments | No | Maximum comments to fetch (sorted by relevance) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent. The description adds value by specifying the return fields (comment text, like count, author) and the cost (1+ YouTube API units, 0 Gemini units). This provides practical behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, covering purpose, return data, and cost. Every sentence is informative and there is no redundancy or filler. It is well-structured and easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters), existing annotations, and presence of an output schema, the description is mostly complete. It explains the tool's functionality and cost. Minor gaps include lack of mention of pagination or potential authentication requirements, but these are not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already describes both parameters adequately. The description does not add new parameter-level details beyond what the schema provides (e.g., sorting by relevance is already in the schema for max_comments). The description's mention of return fields relates to the output, not parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches top YouTube comments sorted by relevance, distinguishing it from sibling tools like video_metadata or video_analyze. It explicitly mentions the resource (YouTube comments) and action (fetch), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implicit context for when to use this tool (fetching comments) but does not explicitly state when not to use it or suggest alternatives. For example, it does not mention that video_metadata or video_analyze could be used for other video data. The usage guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_continue_sessionB
Continue analysis within an existing video session.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session ID from video_create_session | |
| prompt | Yes | Follow-up question or instruction |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint false and openWorldHint true, but description adds no additional behavioral context (e.g., whether it mutates session state, rate limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key verb and noun, minimal waste. Could be slightly more specific but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple 2-param tool with output schema and annotations, description is adequate but could mention return type or session lifecycle to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes both parameters fully (100% coverage). Description adds no extra semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'continue analysis' within 'existing video session', clearly distinguishing from sibling tools like video_analyze (start new) and video_create_session (create session).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use after creating a session but does not explicitly state when to use vs alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_create_sessionA
Create a persistent session for multi-turn video exploration.
Provide exactly one of url or file_path. When download=True and the
source is YouTube, the video is downloaded via yt-dlp, uploaded to the
Gemini File API, and context-cached for fast multi-turn use.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | YouTube video URL. | |
| file_path | No | Path to a local video file. | |
| description | No | Session purpose or focus area | |
| download | No | Download YouTube video locally for cached multi-turn sessions. Slower startup (~2 min) but faster and cheaper per turn. Requires yt-dlp installed. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses side effects such as yt-dlp download and context caching, and startup time for download mode, adding value beyond annotations that indicate non-destructive, non-idempotent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the purpose, then provide essential usage details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects for a creation tool including exclusivity constraint and download behavior; output schema handles return value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning to parameters by specifying mutual exclusivity of url and file_path and detailing download implications, complementing the comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a persistent session for multi-turn video exploration, distinguishing it from analysis tools and other video operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instruction to provide exactly one of url or file_path, and explains when to use download=True, but does not explicitly contrast with sibling tools like video_continue_session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_metadataARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL (youtube.com or youtu.be) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds valuable context: cost (1 YouTube API unit, 0 Gemini units) and lists return fields. This goes beyond annotations but could mention error conditions or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and differentiator, second lists return fields and cost. No fluff, front-loaded, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, output schema present), the description covers purpose, differentiator, return fields, and cost. It lacks details on error cases or data guarantee, but overall sufficient for a fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes the url parameter well. The description does not add extra meaning for the parameter beyond what is in the schema, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with the specific verb 'Fetch' and resource 'YouTube video metadata', and clearly distinguishes from Gemini analysis tools by saying 'without Gemini analysis'. It lists the exact metadata fields returned, leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when metadata is needed without AI analysis, but does not explicitly state when to use or not use this tool vs. siblings like video_analyze or video_comments. No direct guidance on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_playlistARead-onlyIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube playlist URL (must contain 'list=' parameter) | |
| max_items | No | Maximum videos to return |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true, destructiveHint false, idempotentHint true. Description adds API cost per page and max items per page, which are not captured by annotations, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then usage tip and cost. Every sentence earns its place, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and an output schema, description covers purpose, usage pattern, and cost. Output schema handles return values, so no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are documented. Description does not add significant new meaning beyond schema descriptions (url must have 'list=', max_items defaults). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get video IDs and titles from a YouTube playlist', specifying verb, resource, and output. Distinguishes from siblings like video_analyze and video_metadata by mentioning results can be passed to video_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context: results can be passed to video_analyze for batch analysis, and mentions API unit cost per page. Lacks explicit exclusion criteria or when-not-to-use, but usage pattern is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchARead-only
Search the web using Gemini's built-in Google Search grounding.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| num_results | No | Number of results |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and external dependency. The description adds the specific 'Google Search grounding' context, which is useful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core functionality without any unnecessary words. It is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and simple parameters, the description adequately defines the tool's purpose. However, it could provide minimal usage hints or constraints for better completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description does not add any additional meaning or constraints beyond the schema, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'the web' using Gemini's Google Search grounding, distinguishing it from sibling tools like knowledge_search or research_web.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like knowledge_search or research_web. The description simply states what it does without any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
v0.6.1- Changed
content_analyze1 field changed- added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth."
- Changed
content_batch_analyze1 field changed- added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth."
- Changed
infra_cache1 field changed- added
Input schema / properties / action / descriptionAdded value: +"Cache operation — \"stats\", \"list\", \"clear\", or \"context\"."
- Changed
infra_configure1 field changed- added
Input schema / properties / thinking_level / descriptionAdded value: +"Thinking depth — \"minimal\", \"low\", \"medium\", or \"high\"."
- Changed
knowledge_fetch1 field changed- added
Input schema / properties / collection / descriptionAdded value: +"Collection the object belongs to."
- Changed
knowledge_ingest1 field changed- added
Input schema / properties / collection / descriptionAdded value: +"Target collection name."
- Changed
knowledge_related1 field changed- added
Input schema / properties / collection / descriptionAdded value: +"Collection the source object belongs to."
- Changed
research_deep2 fields changed- added
Input schema / properties / scope / descriptionAdded value: +"Research depth — \"quick\", \"moderate\", \"deep\", or \"comprehensive\"." - added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth."
- Changed
research_document2 fields changed- added
Input schema / properties / scope / descriptionAdded value: +"Research depth -- quick, moderate, deep, comprehensive." - added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth."
- Changed
research_plan1 field changed- added
Input schema / properties / scope / descriptionAdded value: +"Research depth."
- Changed
video_analyze3 fields changed- added
Input schema / properties / file_path / descriptionAdded value: +"Path to a local video file." - added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth." - added
Input schema / properties / url / descriptionAdded value: +"YouTube video URL."
- Changed
video_batch_analyze1 field changed- added
Input schema / properties / thinking_level / descriptionAdded value: +"Gemini thinking depth."
- Changed
video_create_session2 fields changed- added
Input schema / properties / file_path / descriptionAdded value: +"Path to a local video file." - added
Input schema / properties / url / descriptionAdded value: +"YouTube video URL."
34 tool updates
v0.6.0- First observed
content_analyze - First observed
content_batch_analyze - First observed
content_extract - First observed
infra_cache - First observed
infra_configure - First observed
knowledge_ask - First observed
knowledge_fetch - First observed
knowledge_ingest - First observed
knowledge_query - First observed
knowledge_related - First observed
knowledge_schema - First observed
knowledge_search - First observed
knowledge_stats - First observed
research_assess_evidence - First observed
research_author_search - First observed
research_deep - First observed
research_document - First observed
research_paper_citations - First observed
research_paper_details - First observed
research_paper_recommendations - First observed
research_paper_search - First observed
research_plan - First observed
research_web - First observed
research_web_cancel - First observed
research_web_followup - First observed
research_web_status - First observed
video_analyze - First observed
video_batch_analyze - First observed
video_comments - First observed
video_continue_session - First observed
video_create_session - First observed
video_metadata - First observed
video_playlist - First observed
web_search
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.
Maintenance
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
MCP server for Google Veo AI video generation
MIND MCP Server — 31 tools. Persistent AI memory: knowledge graph, LIFE tasks, CRM, 50+ models.
Any social-video URL → transcript, metadata, frames, OCR, summary, search, Q&A. MCP server + x402.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA local MCP server for extracting YouTube video transcripts, metadata, and performing visual analysis using Gemini Vision or local Whisper models. It enables users to process video content through various tools for subtitle retrieval and frame analysis.13 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server enabling interaction with Twitter, YouTube, Instagram, and video processing via 31 tools, with local Whisper transcription and frame extraction for visual verification.8MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered research using Gemini. Provides fast grounded web search, deep autonomous research, URL extraction, and session management.69MIT
- AlicenseAqualityAmaintenanceMCP server for extracting structured intelligence from YouTube channels and videos — transcripts, topics, and competitive signals for AI-powered research workflows.1433 npmMIT