@eternalai-org/mcp-server 1.0.0 → 1.0.2
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/README.md +43 -47
- package/dist/index.d.ts +35 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +327 -200
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -10,48 +10,15 @@ A Model Context Protocol (MCP) server for Eternal AI that provides tools for ima
|
|
|
10
10
|
- 💾 **Auto-save**: Automatically saves generated files to disk
|
|
11
11
|
- 📁 **Local File Support**: Use local image files directly with `@filename.jpg` syntax
|
|
12
12
|
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
### Using npx (Recommended)
|
|
16
|
-
|
|
17
|
-
You can run the MCP server directly without installation:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
ETERNAL_AI_API_KEY=your_api_key_here npx @eternalai-org/mcp-server
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Global Installation
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
npm install -g @eternalai-org/mcp-server
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Then run:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
ETERNAL_AI_API_KEY=your_api_key_here eternal-ai-mcp
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Local Installation
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm install @eternalai-org/mcp-server
|
|
39
|
-
```
|
|
40
|
-
|
|
41
13
|
## Environment Variables
|
|
42
14
|
|
|
43
|
-
- **ETERNAL_AI_API_KEY** (required): Your Eternal AI API key. Must start with `sa_` and be at least 20 characters.
|
|
15
|
+
- **ETERNAL_AI_API_KEY** (required): Your Eternal AI API key. Must start with `sa_` and be at least 20 characters. Get your API key at [https://eternalai.org/api/keys](https://eternalai.org/api/keys).
|
|
44
16
|
- **SAVE_FILE_PATH** (optional): Directory or file path where generated files should be saved. If not set, files are saved to the current working directory.
|
|
45
17
|
|
|
46
18
|
### Example
|
|
47
19
|
|
|
48
20
|
```bash
|
|
49
|
-
|
|
50
|
-
export ETERNAL_AI_API_KEY="sa_your_api_key_here"
|
|
51
|
-
export SAVE_FILE_PATH="/path/to/save/files" # Optional
|
|
52
|
-
|
|
53
|
-
# Run the server
|
|
54
|
-
npx @eternalai-org/mcp-server
|
|
21
|
+
ETERNAL_AI_API_KEY=sa_your_api_key_here npx @modelcontextprotocol/inspector npx @eternalai-org/mcp-server
|
|
55
22
|
```
|
|
56
23
|
|
|
57
24
|
## Usage with MCP Clients
|
|
@@ -73,8 +40,7 @@ Add the following to your Claude Desktop configuration file:
|
|
|
73
40
|
"@eternalai-org/mcp-server"
|
|
74
41
|
],
|
|
75
42
|
"env": {
|
|
76
|
-
"ETERNAL_AI_API_KEY": "sa_your_api_key_here"
|
|
77
|
-
"SAVE_FILE_PATH": "/path/to/save/files"
|
|
43
|
+
"ETERNAL_AI_API_KEY": "sa_your_api_key_here"
|
|
78
44
|
}
|
|
79
45
|
}
|
|
80
46
|
}
|
|
@@ -95,20 +61,40 @@ Add to your Cursor MCP settings (Settings → Features → MCP):
|
|
|
95
61
|
"@eternalai-org/mcp-server"
|
|
96
62
|
],
|
|
97
63
|
"env": {
|
|
98
|
-
"ETERNAL_AI_API_KEY": "sa_your_api_key_here"
|
|
99
|
-
"SAVE_FILE_PATH": "/path/to/save/files"
|
|
64
|
+
"ETERNAL_AI_API_KEY": "sa_your_api_key_here"
|
|
100
65
|
}
|
|
101
66
|
}
|
|
102
67
|
}
|
|
103
68
|
}
|
|
104
69
|
```
|
|
105
70
|
|
|
106
|
-
###
|
|
71
|
+
### Claude Code
|
|
107
72
|
|
|
108
|
-
|
|
109
|
-
|
|
73
|
+
Add to your Claude Code MCP settings:
|
|
74
|
+
|
|
75
|
+
1. Open Claude Code settings
|
|
76
|
+
2. Navigate to MCP configuration
|
|
77
|
+
3. Add the following configuration:
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"mcpServers": {
|
|
82
|
+
"eternal-ai": {
|
|
83
|
+
"command": "npx",
|
|
84
|
+
"args": [
|
|
85
|
+
"-y",
|
|
86
|
+
"@eternalai-org/mcp-server"
|
|
87
|
+
],
|
|
88
|
+
"env": {
|
|
89
|
+
"ETERNAL_AI_API_KEY": "sa_your_api_key_here"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
110
94
|
```
|
|
111
95
|
|
|
96
|
+
Restart Claude Code after adding the configuration.
|
|
97
|
+
|
|
112
98
|
## Available Tools
|
|
113
99
|
|
|
114
100
|
### 1. generate_image
|
|
@@ -117,13 +103,23 @@ Generate an image from a text prompt.
|
|
|
117
103
|
|
|
118
104
|
**Parameters:**
|
|
119
105
|
- `prompt` (string, required): Text description of the image to generate
|
|
120
|
-
- `lora_config` (object, optional): LoRA configuration for art styles. Example:
|
|
106
|
+
- `lora_config` (object, optional): LoRA configuration for art styles. See [available LoRA configurations](https://docs.eternalai.org/api/creative-ai-api/legacy-api/image-generation#available-lora-configurations) for all options. Example:
|
|
121
107
|
```json
|
|
122
108
|
{
|
|
123
|
-
"Art_style_Impressionist":
|
|
124
|
-
"psycho_art": 0.
|
|
109
|
+
"Art_style_Impressionist": 1,
|
|
110
|
+
"psycho_art": 0.8,
|
|
111
|
+
"FLUX-daubrez-DB4RZ": 1,
|
|
112
|
+
"Flux_1_MechanicalBloom": 0.5,
|
|
113
|
+
"RM_Artistify_v1_0M": 0.7
|
|
125
114
|
}
|
|
126
115
|
```
|
|
116
|
+
|
|
117
|
+
Available LoRA names:
|
|
118
|
+
- `Art_style_Impressionist` - Impressionist art style
|
|
119
|
+
- `psycho_art` - Anime art style with surreal elements
|
|
120
|
+
- `FLUX-daubrez-DB4RZ` - Daubrez Painterly Style
|
|
121
|
+
- `Flux_1_MechanicalBloom` - Surreal Anime-style Portrait
|
|
122
|
+
- `RM_Artistify_v1_0M` - RandomMaxx Artistify
|
|
127
123
|
|
|
128
124
|
**Example:**
|
|
129
125
|
```
|
|
@@ -177,7 +173,7 @@ File names are automatically generated with timestamps: `result-2026-01-27T08-01
|
|
|
177
173
|
## Requirements
|
|
178
174
|
|
|
179
175
|
- Node.js 18.0.0 or higher
|
|
180
|
-
- Eternal AI API key
|
|
176
|
+
- Eternal AI API key - Get your API key at [https://eternalai.org/api/keys](https://eternalai.org/api/keys)
|
|
181
177
|
|
|
182
178
|
## License
|
|
183
179
|
|
|
@@ -185,4 +181,4 @@ MIT
|
|
|
185
181
|
|
|
186
182
|
## Support
|
|
187
183
|
|
|
188
|
-
For issues and questions, please visit the [Eternal AI documentation](https://
|
|
184
|
+
For issues and questions, please visit the [Eternal AI documentation](https://docs.eternalai.org/api).
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const server:
|
|
1
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
+
declare const server: Server<{
|
|
3
|
+
method: string;
|
|
4
|
+
params?: {
|
|
5
|
+
[x: string]: unknown;
|
|
6
|
+
_meta?: {
|
|
7
|
+
[x: string]: unknown;
|
|
8
|
+
progressToken?: string | number | undefined;
|
|
9
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
10
|
+
taskId: string;
|
|
11
|
+
} | undefined;
|
|
12
|
+
} | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
method: string;
|
|
16
|
+
params?: {
|
|
17
|
+
[x: string]: unknown;
|
|
18
|
+
_meta?: {
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
progressToken?: string | number | undefined;
|
|
21
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
22
|
+
taskId: string;
|
|
23
|
+
} | undefined;
|
|
24
|
+
} | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
}, {
|
|
27
|
+
[x: string]: unknown;
|
|
28
|
+
_meta?: {
|
|
29
|
+
[x: string]: unknown;
|
|
30
|
+
progressToken?: string | number | undefined;
|
|
31
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
32
|
+
taskId: string;
|
|
33
|
+
} | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
}>;
|
|
3
36
|
export default server;
|
|
4
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAwYnE,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUX,CAAC;AAoVF,eAAe,MAAM,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -33,8 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const
|
|
37
|
-
const
|
|
36
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
37
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
38
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const path = __importStar(require("path"));
|
|
40
41
|
const API_BASE = "https://open.eternalai.org";
|
|
@@ -193,6 +194,45 @@ async function pollGenerationResult(apiKey, requestId, maxAttempts = 100, pollIn
|
|
|
193
194
|
}
|
|
194
195
|
throw new Error("Generation timeout: Maximum polling attempts reached");
|
|
195
196
|
}
|
|
197
|
+
// Helper function to convert image URL to base64 data URI
|
|
198
|
+
async function urlToBase64DataUri(url) {
|
|
199
|
+
try {
|
|
200
|
+
const response = await fetchWithRetry(url, {
|
|
201
|
+
method: "GET",
|
|
202
|
+
});
|
|
203
|
+
if (!response.ok) {
|
|
204
|
+
throw new Error(`Failed to fetch image: ${response.status} ${response.statusText}`);
|
|
205
|
+
}
|
|
206
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
207
|
+
const buffer = Buffer.from(arrayBuffer);
|
|
208
|
+
const base64Data = buffer.toString("base64");
|
|
209
|
+
// Determine MIME type from Content-Type header or URL extension
|
|
210
|
+
const contentType = response.headers.get("content-type") || "";
|
|
211
|
+
let mimeType = "image/jpeg"; // default
|
|
212
|
+
if (contentType.includes("image/png")) {
|
|
213
|
+
mimeType = "image/png";
|
|
214
|
+
}
|
|
215
|
+
else if (contentType.includes("image/jpeg") || contentType.includes("image/jpg")) {
|
|
216
|
+
mimeType = "image/jpeg";
|
|
217
|
+
}
|
|
218
|
+
else if (contentType.includes("image/webp")) {
|
|
219
|
+
mimeType = "image/webp";
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// Try to get from URL
|
|
223
|
+
const urlPath = new URL(url).pathname;
|
|
224
|
+
const ext = path.extname(urlPath).toLowerCase();
|
|
225
|
+
if (ext === ".png")
|
|
226
|
+
mimeType = "image/png";
|
|
227
|
+
else if (ext === ".webp")
|
|
228
|
+
mimeType = "image/webp";
|
|
229
|
+
}
|
|
230
|
+
return `data:${mimeType};base64,${base64Data}`;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
throw new Error(`Failed to convert URL to base64: ${error instanceof Error ? error.message : String(error)}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
196
236
|
// Helper function to download and save file from URL
|
|
197
237
|
async function downloadAndSaveFile(url, savePath) {
|
|
198
238
|
try {
|
|
@@ -263,228 +303,315 @@ async function downloadAndSaveFile(url, savePath) {
|
|
|
263
303
|
throw new Error(`Failed to save file: ${error instanceof Error ? error.message : String(error)}`);
|
|
264
304
|
}
|
|
265
305
|
}
|
|
266
|
-
// Create
|
|
267
|
-
const server = new
|
|
268
|
-
name: "
|
|
306
|
+
// Create MCP Server
|
|
307
|
+
const server = new index_js_1.Server({
|
|
308
|
+
name: "eternal-ai-mcp-server",
|
|
269
309
|
version: "1.0.0",
|
|
270
|
-
|
|
271
|
-
|
|
310
|
+
}, {
|
|
311
|
+
capabilities: {
|
|
312
|
+
tools: {},
|
|
313
|
+
},
|
|
272
314
|
});
|
|
273
|
-
// Tool
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
"
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
{
|
|
294
|
-
role: "user",
|
|
295
|
-
content: [
|
|
296
|
-
{
|
|
297
|
-
type: "text",
|
|
298
|
-
text: args.prompt,
|
|
299
|
-
},
|
|
300
|
-
],
|
|
315
|
+
// Tool definitions
|
|
316
|
+
const toolDefinitions = {
|
|
317
|
+
generate_image: {
|
|
318
|
+
name: "generate_image",
|
|
319
|
+
description: "Generate an image from a text prompt using Eternal AI's image generation API. " +
|
|
320
|
+
"This uses the legacy API endpoint and supports LoRA configurations for different art styles.",
|
|
321
|
+
inputSchema: {
|
|
322
|
+
type: "object",
|
|
323
|
+
properties: {
|
|
324
|
+
prompt: {
|
|
325
|
+
type: "string",
|
|
326
|
+
description: "The text prompt describing the image to generate",
|
|
327
|
+
},
|
|
328
|
+
lora_config: {
|
|
329
|
+
type: "object",
|
|
330
|
+
description: "Optional LoRA configuration object. Keys are LoRA names (e.g., 'Art_style_Impressionist', 'psycho_art'), values are weights (typically 0-1). " +
|
|
331
|
+
"Available LoRAs include: Art_style_Impressionist, psycho_art, FLUX-daubrez-DB4RZ, Flux_1_MechanicalBloom, RM_Artistify_v1_0M",
|
|
332
|
+
additionalProperties: {
|
|
333
|
+
type: "number",
|
|
334
|
+
},
|
|
301
335
|
},
|
|
302
|
-
],
|
|
303
|
-
type: "new",
|
|
304
|
-
...(args.lora_config && { lora_config: args.lora_config }),
|
|
305
|
-
};
|
|
306
|
-
const createResponse = await fetchWithRetry(requestUrl, {
|
|
307
|
-
method: "POST",
|
|
308
|
-
headers: {
|
|
309
|
-
accept: "application/json",
|
|
310
|
-
"x-api-key": apiKey,
|
|
311
|
-
"Content-Type": "application/json",
|
|
312
336
|
},
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
}
|
|
327
|
-
catch (error) {
|
|
328
|
-
// Log error but don't fail the tool call
|
|
329
|
-
console.error("Failed to save file:", error);
|
|
330
|
-
}
|
|
331
|
-
const resultText = savedFilePath
|
|
332
|
-
? `Image generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
|
|
333
|
-
: `Image generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
|
|
334
|
-
return {
|
|
335
|
-
content: [
|
|
336
|
-
{
|
|
337
|
-
type: "text",
|
|
338
|
-
text: resultText,
|
|
337
|
+
required: ["prompt"],
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
edit_image: {
|
|
341
|
+
name: "edit_image",
|
|
342
|
+
description: "Edit an existing image based on a text prompt. " +
|
|
343
|
+
"This tool can modify images by changing outfits, backgrounds, poses, and more while preserving the original composition.",
|
|
344
|
+
inputSchema: {
|
|
345
|
+
type: "object",
|
|
346
|
+
properties: {
|
|
347
|
+
prompt: {
|
|
348
|
+
type: "string",
|
|
349
|
+
description: "Description of how to transform the image (e.g., 'Change the outfit to a sporty top. Keep the same person, pose, lighting, and background.')",
|
|
339
350
|
},
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
351
|
+
image: {
|
|
352
|
+
type: "string",
|
|
353
|
+
description: "Input image URL, base64-encoded image (data URI format), or local file path. " +
|
|
354
|
+
"For local files, use @filename.jpg (relative to current directory) or absolute path. " +
|
|
355
|
+
"Maximum size: 5 MB. Supported formats: .jpg, .jpeg, .png, .webp",
|
|
356
|
+
},
|
|
357
|
+
},
|
|
358
|
+
required: ["prompt", "image"],
|
|
359
|
+
},
|
|
343
360
|
},
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
const apiKey = getApiKey();
|
|
362
|
-
// Process image input (convert local files to base64)
|
|
363
|
-
const processedImage = processImageInput(args.image);
|
|
364
|
-
const requestUrl = `${API_BASE}/base/generate`;
|
|
365
|
-
const requestBody = {
|
|
366
|
-
images: [processedImage],
|
|
367
|
-
prompt: args.prompt,
|
|
368
|
-
type: "image",
|
|
369
|
-
};
|
|
370
|
-
const createResponse = await fetchWithRetry(requestUrl, {
|
|
371
|
-
method: "POST",
|
|
372
|
-
headers: {
|
|
373
|
-
"Content-Type": "application/json",
|
|
374
|
-
"x-api-key": apiKey,
|
|
361
|
+
generate_video: {
|
|
362
|
+
name: "generate_video",
|
|
363
|
+
description: "Animate an image into a video based on a text prompt. " +
|
|
364
|
+
"This tool takes a static image and creates an animated video showing the described motion or transformation.",
|
|
365
|
+
inputSchema: {
|
|
366
|
+
type: "object",
|
|
367
|
+
properties: {
|
|
368
|
+
prompt: {
|
|
369
|
+
type: "string",
|
|
370
|
+
description: "Description of the animation to create (e.g., 'The person in the image is forming a heart shape with their both hands')",
|
|
371
|
+
},
|
|
372
|
+
image: {
|
|
373
|
+
type: "string",
|
|
374
|
+
description: "Input image URL, base64-encoded image (data URI format), or local file path. " +
|
|
375
|
+
"For local files, use @filename.jpg (relative to current directory) or absolute path. " +
|
|
376
|
+
"Maximum size: 5 MB. Supported formats: .jpg, .jpeg, .png, .webp",
|
|
377
|
+
},
|
|
375
378
|
},
|
|
376
|
-
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
379
|
+
required: ["prompt", "image"],
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
// Register list tools handler
|
|
384
|
+
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
385
|
+
return {
|
|
386
|
+
tools: Object.values(toolDefinitions),
|
|
387
|
+
};
|
|
388
|
+
});
|
|
389
|
+
// Register call tool handler
|
|
390
|
+
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
391
|
+
const { name, arguments: args } = request.params;
|
|
392
|
+
try {
|
|
393
|
+
if (name === "generate_image") {
|
|
394
|
+
const apiKey = getApiKey();
|
|
395
|
+
const prompt = args?.prompt;
|
|
396
|
+
const loraConfig = args?.lora_config;
|
|
397
|
+
const requestUrl = `${CREATIVE_AI_BASE}/image`;
|
|
398
|
+
const requestBody = {
|
|
399
|
+
messages: [
|
|
400
|
+
{
|
|
401
|
+
role: "user",
|
|
402
|
+
content: [
|
|
403
|
+
{
|
|
404
|
+
type: "text",
|
|
405
|
+
text: prompt,
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
},
|
|
409
|
+
],
|
|
410
|
+
type: "new",
|
|
411
|
+
...(loraConfig && { lora_config: loraConfig }),
|
|
412
|
+
};
|
|
413
|
+
const createResponse = await fetchWithRetry(requestUrl, {
|
|
414
|
+
method: "POST",
|
|
415
|
+
headers: {
|
|
416
|
+
accept: "application/json",
|
|
417
|
+
"x-api-key": apiKey,
|
|
418
|
+
"Content-Type": "application/json",
|
|
419
|
+
},
|
|
420
|
+
body: JSON.stringify(requestBody),
|
|
421
|
+
});
|
|
422
|
+
const createData = (await createResponse.json());
|
|
423
|
+
const requestId = createData.request_id;
|
|
424
|
+
if (!requestId) {
|
|
425
|
+
throw new Error("No request_id returned from API");
|
|
426
|
+
}
|
|
389
427
|
// Poll for result
|
|
390
|
-
resultUrl = await
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
428
|
+
const resultUrl = await pollImageResult(requestId);
|
|
429
|
+
// Save file (always save, path from environment variable)
|
|
430
|
+
let savedFilePath;
|
|
431
|
+
try {
|
|
432
|
+
savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
// Log error but don't fail the tool call
|
|
436
|
+
console.error("Failed to save file:", error);
|
|
437
|
+
}
|
|
438
|
+
const resultText = savedFilePath
|
|
439
|
+
? `Image generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
|
|
440
|
+
: `Image generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
|
|
441
|
+
// Convert image URL to base64 data URI for MCP
|
|
442
|
+
const imageDataUri = await urlToBase64DataUri(resultUrl);
|
|
443
|
+
// Extract base64 data and mime type from data URI
|
|
444
|
+
const [mimeType, base64Data] = imageDataUri.replace(/^data:/, "").split(";base64,");
|
|
445
|
+
return {
|
|
446
|
+
content: [
|
|
447
|
+
{
|
|
448
|
+
type: "text",
|
|
449
|
+
text: resultText,
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
type: "image",
|
|
453
|
+
data: base64Data,
|
|
454
|
+
mimeType: mimeType,
|
|
455
|
+
},
|
|
456
|
+
],
|
|
457
|
+
};
|
|
400
458
|
}
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
459
|
+
else if (name === "edit_image") {
|
|
460
|
+
const apiKey = getApiKey();
|
|
461
|
+
const prompt = args?.prompt;
|
|
462
|
+
const imageInput = args?.image;
|
|
463
|
+
// Process image input (convert local files to base64)
|
|
464
|
+
const processedImage = processImageInput(imageInput);
|
|
465
|
+
const requestUrl = `${API_BASE}/base/generate`;
|
|
466
|
+
const requestBody = {
|
|
467
|
+
images: [processedImage],
|
|
468
|
+
prompt: prompt,
|
|
469
|
+
type: "image",
|
|
470
|
+
};
|
|
471
|
+
const createResponse = await fetchWithRetry(requestUrl, {
|
|
472
|
+
method: "POST",
|
|
473
|
+
headers: {
|
|
474
|
+
"Content-Type": "application/json",
|
|
475
|
+
"x-api-key": apiKey,
|
|
409
476
|
},
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
477
|
+
body: JSON.stringify(requestBody),
|
|
478
|
+
});
|
|
479
|
+
const createData = (await createResponse.json());
|
|
480
|
+
const requestId = createData.request_id;
|
|
481
|
+
if (!requestId) {
|
|
482
|
+
throw new Error("No request_id returned from API");
|
|
483
|
+
}
|
|
484
|
+
let resultUrl;
|
|
485
|
+
// Check if result_url is already available
|
|
486
|
+
if (createData.status === "success" && createData.result_url) {
|
|
487
|
+
resultUrl = createData.result_url;
|
|
488
|
+
}
|
|
489
|
+
else {
|
|
490
|
+
// Poll for result
|
|
491
|
+
resultUrl = await pollGenerationResult(apiKey, requestId);
|
|
492
|
+
}
|
|
493
|
+
// Save file (always save, path from environment variable)
|
|
494
|
+
let savedFilePath;
|
|
495
|
+
try {
|
|
496
|
+
savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
|
|
497
|
+
}
|
|
498
|
+
catch (error) {
|
|
499
|
+
// Log error but don't fail the tool call
|
|
500
|
+
console.error("Failed to save file:", error);
|
|
501
|
+
}
|
|
502
|
+
const resultText = savedFilePath
|
|
503
|
+
? `Image edited successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
|
|
504
|
+
: `Image edited successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
|
|
505
|
+
// Convert image URL to base64 data URI for MCP
|
|
506
|
+
const imageDataUri = await urlToBase64DataUri(resultUrl);
|
|
507
|
+
// Extract base64 data and mime type from data URI
|
|
508
|
+
const [mimeType, base64Data] = imageDataUri.replace(/^data:/, "").split(";base64,");
|
|
509
|
+
return {
|
|
510
|
+
content: [
|
|
511
|
+
{
|
|
512
|
+
type: "text",
|
|
513
|
+
text: resultText,
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
type: "image",
|
|
517
|
+
data: base64Data,
|
|
518
|
+
mimeType: mimeType,
|
|
519
|
+
},
|
|
520
|
+
],
|
|
521
|
+
};
|
|
452
522
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
523
|
+
else if (name === "generate_video") {
|
|
524
|
+
const apiKey = getApiKey();
|
|
525
|
+
const prompt = args?.prompt;
|
|
526
|
+
const imageInput = args?.image;
|
|
527
|
+
// Process image input (convert local files to base64)
|
|
528
|
+
const processedImage = processImageInput(imageInput);
|
|
529
|
+
const requestUrl = `${API_BASE}/base/generate`;
|
|
530
|
+
const requestBody = {
|
|
531
|
+
images: [processedImage],
|
|
532
|
+
prompt: prompt,
|
|
533
|
+
type: "video",
|
|
534
|
+
};
|
|
535
|
+
const createResponse = await fetchWithRetry(requestUrl, {
|
|
536
|
+
method: "POST",
|
|
537
|
+
headers: {
|
|
538
|
+
"Content-Type": "application/json",
|
|
539
|
+
"x-api-key": apiKey,
|
|
540
|
+
},
|
|
541
|
+
body: JSON.stringify(requestBody),
|
|
542
|
+
});
|
|
543
|
+
const createData = (await createResponse.json());
|
|
544
|
+
const requestId = createData.request_id;
|
|
545
|
+
if (!requestId) {
|
|
546
|
+
throw new Error("No request_id returned from API");
|
|
547
|
+
}
|
|
548
|
+
let resultUrl;
|
|
549
|
+
// Check if result_url is already available
|
|
550
|
+
if (createData.status === "success" && createData.result_url) {
|
|
551
|
+
resultUrl = createData.result_url;
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
// Poll for result
|
|
555
|
+
resultUrl = await pollGenerationResult(apiKey, requestId);
|
|
556
|
+
}
|
|
557
|
+
// Save file (always save, path from environment variable)
|
|
558
|
+
let savedFilePath;
|
|
559
|
+
try {
|
|
560
|
+
savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
|
|
561
|
+
}
|
|
562
|
+
catch (error) {
|
|
563
|
+
// Log error but don't fail the tool call
|
|
564
|
+
console.error("Failed to save file:", error);
|
|
565
|
+
}
|
|
566
|
+
const resultText = savedFilePath
|
|
567
|
+
? `Video generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
|
|
568
|
+
: `Video generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
|
|
569
|
+
return {
|
|
570
|
+
content: [
|
|
571
|
+
{
|
|
572
|
+
type: "text",
|
|
573
|
+
text: resultText,
|
|
574
|
+
},
|
|
575
|
+
],
|
|
576
|
+
};
|
|
457
577
|
}
|
|
458
578
|
else {
|
|
459
|
-
|
|
460
|
-
resultUrl = await pollGenerationResult(apiKey, requestId);
|
|
461
|
-
}
|
|
462
|
-
// Save file (always save, path from environment variable)
|
|
463
|
-
let savedFilePath;
|
|
464
|
-
try {
|
|
465
|
-
savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
|
|
466
|
-
}
|
|
467
|
-
catch (error) {
|
|
468
|
-
// Log error but don't fail the tool call
|
|
469
|
-
console.error("Failed to save file:", error);
|
|
579
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
470
580
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
581
|
+
}
|
|
582
|
+
catch (error) {
|
|
583
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
474
584
|
return {
|
|
475
585
|
content: [
|
|
476
586
|
{
|
|
477
587
|
type: "text",
|
|
478
|
-
text:
|
|
588
|
+
text: `Error: ${errorMessage}`,
|
|
479
589
|
},
|
|
480
590
|
],
|
|
591
|
+
isError: true,
|
|
481
592
|
};
|
|
482
|
-
}
|
|
593
|
+
}
|
|
483
594
|
});
|
|
484
595
|
// Start the server
|
|
596
|
+
async function main() {
|
|
597
|
+
try {
|
|
598
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
599
|
+
await server.connect(transport);
|
|
600
|
+
// Keep the process alive
|
|
601
|
+
process.on("SIGINT", async () => {
|
|
602
|
+
await server.close();
|
|
603
|
+
process.exit(0);
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
catch (error) {
|
|
607
|
+
console.error("Failed to start server:", error);
|
|
608
|
+
process.exit(1);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
485
611
|
if (require.main === module) {
|
|
486
|
-
|
|
487
|
-
|
|
612
|
+
main().catch((error) => {
|
|
613
|
+
console.error("Fatal error in main():", error);
|
|
614
|
+
process.exit(1);
|
|
488
615
|
});
|
|
489
616
|
}
|
|
490
617
|
exports.default = server;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eternalai-org/mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "MCP server for Eternal AI image generation, editing, and video generation",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"prepublishOnly": "npm run build",
|
|
12
|
-
"
|
|
12
|
+
"start": "node dist/index.js"
|
|
13
13
|
},
|
|
14
14
|
"keywords": [
|
|
15
15
|
"mcp",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"
|
|
28
|
+
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
29
29
|
"zod": "^4.3.6"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|