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 +1 -1
- src/server.py +26 -17
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/METADATA +1 -1
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/RECORD +7 -7
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/WHEEL +0 -0
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/entry_points.txt +0 -0
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/licenses/LICENSE +0 -0
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.
|
|
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.
|
|
137
|
-
|
|
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
|
-
filename: The filename of the image
|
|
160
|
+
filename: The filename of the image
|
|
143
161
|
|
|
144
162
|
Returns:
|
|
145
|
-
|
|
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
|
-
|
|
170
|
+
raise FileNotFoundError(f"Image not found: {filename}")
|
|
155
171
|
|
|
156
172
|
if not image_path.is_relative_to(settings.output_dir):
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
image_data = base64.b64encode(image_path.read_bytes()).decode()
|
|
173
|
+
raise ValueError("Access denied: path outside output directory")
|
|
160
174
|
|
|
161
|
-
return
|
|
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.
|
|
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=
|
|
2
|
-
src/server.py,sha256=
|
|
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.
|
|
21
|
-
ultimate_gemini_mcp-1.0.
|
|
22
|
-
ultimate_gemini_mcp-1.0.
|
|
23
|
-
ultimate_gemini_mcp-1.0.
|
|
24
|
-
ultimate_gemini_mcp-1.0.
|
|
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,,
|
|
File without changes
|
{ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.16.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|