ultimate-gemini-mcp 1.0.15__py3-none-any.whl → 1.0.17__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 +6 -33
- src/tools/__init__.py +6 -1
- src/tools/generate_image.py +41 -0
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/METADATA +1 -1
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/RECORD +9 -9
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/WHEEL +0 -0
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/entry_points.txt +0 -0
- {ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.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.17"
|
|
11
11
|
__author__ = "Ultimate Gemini MCP"
|
|
12
12
|
|
|
13
13
|
from .config import get_settings
|
src/server.py
CHANGED
|
@@ -14,7 +14,11 @@ import sys
|
|
|
14
14
|
from fastmcp import FastMCP
|
|
15
15
|
|
|
16
16
|
from .config import ALL_MODELS, get_settings
|
|
17
|
-
from .tools import
|
|
17
|
+
from .tools import (
|
|
18
|
+
register_batch_generate_tool,
|
|
19
|
+
register_generate_image_tool,
|
|
20
|
+
register_get_image_tool,
|
|
21
|
+
)
|
|
18
22
|
|
|
19
23
|
# Set up logging
|
|
20
24
|
logging.basicConfig(
|
|
@@ -51,6 +55,7 @@ def create_app() -> FastMCP:
|
|
|
51
55
|
# Register tools
|
|
52
56
|
register_generate_image_tool(mcp)
|
|
53
57
|
register_batch_generate_tool(mcp)
|
|
58
|
+
register_get_image_tool(mcp)
|
|
54
59
|
|
|
55
60
|
# Add resources
|
|
56
61
|
@mcp.resource("models://list")
|
|
@@ -133,38 +138,6 @@ def create_app() -> FastMCP:
|
|
|
133
138
|
|
|
134
139
|
return json.dumps(config, indent=2)
|
|
135
140
|
|
|
136
|
-
@mcp.tool()
|
|
137
|
-
async def get_image(filename: str) -> str:
|
|
138
|
-
"""
|
|
139
|
-
Retrieve a generated image by filename and return as base64.
|
|
140
|
-
|
|
141
|
-
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")
|
|
143
|
-
|
|
144
|
-
Returns:
|
|
145
|
-
JSON string with base64-encoded image data
|
|
146
|
-
"""
|
|
147
|
-
import base64
|
|
148
|
-
import json
|
|
149
|
-
from pathlib import Path
|
|
150
|
-
|
|
151
|
-
image_path = settings.output_dir / filename
|
|
152
|
-
|
|
153
|
-
if not image_path.exists():
|
|
154
|
-
return json.dumps({"success": False, "error": f"Image not found: {filename}"})
|
|
155
|
-
|
|
156
|
-
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()
|
|
160
|
-
|
|
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)
|
|
167
|
-
|
|
168
141
|
logger.info("Ultimate Gemini MCP Server initialized successfully")
|
|
169
142
|
return mcp
|
|
170
143
|
|
src/tools/__init__.py
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"""Tools module for Ultimate Gemini MCP."""
|
|
2
2
|
|
|
3
3
|
from .batch_generate import batch_generate_images, register_batch_generate_tool
|
|
4
|
-
from .generate_image import
|
|
4
|
+
from .generate_image import (
|
|
5
|
+
generate_image_tool,
|
|
6
|
+
register_generate_image_tool,
|
|
7
|
+
register_get_image_tool,
|
|
8
|
+
)
|
|
5
9
|
|
|
6
10
|
__all__ = [
|
|
7
11
|
"generate_image_tool",
|
|
8
12
|
"register_generate_image_tool",
|
|
13
|
+
"register_get_image_tool",
|
|
9
14
|
"batch_generate_images",
|
|
10
15
|
"register_batch_generate_tool",
|
|
11
16
|
]
|
src/tools/generate_image.py
CHANGED
|
@@ -179,6 +179,47 @@ async def generate_image_tool(
|
|
|
179
179
|
await image_service.close()
|
|
180
180
|
|
|
181
181
|
|
|
182
|
+
def register_get_image_tool(mcp_server: Any) -> None:
|
|
183
|
+
"""Register get_image tool with MCP server."""
|
|
184
|
+
|
|
185
|
+
@mcp_server.tool()
|
|
186
|
+
async def get_image(filename: str) -> str:
|
|
187
|
+
"""
|
|
188
|
+
Retrieve a generated image by filename and return as base64.
|
|
189
|
+
|
|
190
|
+
Args:
|
|
191
|
+
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")
|
|
192
|
+
|
|
193
|
+
Returns:
|
|
194
|
+
JSON string with base64-encoded image data
|
|
195
|
+
"""
|
|
196
|
+
import base64
|
|
197
|
+
import json
|
|
198
|
+
|
|
199
|
+
from ..config import get_settings
|
|
200
|
+
|
|
201
|
+
settings = get_settings()
|
|
202
|
+
image_path = settings.output_dir / filename
|
|
203
|
+
|
|
204
|
+
if not image_path.exists():
|
|
205
|
+
return json.dumps({"success": False, "error": f"Image not found: {filename}"})
|
|
206
|
+
|
|
207
|
+
try:
|
|
208
|
+
image_data = base64.b64encode(image_path.read_bytes()).decode()
|
|
209
|
+
|
|
210
|
+
return json.dumps(
|
|
211
|
+
{
|
|
212
|
+
"success": True,
|
|
213
|
+
"filename": filename,
|
|
214
|
+
"image_base64": image_data,
|
|
215
|
+
"size": image_path.stat().st_size,
|
|
216
|
+
},
|
|
217
|
+
indent=2,
|
|
218
|
+
)
|
|
219
|
+
except Exception as e:
|
|
220
|
+
return json.dumps({"success": False, "error": str(e)})
|
|
221
|
+
|
|
222
|
+
|
|
182
223
|
def register_generate_image_tool(mcp_server: Any) -> None:
|
|
183
224
|
"""Register generate_image tool with MCP server."""
|
|
184
225
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ultimate-gemini-mcp
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.17
|
|
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=9rQLRqhsB1_h6jbGeL4y3ShIhH1i4bnb9sE1tKaDtN8,436
|
|
2
|
+
src/server.py,sha256=nKO88PU-8dmu1rzPmRFrTrd3xYxV6ab4ln-9Bb1g-L8,5941
|
|
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
|
|
@@ -13,12 +13,12 @@ src/services/gemini_client.py,sha256=VPuBPDHhAag_8xBqzMuVIEWVG0BINXOHkwKIALzcFAk
|
|
|
13
13
|
src/services/image_service.py,sha256=ovYsxDMwqsSiG1YbwBcTBrgmGTA7bdhDF6_jPs9XV_k,7095
|
|
14
14
|
src/services/imagen_client.py,sha256=mvwbmtYQHqpKKM36tp8JPZTjxav5eeeist37lRJsv4k,6122
|
|
15
15
|
src/services/prompt_enhancer.py,sha256=J_0s1EVmXdPAhjZPM4hL1vk9YiawqfH_ogF89VrFkW8,4776
|
|
16
|
-
src/tools/__init__.py,sha256=
|
|
16
|
+
src/tools/__init__.py,sha256=idmgH7aLtnwROyqOf2-KlTutb4mmJsN-xC2ClLB1Z-Q,419
|
|
17
17
|
src/tools/batch_generate.py,sha256=ESAUkHX5TOKPlHCzgY2jMLyAvSmInN2Jwm5-51EeWwg,5406
|
|
18
|
-
src/tools/generate_image.py,sha256=
|
|
18
|
+
src/tools/generate_image.py,sha256=vTwLY1v8lTZlwb9T7TKNcuYxgNpDDJKaB_NMrM_C0C0,10726
|
|
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.17.dist-info/METADATA,sha256=AD7ym2HwURwfP07yPdwBL9e_XGYtRHojADfuROwFjVY,16131
|
|
21
|
+
ultimate_gemini_mcp-1.0.17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
22
|
+
ultimate_gemini_mcp-1.0.17.dist-info/entry_points.txt,sha256=-BeRTT4oR05e-YnF1ZNbNxlaekD4LsWhD-Zy_1dyRnc,56
|
|
23
|
+
ultimate_gemini_mcp-1.0.17.dist-info/licenses/LICENSE,sha256=ilyzUnN0QHYtYGJks-NFUwiniNu08IedLmn_muRqa0o,1480
|
|
24
|
+
ultimate_gemini_mcp-1.0.17.dist-info/RECORD,,
|
|
File without changes
|
{ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{ultimate_gemini_mcp-1.0.15.dist-info → ultimate_gemini_mcp-1.0.17.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|