@chrischall/gemini-mcp 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +5 -3
- package/dist/bundle.js +753 -186
- package/dist/client.js +146 -39
- package/dist/dotenv.js +3 -4
- package/dist/fetch-image.js +10 -4
- package/dist/images.js +15 -5
- package/dist/index.js +6 -4
- package/dist/inputs.js +1 -1
- package/dist/library.js +9 -4
- package/dist/session.js +21 -15
- package/dist/sidecar.js +31 -7
- package/dist/tenant.js +4 -9
- package/dist/tools/_confirm.js +9 -0
- package/dist/tools/files.js +3 -1
- package/dist/tools/generate.js +2 -2
- package/dist/tools/interact.js +6 -6
- package/dist/tools/jobs.js +2 -2
- package/dist/tools/library.js +4 -2
- package/dist/tools/models.js +2 -2
- package/dist/tools/music.js +2 -2
- package/dist/tools/set.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/usage.js +1 -1
- package/dist/tools/video.js +5 -7
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/server.json +38 -3
- package/skills/gemini-mcp/SKILL.md +3 -3
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "MCP server for Google Gemini image generation and editing — generate and edit images via the Gemini API",
|
|
10
|
-
"version": "2.3.
|
|
10
|
+
"version": "2.3.4"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "Gemini Images",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Generate and edit images with Google Gemini image models (Nano Banana / Nano Banana Pro) via natural language prompts",
|
|
18
|
-
"version": "2.3.
|
|
18
|
+
"version": "2.3.4",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gemini-mcp",
|
|
3
3
|
"displayName": "Gemini Images",
|
|
4
|
-
"version": "2.3.
|
|
4
|
+
"version": "2.3.4",
|
|
5
5
|
"description": "MCP server for Google Gemini image generation and editing — generate and edit images via the Gemini API",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"mcp"
|
|
21
21
|
],
|
|
22
22
|
"skills": "./skills/",
|
|
23
|
-
"
|
|
23
|
+
"mcpServers": "./.mcp.json"
|
|
24
24
|
}
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Developed and maintained by AI (Claude Code).
|
|
|
14
14
|
|---|---|---|
|
|
15
15
|
| `GEMINI_API_KEY` | Yes | Your Google Gemini API key ([aistudio.google.com/apikey](https://aistudio.google.com/apikey)) |
|
|
16
16
|
| `GEMINI_IMAGE_MODEL` | No | Override the default image model (default: `gemini-3.1-flash-image`) |
|
|
17
|
-
| `GEMINI_OUTPUT_DIR` | No | Default directory for generated images (default:
|
|
17
|
+
| `GEMINI_OUTPUT_DIR` | No | Default directory for generated images (default: ~/Downloads/gemini-mcp). When set, a per-call `output_dir` must be inside it. |
|
|
18
18
|
| `GEMINI_INPUT_DIR` | No | Directory to resolve bare input-image filenames against (so `images: ["foo.jpg"]` works) |
|
|
19
19
|
| `GEMINI_UPLOAD_DIR` | No | Restrict local files streamed to the Gemini Files API (`gemini_upload_file` `path`, `video_path`) to these directories — one or more, separated by `:` (`;` on Windows); `~` allowed. A path outside is refused before any upload. Unset: no restriction |
|
|
20
20
|
| `GEMINI_REFERENCE_DIR` | No | Restrict local **reference images** (the `images` / `master_images` paths read and sent to Gemini — inline, or as a Files API upload once reused) to these directories — `:`-separated (`;` on Windows), `~` allowed; `GEMINI_OUTPUT_DIR` is always allowed too, so generated images can be fed back in. A path outside (symlinks followed) is refused before it is read. Unset: `GEMINI_UPLOAD_DIR` applies instead. If both are unset, reference images are **unrestricted** on a local install (any file the server can read can be sent), and confined to `$MCP_DATA_DIR/uploads` when `MCP_DATA_DIR` is set (hosted) |
|
|
@@ -26,7 +26,8 @@ Developed and maintained by AI (Claude Code).
|
|
|
26
26
|
|
|
27
27
|
Sending a **local file** to Google (the `images` / `master_images` / `video_path` inputs, or
|
|
28
28
|
`gemini_upload_file`'s `path`) and every **delete** ask for confirmation first. A client that can
|
|
29
|
-
show a confirmation prompt (Claude Code) gets the real prompt
|
|
29
|
+
show a confirmation prompt (Claude Code) gets the real prompt, unless `MCP_CONFIRM_ELICITATION=off`.
|
|
30
|
+
Elsewhere the first call does
|
|
30
31
|
nothing and returns a preview (the resolved local paths with their MIME types and sizes, or the
|
|
31
32
|
method/path being deleted) plus a `confirmToken`; only a repeat call with the same arguments and
|
|
32
33
|
that token proceeds. The token is single-use, expires, and is bound to the exact arguments — a
|
|
@@ -35,7 +36,8 @@ changed prompt or a swapped file between the two calls is refused. Pure text pro
|
|
|
35
36
|
|
|
36
37
|
| variable | default | |
|
|
37
38
|
|---|---|---|
|
|
38
|
-
| `MCP_CONFIRM_MODE` | `ask-user` | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt
|
|
39
|
+
| `MCP_CONFIRM_MODE` | `ask-user` | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless `MCP_CONFIRM_ELICITATION=off`. An unrecognised value is treated as `refuse`. |
|
|
40
|
+
| `MCP_CONFIRM_ELICITATION` | `on` | `off` never shows a confirmation prompt, so every client gets the `MCP_CONFIRM_MODE` path. Set it for a client that claims to support prompts but never shows one (the gated call hangs — opencode 2.0.x). Any other value stays `on`, with a warning on stderr. |
|
|
39
41
|
| `MCP_CONFIRM_TTL_SECONDS` | `600` | How long a token stays valid. |
|
|
40
42
|
| `MCP_CONFIRM_SECRET` | random per process | Signing key; set it only if tokens must survive a server restart. |
|
|
41
43
|
|