Skip to main content
Glama
Galbaz1

video-research-mcp

by Galbaz1

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.

CI PyPI npm License: MIT Python 3.11+

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 only

Requires 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 comparison

Works 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 citations

Nothing 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

/gr:video <source>

One-shot video analysis with concept map and frame extraction

/gr:video-chat <source>

Multi-turn video Q&A with progressive note-taking

/gr:research <topic>

Deep research with evidence-tier labeling

/gr:research-deep <topic>

Launch Gemini Deep Research Agent with interview-built brief

/gr:research-doc <files>

Evidence-tiered research grounded in source documents

/gr:analyze <content>

Analyze any URL, file, text, or directory of documents

/gr:search <query>

Web search via Gemini grounding

/gr:recall [filter]

Browse past analyses from memory

/gr:models [preset]

Switch Gemini model preset (best/stable/budget)

/gr:getting-started

Guided onboarding and environment check

/gr:ingest <file>

Import external structured knowledge into Weaviate

/gr:traces [filter]

Query, debug, and evaluate MLflow traces

/gr:doctor [quick|full]

Diagnose MCP wiring, API keys, Weaviate, and MLflow connectivity

/gr:advisor <task>

Get workflow advice -- which /gr command fits your task

/ve:explainer <project>

Create and manage explainer video projects

/ve:explain-video <project>

Generate a full explainer video from project content

/ve:explain-status <project>

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 capture

Tools

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 /gr command for your task

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

ResearchFindings

research_deep, research_assess_evidence, research_document

VideoAnalyses

video_analyze, video_batch_analyze

ContentAnalyses

content_analyze, content_batch_analyze

VideoMetadata

video_metadata

SessionTranscripts

video_continue_session

WebSearchResults

web_search

ResearchPlans

research_plan

DeepResearchReports

research_web_status, research_web_followup

CommunityReactions

comment analysis (via /gr:video agent)

ConceptKnowledge

concept extraction from analyses

RelationshipEdges

relationship mapping between concepts

CallNotes

meeting/call analysis notes

AcademicPapers

research_paper_search, research_paper_details, research_paper_citations, research_paper_recommendations

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

GEMINI_API_KEY

(required)

Google AI API key

GEMINI_MODEL

gemini-3.5-flash

Primary model

GEMINI_FLASH_MODEL

gemini-3.5-flash

Same as GEMINI_MODEL by default; infra_configure presets unlock Pro

DEEP_RESEARCH_AGENT

deep-research-pro-preview-12-2025

Interactions API agent

WEAVIATE_URL

""

Weaviate URL (empty = knowledge store disabled)

WEAVIATE_API_KEY

""

Required for Weaviate Cloud

COHERE_API_KEY

""

Enables Cohere reranker in knowledge search

ELEVENLABS_API_KEY

""

For TTS voice-over production

OPENAI_API_KEY

""

For Sora video generation and OpenAI TTS

YOUTUBE_API_KEY

""

YouTube Data API key (falls back to GEMINI_API_KEY)

S2_API_KEY

""

Semantic Scholar API key (higher rate limits)

MLFLOW_TRACKING_URI

""

MLflow server URL (empty = tracing disabled)

EXPLAINER_PATH

""

Path to cloned video_explainer repo

EXPLAINER_TTS_PROVIDER

"mock"

TTS provider: mock, elevenlabs, openai, gemini, edge

Variable

Default

What it does

GEMINI_THINKING_LEVEL

medium

Thinking depth (minimal / low / medium / high)

GEMINI_TEMPERATURE

1.0

Sampling temperature

GEMINI_CACHE_DIR

~/.cache/video-research-mcp/

Cache directory

GEMINI_CACHE_TTL_DAYS

30

Cache expiry

GEMINI_MAX_SESSIONS

50

Max concurrent video sessions

GEMINI_SESSION_TIMEOUT_HOURS

2

Session TTL

GEMINI_SESSION_MAX_TURNS

24

Max turns per session

GEMINI_SESSION_DB

""

SQLite path for session persistence (empty = in-memory)

MLFLOW_EXPERIMENT_NAME

video-research-mcp

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 --global

Development

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/  # lint

Troubleshooting

Problem

Fix

No API key error

Set GEMINI_API_KEY

429 / quota exceeded

Wait 60s, or switch to /gr:models budget for higher rate limits

Video analysis empty

Video may be private, age-restricted, or region-locked

No frames extracted

Install ffmpeg: brew install ffmpeg

Visualization missing

Ensure Node.js is on PATH (Playwright runs via npx)

Weaviate won't connect

Check WEAVIATE_URL and that the instance is running

Knowledge tools empty

Set WEAVIATE_URL to enable the knowledge store

weaviate-agents not installed

uv pip install 'video-research-mcp[agents]'

