ultimate-gemini-mcp 1.0.15__py3-none-any.whl → 1.0.16__py3-none-any.whl

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.

Potentially problematic release.


This version of ultimate-gemini-mcp might be problematic. Click here for more details.

src/__init__.py CHANGED
@@ -7,7 +7,7 @@ A unified MCP server that combines the best features from:
7
7
  - Advanced features: batch processing, editing, templates, and more
8
8
  """
9
9
 
10
- __version__ = "1.0.15"
10
+ __version__ = "1.0.16"
11
11
  __author__ = "Ultimate Gemini MCP"
12
12
 
13
13
  from .config import get_settings
src/server.py CHANGED
@@ -133,37 +133,46 @@ def create_app() -> FastMCP:
133
133
 
134
134
  return json.dumps(config, indent=2)
135
135
 
136
- @mcp.tool()
137
- async def get_image(filename: str) -> str:
136
+ @mcp.resource("images://list")
137
+ def list_images() -> str:
138
+ """List all generated images in the output directory."""
139
+ import json
140
+ from pathlib import Path
141
+
142
+ image_files = []
143
+ if settings.output_dir.exists():
144
+ for img in sorted(settings.output_dir.glob("*.png"), key=lambda p: p.stat().st_mtime, reverse=True):
145
+ image_files.append({
146
+ "filename": img.name,
147
+ "size": img.stat().st_size,
148
+ "modified": img.stat().st_mtime,
149
+ "uri": f"image://{img.name}"
150
+ })
151
+
152
+ return json.dumps({"images": image_files}, indent=2)
153
+
154
+ @mcp.resource("image://{filename}")
155
+ def get_image(filename: str) -> bytes:
138
156
  """
139
- Retrieve a generated image by filename and return as base64.
157
+ Get a generated image by filename.
140
158
 
141
159
  Args:
142
- filename: The filename of the image (e.g., "gemini-2.5-flash-image_20251026_055415_a cute orange cat sleeping on a sunny windowsill.png")
160
+ filename: The filename of the image
143
161
 
144
162
  Returns:
145
- JSON string with base64-encoded image data
163
+ Image bytes (PNG format)
146
164
  """
147
- import base64
148
- import json
149
165
  from pathlib import Path
150
166
 
151
167
  image_path = settings.output_dir / filename
152
168
 
153
169
  if not image_path.exists():
154
- return json.dumps({"success": False, "error": f"Image not found: {filename}"})
170
+ raise FileNotFoundError(f"Image not found: {filename}")
155
171
 
156
172
  if not image_path.is_relative_to(settings.output_dir):
157
- return json.dumps({"success": False, "error": "Access denied: path outside output directory"})
158
-
159
- image_data = base64.b64encode(image_path.read_bytes()).decode()
173
+ raise ValueError("Access denied: path outside output directory")
160
174
 
161
- return json.dumps({
162
- "success": True,
163
- "filename": filename,
164
- "image_base64": image_data,
165
- "size": len(image_path.read_bytes())
166
- }, indent=2)
175
+ return image_path.read_bytes()
167
176
 
168
177
  logger.info("Ultimate Gemini MCP Server initialized successfully")
169
178
  return mcp
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultimate-gemini-mcp
3
- Version: 1.0.15
3
+ Version: 1.0.16
4
4
  Summary: Ultimate image generation MCP server unifying Gemini 2.5 Flash Image and Imagen 4/Fast/Ultra with advanced features
5
5
  Project-URL: Homepage, https://github.com/anand-92/ultimate-image-gen-mcp
6
6
  Project-URL: Repository, https://github.com/anand-92/ultimate-image-gen-mcp
@@ -1,5 +1,5 @@
1
- src/__init__.py,sha256=37W1Cj8KSa632L8H4PZLI55Hy2cndCTsAzv0lRAw-nE,436
2
- src/server.py,sha256=T_zx1x6rFVnonFgiS2LN1W3porjpl1KzPM-X6JHewAQ,7055
1
+ src/__init__.py,sha256=tp0HzLV4X_y-gtvSrYfK9OPkED-ZLzFy6cNMwROpyFE,436
2
+ src/server.py,sha256=Nw-OCalYEPo0EmWJpDot8IKux5p50LbFS0hEYjWlCyY,7301
3
3
  src/config/__init__.py,sha256=hL0recV_ycXBEGCym7BqwyaPCnQHy8o429pBirnBeiA,704
4
4
  src/config/constants.py,sha256=uFQJMk03vLb5YjkYMimeIz06WAVnqW3tuWQlJLYjHtc,1875
5
5
  src/config/settings.py,sha256=uTxxblnyqmglz1COd3QxjC2w3o6l51S9MTanP4HBrgE,4257
@@ -17,8 +17,8 @@ src/tools/__init__.py,sha256=zBfAjFT51LvvD7WXTfDYiyJstRdphr2ChddAmGMZxkI,346
17
17
  src/tools/batch_generate.py,sha256=ESAUkHX5TOKPlHCzgY2jMLyAvSmInN2Jwm5-51EeWwg,5406
18
18
  src/tools/generate_image.py,sha256=M8jvqEdcPQpKgnMQqIhlCy7i9yO3hMVdsWR6l1pd8G8,9438
19
19
  src/utils/__init__.py,sha256=T2UShY0j2kiu63YPOsTACrzOfWTTq4PmC0flzcgeCl0,55
20
- ultimate_gemini_mcp-1.0.15.dist-info/METADATA,sha256=w7nd2jPIVtwvCaH5KgDyOt4iogJZ7hKN99Fe2Oaeols,16131
21
- ultimate_gemini_mcp-1.0.15.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
- ultimate_gemini_mcp-1.0.15.dist-info/entry_points.txt,sha256=-BeRTT4oR05e-YnF1ZNbNxlaekD4LsWhD-Zy_1dyRnc,56
23
- ultimate_gemini_mcp-1.0.15.dist-info/licenses/LICENSE,sha256=ilyzUnN0QHYtYGJks-NFUwiniNu08IedLmn_muRqa0o,1480
24
- ultimate_gemini_mcp-1.0.15.dist-info/RECORD,,
20
+ ultimate_gemini_mcp-1.0.16.dist-info/METADATA,sha256=wcjXuoJtH06tV9_1qrBewfDdOWVU92CdeLyHZlHqOys,16131
21
+ ultimate_gemini_mcp-1.0.16.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
+ ultimate_gemini_mcp-1.0.16.dist-info/entry_points.txt,sha256=-BeRTT4oR05e-YnF1ZNbNxlaekD4LsWhD-Zy_1dyRnc,56
23
+ ultimate_gemini_mcp-1.0.16.dist-info/licenses/LICENSE,sha256=ilyzUnN0QHYtYGJks-NFUwiniNu08IedLmn_muRqa0o,1480
24
+ ultimate_gemini_mcp-1.0.16.dist-info/RECORD,,