MCP Gemini CrunchTools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | Yes | Your Google Gemini API key. Required to authenticate with the Gemini API. | |
| GEMINI_OUTPUT_DIR | No | Directory where generated images, audio, and videos are saved. Optional for non‑container usage; defaults to a system-dependent location if not set. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gemini_query_toolC | Query Gemini with a prompt. Supports Google Search grounding. |
| gemini_brainstorm_toolC | Brainstorm ideas on a topic using Gemini. |
| gemini_analyze_code_toolC | Analyze code with Gemini. |
| gemini_analyze_text_toolC | Analyze text with Gemini. |
| gemini_summarize_toolB | Summarize content with Gemini. |
| gemini_generate_image_toolC | Generate an image from a text prompt using Gemini's native image model. |
| gemini_generate_image_with_input_toolA | Generate/edit an image using a local image file as input. Upload a local image and give Gemini instructions for how to modify it. Use cases: add watermarks, change styles, composite images, etc. |
| gemini_image_prompt_toolB | Help craft an effective image generation prompt. |
| gemini_imagen_generate_toolA | Generate images using Google Imagen 4 models. Models (sorted by price):
|
| gemini_start_image_edit_toolA | Start a multi-turn image editing session. Optionally provide an existing image file as the starting point. Without file_path, Gemini generates a new image from the prompt. Use gemini_continue_image_edit_tool to make further edits. |
| gemini_continue_image_edit_toolA | Continue editing in an active image session. |
| gemini_end_image_edit_toolA | End an image editing session and free resources. |
| gemini_list_image_sessions_toolA | List all active image editing sessions. |
| gemini_analyze_image_toolA | Analyze and describe a local image file. |
| gemini_search_toolA | Search the web using Gemini with Google Search grounding. |
| gemini_analyze_document_toolC | Analyze a document (PDF, DOCX, TXT, etc.). |
| gemini_summarize_pdf_toolC | Summarize a PDF document. |
| gemini_extract_tables_toolC | Extract tables from a document. |
| gemini_analyze_url_toolD | Analyze one or more URLs. |
| gemini_compare_urls_toolC | Compare two URLs. |
| gemini_extract_from_url_toolC | Extract specific data from a URL. |
| gemini_generate_video_toolA | Generate a video using Veo. Returns an operation ID to poll. |
| gemini_check_video_toolB | Check the status of a video generation operation. |
| gemini_youtube_toolD | Analyze a YouTube video. |
| gemini_youtube_summary_toolB | Summarize a YouTube video. |
| gemini_speak_toolC | Convert text to speech. |
| gemini_dialogue_toolB | Generate multi-voice dialogue audio. |
| gemini_list_voices_toolA | List available voices for text-to-speech. |
| gemini_deep_research_toolB | Start a deep research task using a specialized Gemini model. Performs multi-step web research to answer complex questions. |
| gemini_check_research_toolB | Check the status of a deep research operation. |
| gemini_research_followup_toolA | Ask a follow-up question about completed research. |
| gemini_create_cache_toolB | Create a content cache for repeated queries. Upload content once and query it multiple times without re-sending. |
| gemini_query_cache_toolC | Query content in a cache. |
| gemini_list_caches_toolA | List all active content caches. |
| gemini_delete_cache_toolB | Delete a content cache. |
| gemini_structured_toolC | Get structured JSON output from Gemini. |
| gemini_extract_toolC | Extract structured data from text. |
| gemini_count_tokens_toolB | Count the number of tokens in content. |
| gemini_run_code_toolA | Execute code using Gemini's built-in code execution. Gemini writes and runs Python code to answer questions, perform calculations, or process data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Multiple tools have heavily overlapping purposes: gemini_query_tool, gemini_brainstorm_tool, and the various gemini_analyze_* tools all accept free-form text prompts to Gemini, making it nearly impossible to choose correctly. Pairs like gemini_generate_image_with_input_tool vs gemini_start_image_edit_tool, gemini_summarize_tool vs gemini_summarize_pdf_tool, and especially gemini_youtube_tool vs gemini_youtube_summary_tool create genuine selection ambiguity.
The gemini_ prefix and _tool suffix are consistent, but the internal structure is a jumble: verb_noun (summarize_pdf, query_cache) mixes with noun_verb (imagen_generate), verb-only (speak, extract), and noun-only (youtube, structured) forms. The adjacency of generate_image, generate_image_with_input, and imagen_generate uses three different orderings for the same concept with no predictable rule.
At 39 tools, this far exceeds a well-scoped surface, but the breadth might justify it since the server spans text, images, video, audio, documents, research, caching, and code execution. However, most of these domains don't need 3-6 near-synonyms each; the server could easily be consolidated to ~20 distinct capabilities without losing functionality.
For a Gemini API wrapper, the coverage is remarkably thorough: generation, editing, analysis, video, TTS/voice, research, caching, structured output, and code execution are all represented. Minor gaps exist (e.g., no way to list or cancel video operations beyond check, no delete for research sessions, no way to select a voice when calling speak despite list_voices existing), but these are edge cases rather than workflow-breaking holes.