MLflow tools unavailable

Set MLFLOW_TRACKING_URI and start mlflow server --port 5001

ElevenLabs MCP tools 404

Use curl API calls instead -- see tts-production skill

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-genai SDK) -- 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 tools
content_analyzeA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionNoWhat to analyze — e.g. 'summarize key findings', 'extract methodology', 'list all citations'Provide a comprehensive analysis of this content.
file_pathNoLocal file path (PDF or text)
urlNoURL to analyze
textNoRaw text content
output_schemaNoOptional JSON Schema for the response. If omitted, uses default ContentResult schema.
thinking_levelNoGemini thinking depth.medium

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_analyzeA
Read-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).

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionNoWhat to analyze — e.g. 'compare methodologies', 'summarize each document', 'extract key findings'Provide a comprehensive analysis of these documents.
directoryNoDirectory to scan for content files
file_pathsNoExplicit list of file paths to analyze
glob_patternNoGlob pattern to filter files within directory*
modeNo'compare' for cross-document analysis in one call, 'individual' for separate per-file analysiscompare
output_schemaNoOptional JSON Schema for each result
thinking_levelNoGemini thinking depth.high
max_filesNoMaximum files to process

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_extractA
Read-only

Extract structured data from content using a JSON Schema.

Uses Gemini's response_json_schema for guaranteed structured output.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesText content to extract from
schemaYesJSON Schema defining the extraction structure

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_cacheA
DestructiveIdempotent

Manage the analysis cache — stats, list, clear, or inspect context cache state.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoCache operation — "stats", "list", "clear", or "context".stats
content_idNoScope clear to a specific content ID
auth_tokenNoOptional infra auth token (required when INFRA_ADMIN_TOKEN is configured)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_configureA
Idempotent

Reconfigure the server at runtime — preset, model, thinking level, or temperature.

Changes take effect immediately for all subsequent tool calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetNoNamed model preset: "best" (3.1 Pro), "stable" (3 Pro), or "budget" (3 Flash)
modelNoGemini model ID override (takes precedence over preset)
thinking_levelNoThinking depth — "minimal", "low", "medium", or "high".
temperatureNoSampling temperature
auth_tokenNoOptional infra auth token (required when INFRA_ADMIN_TOKEN is configured)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_askA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesQuestion to answer from stored knowledge
collectionsNoCollections to search (all if omitted)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_fetchA
Read-onlyIdempotent

Fetch a single object by UUID from a knowledge collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesWeaviate object UUID
collectionYesCollection the object belongs to.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesTarget collection name.
propertiesYesObject properties to insert

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_queryA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language search query
collectionsNoCollections to search (all if omitted)
limitNoMax results

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_schemaA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNoCollection to inspect (omit for all)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_statsA
Read-onlyIdempotent

Get object counts per collection, optionally grouped by a property.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNoCollection to count (all if omitted)
group_byNoGroup counts by a text property (e.g. evidence_tier, source_tool)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_evidenceB
Read-only

Assess a claim against sources, returning evidence tier and confidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimYesThe claim to assess
sourcesYesEvidence sources to evaluate against
contextNoAdditional context for assessment

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_deepA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesResearch topic or question
scopeNoResearch depth — "quick", "moderate", "deep", or "comprehensive".moderate
thinking_levelNoGemini thinking depth.high

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_documentA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionYesResearch question or analysis instruction for the documents
file_pathsNoLocal PDF/document file paths
urlsNoURLs to PDF documents (downloaded and uploaded to Gemini)
scopeNoResearch depth -- quick, moderate, deep, comprehensive.moderate
thinking_levelNoGemini thinking depth.high

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_citationsB
Read-only

Get citations or references for a paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYesPaper ID (S2, DOI:, or ArXiv:)
directionNo'citations' (papers citing this) or 'references' (papers this cites)citations
limitNoMax papers to return

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_detailsA
Read-only

Get detailed metadata for a specific paper.

Accepts Semantic Scholar IDs, DOIs (prefix with DOI:), or ArXiv IDs (prefix with ArXiv:).

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYesPaper ID: S2 ID, DOI (prefix 'DOI:10.xxx'), or ArXiv (prefix 'ArXiv:2301.xxx')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_recommendationsA
Read-only

Get paper recommendations based on seed papers.

Uses Semantic Scholar's recommendation engine to find related papers.

