ultimate-gemini-mcp 1.0.14__tar.gz → 1.0.16__tar.gz

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.

Files changed (35) hide show
  1. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/PKG-INFO +1 -1
  2. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/pyproject.toml +1 -1
  3. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/__init__.py +1 -1
  4. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/server.py +24 -6
  5. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.env.example +0 -0
  6. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.github/workflows/README.md +0 -0
  7. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.github/workflows/claude-code-review.yml +0 -0
  8. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.github/workflows/claude.yml +0 -0
  9. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.github/workflows/publish.yml +0 -0
  10. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.github/workflows/test.yml +0 -0
  11. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/.gitignore +0 -0
  12. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/CLAUDE.md +0 -0
  13. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/LICENSE +0 -0
  14. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/MANIFEST.in +0 -0
  15. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/PUBLISHING.md +0 -0
  16. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/README.md +0 -0
  17. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/TEST_RESULTS.md +0 -0
  18. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/app.py +0 -0
  19. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/config/__init__.py +0 -0
  20. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/config/constants.py +0 -0
  21. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/config/settings.py +0 -0
  22. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/core/__init__.py +0 -0
  23. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/core/exceptions.py +0 -0
  24. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/core/validation.py +0 -0
  25. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/prompts/__init__.py +0 -0
  26. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/resources/__init__.py +0 -0
  27. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/services/__init__.py +0 -0
  28. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/services/gemini_client.py +0 -0
  29. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/services/image_service.py +0 -0
  30. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/services/imagen_client.py +0 -0
  31. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/services/prompt_enhancer.py +0 -0
  32. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/tools/__init__.py +0 -0
  33. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/tools/batch_generate.py +0 -0
  34. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/tools/generate_image.py +0 -0
  35. {ultimate_gemini_mcp-1.0.14 → ultimate_gemini_mcp-1.0.16}/src/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultimate-gemini-mcp
3
- Version: 1.0.14
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,6 +1,6 @@
1
1
  [project]
2
2
  name = "ultimate-gemini-mcp"
3
- version = "1.0.14"
3
+ version = "1.0.16"
4
4
  description = "Ultimate image generation MCP server unifying Gemini 2.5 Flash Image and Imagen 4/Fast/Ultra with advanced features"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -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.14"
10
+ __version__ = "1.0.16"
11
11
  __author__ = "Ultimate Gemini MCP"
12
12
 
13
13
  from .config import get_settings
@@ -133,23 +133,41 @@ def create_app() -> FastMCP:
133
133
 
134
134
  return json.dumps(config, indent=2)
135
135
 
136
- @mcp.resource("image://{path}")
137
- def get_image(path: str) -> bytes:
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
157
  Get a generated image by filename.
140
158
 
141
159
  Args:
142
- path: The filename of the image (e.g., "gemini-2.5-flash-image_20251026_054949_a serene mountain landscape at sunset with snow-ca.png")
160
+ filename: The filename of the image
143
161
 
144
162
  Returns:
145
- Image data as bytes
163
+ Image bytes (PNG format)
146
164
  """
147
165
  from pathlib import Path
148
166
 
149
- image_path = settings.output_dir / path
167
+ image_path = settings.output_dir / filename
150
168
 
151
169
  if not image_path.exists():
152
- raise FileNotFoundError(f"Image not found: {path}")
170
+ raise FileNotFoundError(f"Image not found: {filename}")
153
171
 
154
172
  if not image_path.is_relative_to(settings.output_dir):
155
173
  raise ValueError("Access denied: path outside output directory")