MCP Gemini Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_GEMINI_MODEL | No | Specifies a default Gemini model name (e.g., gemini-1.5-flash, gemini-1.0-pro) | |
| GOOGLE_GEMINI_API_KEY | Yes | Your API key obtained from Google AI Studio |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| exampleToolB | An example tool that takes a name and returns a greeting message. Demonstrates the basic structure of an MCP tool using Zod for parameter definition. |
| gemini_generateContentA | Generates non-streaming text content using a specified Google Gemini model. This tool takes a text prompt and returns the complete generated response from the model. It's suitable for single-turn generation tasks where the full response is needed at once. Optional parameters allow control over generation (temperature, max tokens, etc.) and safety settings. |
| gemini_generateContentStreamA | Generates text content as a stream using a specified Google Gemini model. This tool takes a text prompt and streams back chunks of the generated response as they become available. It's suitable for interactive use cases or handling long responses. Optional parameters allow control over generation and safety settings. |
| gemini_functionCallA | Generates content using a specified Google Gemini model, enabling the model to request execution of predefined functions. This tool accepts function declarations and returns either the standard text response OR the details of a function call requested by the model. NOTE: This tool only returns the request for a function call; it does not execute the function itself. |
| gemini_startChatB | Initiates a new stateful chat session with a specified Gemini model. Returns a unique sessionId to be used in subsequent chat messages. Optionally accepts initial conversation history and session-wide generation/safety configurations. |
| gemini_sendMessageA | Sends a message to an existing Gemini chat session, identified by its sessionId. Returns the model's response, which might include text or a function call request. |
| gemini_sendFunctionResultB | Sends the result(s) of function execution(s) back to an existing Gemini chat session, identified by its sessionId. Returns the model's subsequent response. |
| gemini_uploadFileA | Uploads a file (specified by a local path) to be used with the Gemini API. NOTE: This API is not supported on Vertex AI clients. It only works with Google AI Studio API keys. Returns metadata about the uploaded file, including its unique name and URI. |
| gemini_listFilesA | Lists files previously uploaded to the Gemini API. Supports pagination to handle large numbers of files. NOTE: This API is not supported on Vertex AI clients. It only works with Google AI Studio API keys. Returns a list of file metadata objects and potentially a token for the next page. |
| gemini_getFileB | Retrieves metadata for a specific file previously uploaded to the Gemini API. NOTE: This API is not supported on Vertex AI clients. It only works with Google AI Studio API keys. Requires the unique file name (e.g., 'files/abc123xyz'). |
| gemini_deleteFileA | Deletes a specific file previously uploaded to the Gemini API. NOTE: This API is not supported on Vertex AI clients. It only works with Google AI Studio API keys. Requires the unique file name (e.g., 'files/abc123xyz'). Returns a success confirmation. |
| gemini_createCacheA | Creates a cached content resource for a compatible Gemini model. Caching can reduce latency and costs for prompts that are reused often. NOTE: Caching is only supported for specific models (e.g., gemini-1.5-flash, gemini-1.5-pro). Returns metadata about the created cache. |
| gemini_listCachesB | Lists cached content resources available for the project. Supports pagination. Returns a list of cache metadata objects and potentially a token for the next page. |
| gemini_getCacheB | Retrieves metadata for a specific cached content resource. Requires the unique cache name (e.g., 'cachedContents/abc123xyz'). |
| gemini_updateCacheA | Updates metadata (TTL and/or displayName) for a specific cached content resource. Requires the unique cache name (e.g., 'cachedContents/abc123xyz'). Returns the updated cache metadata. |
| gemini_deleteCacheA | Deletes a specific cached content resource. Requires the unique cache name (e.g., 'cachedContents/abc123xyz'). Returns a success confirmation. |
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 16 tools
Every tool has a clearly distinct purpose with no ambiguity. The tools are well-organized into functional groups: content generation (generateContent, generateContentStream, functionCall), chat management (startChat, sendMessage, sendFunctionResult), cache operations (createCache, getCache, updateCache, deleteCache, listCaches), and file operations (uploadFile, getFile, deleteFile, listFiles). The exampleTool serves as a demonstration and doesn't overlap with the Gemini-specific functionality.
The naming is mostly consistent with a clear gemini_prefix followed by verb_noun pattern (e.g., gemini_createCache, gemini_generateContent). The only deviation is exampleTool which lacks the gemini_ prefix and uses camelCase instead of snake_case, but this appears intentional as a demonstration tool. All 15 Gemini tools follow the same consistent naming convention.
16 tools is well-scoped and appropriate for a comprehensive Gemini API server. Each tool earns its place by covering distinct aspects of the Gemini ecosystem: content generation, chat sessions, file management, and caching. The count allows complete coverage without being overwhelming for the domain.
The tool surface provides complete CRUD/lifecycle coverage for all major Gemini API domains. For caches: create, get, update, delete, list. For files: upload, get, delete, list. For chat: start, send messages, send function results. For content: generate (streaming and non-streaming) and function calling. No obvious gaps exist for the server's purpose of providing comprehensive Gemini API access.