ParametersJSON Schema
NameRequiredDescriptionDefault
seed_paper_idsYesList of S2 paper IDs to base recommendations on
limitNoMax papers to return

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_planA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesResearch topic or question
scopeNoResearch depth.moderate
available_agentsNoNumber of agents available

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesPrecise research brief — the more detailed, the better results
output_formatNoReport structure/format instructions (e.g. 'executive summary + data tables')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYesInteraction ID to cancel

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYesCompleted interaction ID to follow up on
questionYesFollow-up question about the research report

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_statusA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYesInteraction ID returned by research_web

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_analyzeA
Idempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoYouTube video URL.
file_pathNoPath to a local video file.
instructionNoWhat 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_schemaNoOptional JSON Schema for the response. If omitted, uses default VideoResult schema.
thinking_levelNoGemini thinking depth.high
use_cacheNoUse cached results
strict_contractNoEnable 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

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_analyzeA
Read-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).

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryYesPath to a directory containing video files
instructionNoWhat to analyze in each videoProvide a comprehensive analysis of this video.
glob_patternNoGlob pattern to filter files within the directory*
output_schemaNoOptional JSON Schema for each video's response
thinking_levelNoGemini thinking depth.high
max_filesNoMaximum files to process

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_commentsA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL (youtube.com or youtu.be)
max_commentsNoMaximum comments to fetch (sorted by relevance)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession ID from video_create_session
promptYesFollow-up question or instruction

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoYouTube video URL.
file_pathNoPath to a local video file.
descriptionNoSession purpose or focus area
downloadNoDownload YouTube video locally for cached multi-turn sessions. Slower startup (~2 min) but faster and cheaper per turn. Requires yt-dlp installed.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_metadataA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL (youtube.com or youtu.be)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_playlistA
Read-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).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube playlist URL (must contain 'list=' parameter)
max_itemsNoMaximum videos to return

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updatesv0.6.1
    • Changedcontent_analyze1 field changed
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
    • Changedcontent_batch_analyze1 field changed
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
    • Changedinfra_cache1 field changed
      • addedInput schema / properties / action / description
        Added value: +"Cache operation — \"stats\", \"list\", \"clear\", or \"context\"."
    • Changedinfra_configure1 field changed
      • addedInput schema / properties / thinking_level / description
        Added value: +"Thinking depth — \"minimal\", \"low\", \"medium\", or \"high\"."
    • Changedknowledge_fetch1 field changed
      • addedInput schema / properties / collection / description
        Added value: +"Collection the object belongs to."
    • Changedknowledge_ingest1 field changed
      • addedInput schema / properties / collection / description
        Added value: +"Target collection name."
    • Changedknowledge_related1 field changed
      • addedInput schema / properties / collection / description
        Added value: +"Collection the source object belongs to."
    • Changedresearch_deep2 fields changed
      • addedInput schema / properties / scope / description
        Added value: +"Research depth — \"quick\", \"moderate\", \"deep\", or \"comprehensive\"."
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
    • Changedresearch_document2 fields changed
      • addedInput schema / properties / scope / description
        Added value: +"Research depth -- quick, moderate, deep, comprehensive."
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
    • Changedresearch_plan1 field changed
      • addedInput schema / properties / scope / description
        Added value: +"Research depth."
    • Changedvideo_analyze3 fields changed
      • addedInput schema / properties / file_path / description
        Added value: +"Path to a local video file."
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
      • addedInput schema / properties / url / description
        Added value: +"YouTube video URL."
    • Changedvideo_batch_analyze1 field changed
      • addedInput schema / properties / thinking_level / description
        Added value: +"Gemini thinking depth."
    • Changedvideo_create_session2 fields changed
      • addedInput schema / properties / file_path / description
        Added value: +"Path to a local video file."
      • addedInput schema / properties / url / description
        Added value: +"YouTube video URL."
  2. 34 tool updatesv0.6.0
    • First observedcontent_analyze
    • First observedcontent_batch_analyze
    • First observedcontent_extract
    • First observedinfra_cache
    • First observedinfra_configure
    • First observedknowledge_ask
    • First observedknowledge_fetch
    • First observedknowledge_ingest
    • First observedknowledge_query
    • First observedknowledge_related
    • First observedknowledge_schema
    • First observedknowledge_search
    • First observedknowledge_stats
    • First observedresearch_assess_evidence
    • First observedresearch_author_search
    • First observedresearch_deep
    • First observedresearch_document
    • First observedresearch_paper_citations
    • First observedresearch_paper_details
    • First observedresearch_paper_recommendations
    • First observedresearch_paper_search
    • First observedresearch_plan
    • First observedresearch_web
    • First observedresearch_web_cancel
    • First observedresearch_web_followup
    • First observedresearch_web_status
    • First observedvideo_analyze
    • First observedvideo_batch_analyze
    • First observedvideo_comments
    • First observedvideo_continue_session
    • First observedvideo_create_session
    • First observedvideo_metadata
    • First observedvideo_playlist
    • First observedweb_search

TDQS

A3.7/5.0

Scored across 34 tools

Disambiguation3/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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'.

Completeness4/5

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

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers