analyze-mediaAnalyze images, PDFs, or other media files using Gemini multimodal capabilities. Supports screenshots, diagrams, documents, and more.Input schema{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "Path to the media file to analyze. REQUIRED. Use @ prefix (e.g., @screenshot.png, @diagram.pdf). Supports: PNG, JPG, JPEG, GIF, WebP, PDF."
},
"prompt": {
"type": "string",
"description": "What to analyze or extract from the media. REQUIRED. Be specific (e.g., \"extract all text\", \"describe UI components\", \"summarize document\")."
},
"model": {
"type": "string",
"description": "Gemini model to use. DEFAULT: 'gemini-3-pro-preview' (best multimodal). Use 'gemini-3-flash-preview' for faster but less detailed analysis."
},
"detailed": {
"type": "boolean",
"default": false,
"description": "Enable comprehensive analysis mode. DEFAULT: false. Set to true for structured output with overview, key elements, and recommendations."
}
},
"required": [
"filePath",
"prompt"
]
}Annotations{
"title": "Analyze Media",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
} | — | Read onlyNon-destructiveNon-idempotentOpen world | — |
brainstormGenerate creative ideas using structured frameworks (SCAMPER, Design Thinking, etc.) with domain context, feasibility analysis, and iterative refinement.Input schema{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The brainstorming challenge or question. REQUIRED. Be specific about what you need ideas for (e.g., \"ways to reduce API latency\", \"features for a fitness app\", \"marketing strategies for B2B SaaS\"). More context yields better ideas."
},
"model": {
"type": "string",
"description": "Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best for creative thinking), 'gemini-3-flash-preview' (faster). Use Pro for complex brainstorming requiring deep domain knowledge. Omit for default."
},
"methodology": {
"type": "string",
"enum": [
"divergent",
"convergent",
"scamper",
"design-thinking",
"lateral",
"auto"
],
"default": "auto",
"description": "Brainstorming framework. OPTIONS: 'auto' (default, AI selects best approach), 'divergent' (maximize quantity of ideas), 'convergent' (refine and prioritize existing ideas), 'scamper' (systematic creative triggers), 'design-thinking' (human-centered solutions), 'lateral' (unexpected connections). Use 'auto' unless you have a specific preference."
},
"domain": {
"type": "string",
"description": "Domain expertise to apply. EXAMPLES: 'software', 'business', 'marketing', 'product', 'research', 'healthcare', 'finance'. Helps Gemini apply domain-specific knowledge. Include for specialized output."
},
"constraints": {
"type": "string",
"description": "Limitations and requirements to respect. EXAMPLES: 'budget under $10k', 'must work offline', 'launch in 2 weeks'. Helps filter ideas to only feasible options."
},
"existingContext": {
"type": "string",
"description": "Background information to build upon. EXAMPLES: 'we tried X but failed because Y', 'current solution uses React'. Provides context for more relevant ideas."
},
"ideaCount": {
"type": "integer",
"default": 12,
"description": "Number of ideas to generate. DEFAULT: 12. Use higher (15-20) for exploration, lower (5-8) for focused detailed ideas."
},
"includeAnalysis": {
"type": "boolean",
"default": true,
"description": "Include feasibility/impact/innovation ratings for each idea. DEFAULT: true. Set to false for faster output without analysis."
}
},
"required": [
"prompt"
]
}Annotations{
"title": "Brainstorm Ideas",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
} | — | Read onlyNon-destructiveNon-idempotentOpen world | — |
fetch-chunkRetrieves cached chunks from a changeMode response. Use this to get subsequent chunks after receiving a partial changeMode response.Input schema{
"type": "object",
"properties": {
"cacheKey": {
"type": "string",
"description": "Cache key from a previous changeMode response. REQUIRED. Copy exactly from the response that contained \"Chunk 1 of N\". Cache expires after 10 minutes."
},
"chunkIndex": {
"type": "number",
"description": "Chunk number to retrieve. REQUIRED. Use 1-based indexing (1, 2, 3...). If response said \"Chunk 1 of 5\", request chunkIndex=2 for next chunk."
}
},
"required": [
"cacheKey",
"chunkIndex"
]
}Annotations{
"title": "Fetch Response Chunk",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
} | — | Read onlyNon-destructiveIdempotentClosed world | — |
geminiQuery Gemini AI. Supports model selection, sandbox mode for safe code execution, and structured change mode for applying edits.Input schema{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The question or task for Gemini. REQUIRED. Use @ prefix to include files (e.g., '@src/app.ts explain the auth flow', '@package.json suggest improvements'). For code analysis, include relevant file paths. For general questions, just ask directly."
},
"model": {
"type": "string",
"description": "Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best quality), 'gemini-3-flash-preview' (faster, good for simple tasks). Use Flash for quick lookups or when Pro quota is exceeded. Omit to use default Pro model."
},
"sandbox": {
"type": "boolean",
"default": false,
"description": "Enable sandboxed code execution (-s flag). Use when Gemini needs to run code, execute scripts, or test changes in isolation. Sandbox prevents modifications to your actual filesystem. Set to true for code execution tasks."
},
"yolo": {
"type": "boolean",
"default": false,
"description": "Enable YOLO mode (--yolo flag) to auto-approve ALL tool executions without confirmation prompts. REQUIRED when using Google Workspace extension (gemini-cli-extensions/workspace) to access Gmail, Google Drive, Sheets, Docs, Calendar, or Chat. Without this flag, Workspace extension tools will hang waiting for user approval. Set to true for any request involving Google Workspace data or actions."
},
"changeMode": {
"type": "boolean",
"default": false,
"description": "Enable structured edit mode for code modifications. Returns edits in OLD/NEW format that can be applied programmatically. Use when requesting code changes that need to be applied to files. The response will include exact line numbers and replacement blocks."
},
"chunkIndex": {
"type": [
"number",
"string"
],
"description": "Chunk number to retrieve (1-based). Use ONLY when a previous changeMode response indicated multiple chunks. Combine with chunkCacheKey from the original response to get subsequent chunks."
},
"chunkCacheKey": {
"type": "string",
"description": "Cache key from a previous chunked response. REQUIRED when fetching subsequent chunks. Copy the cacheKey from the original changeMode response that contained \"Chunk 1 of N\"."
}
},
"required": [
"prompt"
]
}Annotations{
"title": "Query Gemini AI",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
} | — | WritesDestructiveNon-idempotentOpen world | — |
helpDisplay Gemini CLI help and available options.Input schema{
"type": "object",
"properties": {},
"required": []
}Annotations{
"title": "Get Help",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
} | — | Read onlyNon-destructiveIdempotentClosed world | — |
pingTest connectivity by echoing a message back.Input schema{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"default": "",
"description": "Message to echo"
}
},
"required": []
}Annotations{
"title": "Ping Server",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
} | — | Read onlyNon-destructiveIdempotentClosed world | — |
shellGenerate and optionally execute shell commands using Gemini. By default runs in dry-run mode (explains commands). Set dryRun=false to execute in sandbox.Input schema{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "Shell task description. REQUIRED. Describe what you want to accomplish (e.g., \"find TypeScript files modified last week\", \"compress log files\"). Gemini will generate appropriate commands."
},
"workingDirectory": {
"type": "string",
"description": "Directory to run commands in. OPTIONAL. Use @ prefix (e.g., @src/). If omitted, uses current working directory."
},
"dryRun": {
"type": "boolean",
"default": true,
"description": "Command execution mode. DEFAULT: true (safe, explains without executing). When false: executes in sandbox. Set to false only for actual execution."
},
"model": {
"type": "string",
"description": "Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (fast). Use 'gemini-3-pro-preview' for complex operations."
}
},
"required": [
"task"
]
}Annotations{
"title": "Shell Commands",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
} | — | WritesDestructiveNon-idempotentOpen world | — |
timeout-testTest timeout prevention by running for a specified durationInput schema{
"type": "object",
"properties": {
"duration": {
"type": "number",
"description": "Duration in milliseconds (minimum 10ms)"
}
},
"required": [
"duration"
]
}Annotations{
"title": "Test Timeout",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
} | — | Read onlyNon-destructiveIdempotentClosed world | — |
web-searchSearch the web using Gemini with Google Search grounding for real-time information.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query for web search. REQUIRED. Use natural language or keywords (e.g., \"latest React 19 features\", \"TypeScript 5.4 release date\"). Gemini will search and synthesize results."
},
"summarize": {
"type": "boolean",
"default": true,
"description": "Return summarized results vs raw output. DEFAULT: true. Set to false only if you need raw search results. Summarized mode provides cleaner, actionable information."
},
"model": {
"type": "string",
"description": "Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (optimized for speed). Use 'gemini-3-pro-preview' for complex research requiring deeper analysis."
}
},
"required": [
"query"
]
}Annotations{
"title": "Web Search",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
} | — | Read onlyNon-destructiveNon-idempotentOpen world | — |