nuvex-mcp-server 1.0.14 → 1.0.15
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/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +19 -2
- package/dist/tools.js.map +1 -1
- package/package.json +7 -2
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFnC,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFnC,CAAC;AA6BF,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;GAiDjE;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAW9B,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BxE"}
|
package/dist/tools.js
CHANGED
|
@@ -3,7 +3,7 @@ import { extname } from 'path';
|
|
|
3
3
|
import { estimatedCost, getMe, startGeneration, getJobStatus } from './api.js';
|
|
4
4
|
export const generateScreenshotsTool = {
|
|
5
5
|
name: 'generate_screenshots',
|
|
6
|
-
description: 'Generate app store screenshot designs from a detailed creative plan. Call this when the user has described what they want and you have written a structured design plan.
|
|
6
|
+
description: 'Generate app store screenshot designs from a detailed creative plan. Call this when the user has described what they want and you have written a structured design plan. HOW TO HANDLE IMAGES: If the user pasted an image into the chat, encode it as a base64 data URI and pass it in the screenshots field. If the user has images saved on their computer, ask for the absolute file path and pass it in screenshot_paths. You must NEVER invent, guess, or hallucinate file paths. Before calling this tool, ask the user what quality they want (low, medium, or high).',
|
|
7
7
|
inputSchema: {
|
|
8
8
|
type: 'object',
|
|
9
9
|
properties: {
|
|
@@ -66,7 +66,7 @@ export const generateScreenshotsTool = {
|
|
|
66
66
|
screenshots: {
|
|
67
67
|
type: 'array',
|
|
68
68
|
items: { type: 'string' },
|
|
69
|
-
description: 'Base64 data URIs
|
|
69
|
+
description: 'Base64 data URIs for images the user pasted into the chat. Use this when the user provides an image directly in the conversation.',
|
|
70
70
|
},
|
|
71
71
|
references: {
|
|
72
72
|
type: 'array',
|
|
@@ -98,10 +98,27 @@ function pathsToDataUris(paths) {
|
|
|
98
98
|
const uris = paths.map(fileToDataUri).filter(Boolean);
|
|
99
99
|
return uris.length > 0 ? uris : undefined;
|
|
100
100
|
}
|
|
101
|
+
function validateBase64Size(dataUri) {
|
|
102
|
+
const match = dataUri.match(/^data:[^;]+;base64,(.+)$/);
|
|
103
|
+
if (!match)
|
|
104
|
+
return 'Invalid image format';
|
|
105
|
+
const approxBytes = (match[1].length * 3) / 4;
|
|
106
|
+
if (approxBytes > 5 * 1024 * 1024) {
|
|
107
|
+
return `Image too large (${Math.round(approxBytes / 1024 / 1024)}MB). Save it to a file and use screenshot_paths instead.`;
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
101
111
|
export async function handleGenerateScreenshots(args) {
|
|
102
112
|
// Read files from paths locally so Claude never has to send base64
|
|
103
113
|
const screenshots = args.screenshots || pathsToDataUris(args.screenshot_paths);
|
|
104
114
|
const references = args.references || pathsToDataUris(args.reference_paths);
|
|
115
|
+
if (screenshots) {
|
|
116
|
+
for (const s of screenshots) {
|
|
117
|
+
const err = validateBase64Size(s);
|
|
118
|
+
if (err)
|
|
119
|
+
return { error: err };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
105
122
|
const payload = {
|
|
106
123
|
...args,
|
|
107
124
|
screenshots,
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuvex-mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"description": "MCP server for Nuvex — generate app store screenshots from Claude Desktop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,12 @@
|
|
|
21
21
|
"dev": "tsc --watch",
|
|
22
22
|
"setup": "node setup.js"
|
|
23
23
|
},
|
|
24
|
-
"keywords": [
|
|
24
|
+
"keywords": [
|
|
25
|
+
"mcp",
|
|
26
|
+
"nuvex",
|
|
27
|
+
"screenshots",
|
|
28
|
+
"claude"
|
|
29
|
+
],
|
|
25
30
|
"license": "MIT",
|
|
26
31
|
"dependencies": {
|
|
27
32
|
"@modelcontextprotocol/sdk": "^1.0.4"
|