gemini_batch_ embed_ contentsGenerates multiple embedding vectors from the input `Content` which consists of a batch of strings represented as `EmbedContentRequest` objects.
Ask Gemini about a PDF, video or web page, create and edit images with Nano Banana, make Veo videos, run Deep Research, build File Search knowledge bases and queue batch jobs from Claude, ChatGPT or Codex.
PopMCPGoogle Gemini
Gemini's generation, file, embedding, caching, batch and agent operations. Requests shaped for OpenAI or Anthropic are rewritten into Gemini's format for you.
gemini_batch_ embed_ contentsGenerates multiple embedding vectors from the input `Content` which consists of a batch of strings represented as `EmbedContentRequest` objects.
gemini_count_ tokensRuns a model's tokenizer on input `Content` and returns the token count.
gemini_create_ batchEnqueues a batch of `GenerateContent` requests for batch processing.
gemini_create_ embedding_ batchEnqueues a batch of `EmbedContent` requests for batch processing.
gemini_embed_ contentGenerates a text embedding vector from the input `Content` using the specified [Gemini Embedding model](https://ai.google.dev/gemini-api/docs/models/gemini#text-embedding).
gemini_generate_ contentGenerates a model response given an input `GenerateContentRequest`.
gemini_generate_ imageCreate or edit an image with Gemini's image models ("Nano Banana").
gemini_generate_ videosSame as Predict but returns an LRO.
gemini_get_ modelGets information about a specific `Model` such as its version number, token limits, [parameters](https://ai.google.dev/gemini-api/docs/models/generative-models#model-parameters) and other metadata.
gemini_list_ modelsLists the [`Model`s](https://ai.google.dev/gemini-api/docs/models/gemini) available through the Gemini API.
gemini_cancel_ batchCancel a running Batch API job.
gemini_create_ file_ search_ storeCreates an empty `FileSearchStore`.
gemini_delete_ batchDelete a Batch API job record (it stops tracking it; it does not cancel a running job).
gemini_delete_ fileDeletes the `File`.
gemini_delete_ file_ search_ storeDeletes a `FileSearchStore`.
gemini_download_ fileDownload the content of a file Gemini GENERATED: most usefully a Batch API results file (the batch's responsesFile, JSON Lines, one result per line), which comes back as text under `raw`.
gemini_get_ batchGet a Batch API job's state and, once it succeeded, its results (inlined responses or a responsesFile).
gemini_get_ fileGets the metadata for the given `File`.
gemini_get_ file_ search_ storeGets information about a specific `FileSearchStore`.
gemini_import_ file_ to_ file_ search_ storeImports a `File` from File Service to a `FileSearchStore`.
gemini_list_ batchesList this project's Batch API jobs (generation and embeddings) with their state.
gemini_list_ file_ search_ storesLists all `FileSearchStores` owned by the user.
gemini_list_ filesLists the metadata for `File`s owned by the requesting project.
gemini_upload_ fileUpload a file to the Gemini Files API so a prompt can reference it (PDFs, images, audio, video, text, code).
gemini_upload_ to_ file_ search_ storeAdd a document to a File Search store in one step: the connector uploads the bytes, and Gemini chunks, embeds and indexes them for retrieval with the fileSearch tool.
gemini_create_ cached_ contentCreates CachedContent resource.
gemini_delete_ cached_ contentDeletes CachedContent resource.
gemini_get_ cached_ contentReads CachedContent resource.
gemini_list_ cached_ contentsLists CachedContents.
gemini_update_ cached_ contentUpdates CachedContent resource (only expiration is updatable).
gemini_cancel_ interactionCancels an interaction by id.
gemini_create_ interactionCreates a new interaction.
gemini_create_ voiceCreate a custom text-to-speech voice.
gemini_delete_ interactionDeletes the interaction by id.
gemini_get_ interactionRetrieves the full details of a single interaction based on its `Interaction.id`.
gemini_list_ agentsLists all Agents.
gemini_list_ voicesList the voices available for text-to-speech: your custom voices first, then Google's prebuilt catalog (Puck, Charon, Kore, ...).
gemini_delete_ file_ search_ documentDeletes a `Document`.
gemini_get_ operationPoll ANY long-running Gemini operation by the `name` the starting call returned: video generation (generate_videos), batch jobs (create_batch, create_embedding_batch: names like batches/abc), File Search uploads and imports, and tuning jobs.
gemini_list_ file_ search_ documentsLists all `Document`s in a `Corpus`.
gemini_stream_ generate_ contentGenerates a [streamed response](https://ai.google.dev/gemini-api/docs/text-generation?lang=python#generate-a-text-stream) from the model given an input `GenerateContentRequest`.
gemini_create_ triggerCreates a new trigger that will invoke the specified agent on the given cron schedule.
gemini_create_ webhookCreates a new Webhook.
gemini_delete_ triggerDeletes a trigger.
gemini_delete_ webhookDeletes a Webhook.
gemini_get_ triggerGets details of a single trigger.
gemini_get_ webhookGets a specific Webhook.
gemini_list_ trigger_ executionsLists executions for a trigger.
gemini_list_ triggersLists triggers for a project.
gemini_list_ webhooksLists all Webhooks.
gemini_ping_ webhookSends a ping event to a Webhook.
gemini_rotate_ webhook_ signing_ secretGenerates a new signing secret for a Webhook.
gemini_run_ triggerRuns a trigger immediately.
gemini_update_ triggerUpdates a trigger.
gemini_update_ webhookUpdates an existing Webhook.
gemini_create_ environmentCreates an environment.
gemini_delete_ environmentDeletes an environment.
gemini_get_ environmentGets an environment.
gemini_get_ environment_ filesRetrieves file metadata or directory contents from an environment's snapshot.
gemini_list_ environmentsLists environments.
gemini_register_ gcs_ filesRegisters a Google Cloud Storage files with FileService.
gemini_update_ batchUpdates a batch of GenerateContent requests for batch processing.
gemini_update_ embedding_ batchUpdates a batch of EmbedContent requests for batch processing.
gemini_upload_ environment_ fileWrite a file into an agent environment's workspace (the sandbox an Antigravity agent works in).
gemini_create_ credentialCreates a credential.
gemini_delete_ credentialDeletes a credential.
gemini_get_ credentialGets metadata of a single credential (no secret fields).
gemini_list_ credentialsLists credentials for a project.
gemini_update_ credentialUpdates a credential.
gemini_create_ agentCreates a new Agent (Typed version for SDK).
gemini_delete_ agentDeletes an Agent.
gemini_delete_ voiceDelete a stored custom voice.
gemini_get_ agentGets a specific Agent.
gemini_get_ voiceGet one custom voice (created with create_voice and store = true) by id, including its description and, for a prompted voice, its sample audio.
gemini_delete_ operationDelete a finished long-running operation record (stable v1 API).
gemini_get_ file_ search_ documentGets information about a specific `Document`.
gemini_list_ operationsList the project's long-running operations (stable v1 API).
gemini_dynamic_ generate_ contentGenerates a model response given an input `GenerateContentRequest`.
gemini_dynamic_ stream_ generate_ contentGenerates a [streamed response](https://ai.google.dev/gemini-api/docs/text-generation?lang=python#generate-a-text-stream) from the model given an input `GenerateContentRequest`.
gemini_get_ model_ operationPoll one model operation, such as a Veo video generation, by its full name.
gemini_list_ model_ operationsList the long-running operations (such as Veo video generations) started on one model.
gemini_create_ ephemeral_ tokenCreates a token that can be used to constrain the behavior of a BidiGenerateContent session.
gemini_download_ file_ search_ store_ mediaDownloads media from a `FileSearchStore`.
gemini_get_ file_ search_ store_ operationPoll a File Search import operation by its full name.
gemini_get_ file_ search_ store_ upload_ operationPoll a File Search upload operation by its full name.
gemini_get_ generated_ file_ operationPoll the operation producing a generated file by its full name.
gemini_list_ generated_ filesLists the generated files owned by the requesting project.
Credentials off one Google Gemini screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Open Google AI Studio at aistudio.google.com/apikey, click Create API key and paste it into the Gemini API key field; keys starting AIza or AQ. both work. No OAuth app, client secret or redirect URL. Image, Veo and Pro models need billing on the key's project.
••••••••••••3f7agenerate_image, generate_videos and create_batch bill the key's Google project the moment the AI calls them; delete_file and delete_cached_content remove data at once. Tick Google Gemini on the PopMCP consent screen only for clients that need it.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Google Gemini credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Make a 16:9 watercolor header of a cozy reading nook for the blog, using the best image model this key can use
gemini_list_modelsok
Then just ask for the work
“Make a 16:9 watercolor header of a cozy reading nook for the blog, using the best image model this key can use”
“Turn this product photo (link below) into an 8-second 1080p Veo clip and tell me when it's ready”
“Run Deep Research on the home battery market in Australia and give me the report”
“Build a knowledge base from our support handbook PDF (link below) and ask it how refunds work”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Google Gemini behind an AI client.
One Gemini API key from Google AI Studio. Open aistudio.google.com/apikey, click Create API key and paste it; keys starting AIza and AQ. both work, and there is no OAuth app, client secret or redirect URL. PopMCP checks it by listing the models it can use and running a free token count, stores it encrypted and sends it from the server, so the AI client never sees it. A key belongs to one Google Cloud project, so the connection is locked to that project.
Yes, for the Flash text models, embeddings, File Search and more. Image generation, Veo video, Pro preview models and the Batch API need billing enabled on the key's Google Cloud project, although creating the key is free. If Google does not offer the free tier in your region, the connect check says so and asks you to enable billing in Google AI Studio. A 403 or 429 from a tool later usually means billing or quota.
Yes. generate_image creates or edits a picture with Gemini's image models, known as Nano Banana, and PopMCP attaches it to the tool result as an MCP image block, so your client can show it instead of reading megabytes of base64 text. Add image URLs to edit or combine photos, and set aspectRatio and imageSize (1K, 2K or 4K). It makes one image per call on a billing-enabled key, with gemini-3.1-flash-image by default and gemini-3-pro-image for the highest quality.
Yes, on a billing-enabled key. generate_videos starts a Veo job from a prompt, or animates an image URL that PopMCP downloads and inlines because Veo only accepts bytes, and get_operation polls it, usually for 1 to 6 minutes. The finished video is a link that only works with your Gemini API key, which PopMCP never reveals, so you open it with your own key added. Google keeps generated videos for 2 days.
Yes. create_interaction starts Google's Deep Research agent, which runs in the background for several minutes, and get_interaction polls it by id until the status is completed, with the report lifted into outputText. list_agents shows the agents your key can run, including Antigravity and any managed agents you created. PopMCP's Research or agent run completed trigger fires when a background run finishes, and Agent waiting for input fires when it needs an answer.
Yes. generate_content takes your prompt plus files: public https links up to 100 MB, YouTube links, or files uploaded with upload_file. upload_file accepts a URL, plain text or base64 and runs Google's resumable upload for the AI, which cannot put file bytes in a tool call; uploads expire after 48 hours, and video or audio is usable once get_file reports ACTIVE. count_tokens sizes a large request before you send it.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 87 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 40-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 87 here. A trigger is something PopMCP watches for you: 11 Google Gemini events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Google Gemini.
Launch a hosted MCP endpoint for Google Gemini, keep tool access under control, and start testing real workflow prompts right away.