@eternalai-org/mcp-server 1.0.0 → 1.0.1

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 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
- # Set environment variables
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
- ### Direct CLI Usage
71
+ ### Claude Code
107
72
 
108
- ```bash
109
- ETERNAL_AI_API_KEY=sa_your_api_key_here SAVE_FILE_PATH=./output npx @eternalai-org/mcp-server
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": 0.8,
124
- "psycho_art": 0.5
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://open.eternalai.org).
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 { FastMCP } from "fastmcp";
2
- declare const server: FastMCP<Record<string, unknown> | undefined>;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,SAAS,CAAC;AA6VhD,QAAA,MAAM,MAAM,8CAMV,CAAC;AAmQH,eAAe,MAAM,CAAC"}
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;AA2UF,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 fastmcp_1 = require("fastmcp");
37
- const zod_1 = require("zod");
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,305 @@ 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 FastMCP server
267
- const server = new fastmcp_1.FastMCP({
268
- name: "Eternal AI MCP Server",
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
- instructions: "This server provides tools for image generation, image editing, and video generation using the Eternal AI API. " +
271
- "All tools support polling for results and will automatically wait for completion.",
310
+ }, {
311
+ capabilities: {
312
+ tools: {},
313
+ },
272
314
  });
273
- // Tool 1: Image Generation (Text-to-Image)
274
- server.addTool({
275
- name: "generate_image",
276
- description: "Generate an image from a text prompt using Eternal AI's image generation API. " +
277
- "This uses the legacy API endpoint and supports LoRA configurations for different art styles.",
278
- parameters: zod_1.z.object({
279
- prompt: zod_1.z
280
- .string()
281
- .describe("The text prompt describing the image to generate"),
282
- lora_config: zod_1.z
283
- .record(zod_1.z.string(), zod_1.z.number())
284
- .optional()
285
- .describe("Optional LoRA configuration object. Keys are LoRA names (e.g., 'Art_style_Impressionist', 'psycho_art'), values are weights (typically 0-1). " +
286
- "Available LoRAs include: Art_style_Impressionist, psycho_art, FLUX-daubrez-DB4RZ, Flux_1_MechanicalBloom, RM_Artistify_v1_0M"),
287
- }),
288
- execute: async (args) => {
289
- const apiKey = getApiKey();
290
- const requestUrl = `${CREATIVE_AI_BASE}/image`;
291
- const requestBody = {
292
- messages: [
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
- body: JSON.stringify(requestBody),
314
- });
315
- const createData = (await createResponse.json());
316
- const requestId = createData.request_id;
317
- if (!requestId) {
318
- throw new Error("No request_id returned from API");
319
- }
320
- // Poll for result
321
- const resultUrl = await pollImageResult(requestId);
322
- // Save file (always save, path from environment variable)
323
- let savedFilePath;
324
- try {
325
- savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
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
- await (0, fastmcp_1.imageContent)({ url: resultUrl }),
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
- // Tool 2: Image Editing
346
- server.addTool({
347
- name: "edit_image",
348
- description: "Edit an existing image based on a text prompt. " +
349
- "This tool can modify images by changing outfits, backgrounds, poses, and more while preserving the original composition.",
350
- parameters: zod_1.z.object({
351
- prompt: zod_1.z
352
- .string()
353
- .describe("Description of how to transform the image (e.g., 'Change the outfit to a sporty top. Keep the same person, pose, lighting, and background.')"),
354
- image: zod_1.z
355
- .string()
356
- .describe("Input image URL, base64-encoded image (data URI format), or local file path. " +
357
- "For local files, use @filename.jpg (relative to current directory) or absolute path. " +
358
- "Maximum size: 5 MB. Supported formats: .jpg, .jpeg, .png, .webp"),
359
- }),
360
- execute: async (args) => {
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
- body: JSON.stringify(requestBody),
377
- });
378
- const createData = (await createResponse.json());
379
- const requestId = createData.request_id;
380
- if (!requestId) {
381
- throw new Error("No request_id returned from API");
382
- }
383
- let resultUrl;
384
- // Check if result_url is already available
385
- if (createData.status === "success" && createData.result_url) {
386
- resultUrl = createData.result_url;
387
- }
388
- else {
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 pollGenerationResult(apiKey, requestId);
391
- }
392
- // Save file (always save, path from environment variable)
393
- let savedFilePath;
394
- try {
395
- savedFilePath = await downloadAndSaveFile(resultUrl, getSaveFilePath());
396
- }
397
- catch (error) {
398
- // Log error but don't fail the tool call
399
- console.error("Failed to save file:", error);
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
- const resultText = savedFilePath
402
- ? `Image edited successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
403
- : `Image edited successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
404
- return {
405
- content: [
406
- {
407
- type: "text",
408
- text: resultText,
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
- await (0, fastmcp_1.imageContent)({ url: resultUrl }),
411
- ],
412
- };
413
- },
414
- });
415
- // Tool 3: Video Generation
416
- server.addTool({
417
- name: "generate_video",
418
- description: "Animate an image into a video based on a text prompt. " +
419
- "This tool takes a static image and creates an animated video showing the described motion or transformation.",
420
- parameters: zod_1.z.object({
421
- prompt: zod_1.z
422
- .string()
423
- .describe("Description of the animation to create (e.g., 'The person in the image is forming a heart shape with their both hands')"),
424
- image: zod_1.z
425
- .string()
426
- .describe("Input image URL, base64-encoded image (data URI format), or local file path. " +
427
- "For local files, use @filename.jpg (relative to current directory) or absolute path. " +
428
- "Maximum size: 5 MB. Supported formats: .jpg, .jpeg, .png, .webp"),
429
- }),
430
- execute: async (args) => {
431
- const apiKey = getApiKey();
432
- // Process image input (convert local files to base64)
433
- const processedImage = processImageInput(args.image);
434
- const requestUrl = `${API_BASE}/base/generate`;
435
- const requestBody = {
436
- images: [processedImage],
437
- prompt: args.prompt,
438
- type: "video",
439
- };
440
- const createResponse = await fetchWithRetry(requestUrl, {
441
- method: "POST",
442
- headers: {
443
- "Content-Type": "application/json",
444
- "x-api-key": apiKey,
445
- },
446
- body: JSON.stringify(requestBody),
447
- });
448
- const createData = (await createResponse.json());
449
- const requestId = createData.request_id;
450
- if (!requestId) {
451
- throw new Error("No request_id returned from API");
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
- let resultUrl;
454
- // Check if result_url is already available
455
- if (createData.status === "success" && createData.result_url) {
456
- resultUrl = createData.result_url;
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
- // Poll for result
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
- const resultText = savedFilePath
472
- ? `Video generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}\nSaved to: ${savedFilePath}`
473
- : `Video generated successfully!\nRequest ID: ${requestId}\nResult URL: ${resultUrl}`;
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: resultText,
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
+ const transport = new stdio_js_1.StdioServerTransport();
598
+ await server.connect(transport);
599
+ console.error("Eternal AI MCP server running on stdio");
600
+ }
485
601
  if (require.main === module) {
486
- server.start({
487
- transportType: "stdio",
602
+ main().catch((error) => {
603
+ console.error("Fatal error in main():", error);
604
+ process.exit(1);
488
605
  });
489
606
  }
490
607
  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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAE5C,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAC9C,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAiDlE,kDAAkD;AAClD,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEvD,kFAAkF;IAClF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,oGAAoG,UAAU,CAAC,MAAM,EAAE,CACxH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,kEAAkE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,yDAAyD;AACzD,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,CAAC,wCAAwC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,iGAAiG;AACjG,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,kDAAkD;IAClD,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5G,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kEAAkE;IAClE,IAAI,QAAgB,CAAC;IAErB,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,oEAAoE;QACpE,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACpC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,6BAA6B;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC3F,CAAC;IAED,2CAA2C;IAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,qCAAqC;IACrC,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,UAAU;IACvC,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,QAAQ,GAAG,WAAW,CAAC;IACzB,CAAC;SAAM,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QACjE,QAAQ,GAAG,YAAY,CAAC;IAC1B,CAAC;SAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QACrC,QAAQ,GAAG,YAAY,CAAC;IAC1B,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,QAAQ,WAAW,UAAU,EAAE,CAAC;AACjD,CAAC;AAYD,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,UAAiC,EAAE,EACnC,aAAqB,CAAC;IAEtB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IACrF,MAAM,OAAO,GAAG,gBAAgB,IAAI,UAAU,CAAC;IAC/C,IAAI,SAAS,GAAiB,IAAI,CAAC;IAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAEhD,sEAAsE;YACtE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEhE,uCAAuC;YACvC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,4CAA4C;YAC5C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,GAAG,CAAC,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,EAAE,CAC3G,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,SAAS,GAAG,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,4CAA4C;YAC5C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,GAAG,CAAC,cAAc,SAAS,CAAC,OAAO,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,wDAAwD;IACxD,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACnE,CAAC;AAED,sDAAsD;AACtD,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,cAAsB,GAAG,EACzB,eAAuB,KAAK;IAE5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,GAAG,gBAAgB,4BAA4B,SAAS,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAwB,CAAC;QAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzD,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAChF,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,oBAAoB,CACjC,MAAc,EACd,SAAiB,EACjB,cAAsB,GAAG,EACzB,eAAuB,KAAK;IAE5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,GAAG,QAAQ,gBAAgB,SAAS,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;aACpB;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAuB,CAAC;QAEnE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzD,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,gEAAgE;QAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,UAAU;QACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnF,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,GAAG,KAAK,MAAM;gBAAE,QAAQ,GAAG,WAAW,CAAC;iBACtC,IAAI,GAAG,KAAK,OAAO;gBAAE,QAAQ,GAAG,YAAY,CAAC;QACpD,CAAC;QAED,OAAO,QAAQ,QAAQ,WAAW,UAAU,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,KAAK,UAAU,mBAAmB,CAChC,GAAW,EACX,QAAiB;IAEjB,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,oDAAoD;QACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,SAAS,GAAG,OAAO,CAAC;QACtB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,SAAS,GAAG,OAAO,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3C,SAAS,GAAG,YAAY,IAAI,MAAM,CAAC,CAAC,6BAA6B;QACnE,CAAC;QAED,sBAAsB;QACtB,IAAI,aAAqB,CAAC;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACvC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE1C,gDAAgD;YAChD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjE,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxC,2BAA2B;gBAC3B,aAAa,GAAG,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,yBAAyB;QACzB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAExC,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,mBAAmB;AACnB,MAAM,eAAe,GAAG;IACtB,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,gFAAgF;YAChF,8FAA8F;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;wBAC/I,8HAA8H;oBAChI,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,iDAAiD;YACjD,0HAA0H;QAC5H,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8IAA8I;iBACjJ;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+EAA+E;wBAC/E,uFAAuF;wBACvF,iEAAiE;iBACpE;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;IACD,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,wDAAwD;YACxD,8GAA8G;QAChH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yHAAyH;iBAC5H;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+EAA+E;wBAC/E,uFAAuF;wBACvF,iEAAiE;iBACpE;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;CACF,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;KACtC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiD,CAAC;YAE3E,MAAM,UAAU,GAAG,GAAG,gBAAgB,QAAQ,CAAC;YAC/C,MAAM,WAAW,GAAG;gBAClB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,MAAM;6BACb;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE,KAAK;gBACX,GAAG,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;aAC/C,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;gBACtD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,WAAW,EAAE,MAAM;oBACnB,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAA0B,CAAC;YAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;YAExC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,kBAAkB;YAClB,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;YAEnD,0DAA0D;YAC1D,IAAI,aAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,8CAA8C,SAAS,iBAAiB,SAAS,eAAe,aAAa,EAAE;gBACjH,CAAC,CAAC,8CAA8C,SAAS,iBAAiB,SAAS,EAAE,CAAC;YAExF,+CAA+C;YAC/C,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEzD,kDAAkD;YAClD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEpF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,EAAE,KAAe,CAAC;YAEzC,sDAAsD;YACtD,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,GAAG,QAAQ,gBAAgB,CAAC;YAC/C,MAAM,WAAW,GAAG;gBAClB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;aACd,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;gBACtD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM;iBACpB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAqB,CAAC;YACrE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;YAExC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,SAAiB,CAAC;YAEtB,2CAA2C;YAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC7D,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC5D,CAAC;YAED,0DAA0D;YAC1D,IAAI,aAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,2CAA2C,SAAS,iBAAiB,SAAS,eAAe,aAAa,EAAE;gBAC9G,CAAC,CAAC,2CAA2C,SAAS,iBAAiB,SAAS,EAAE,CAAC;YAErF,+CAA+C;YAC/C,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEzD,kDAAkD;YAClD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEpF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,EAAE,KAAe,CAAC;YAEzC,sDAAsD;YACtD,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,GAAG,QAAQ,gBAAgB,CAAC;YAC/C,MAAM,WAAW,GAAG;gBAClB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;aACd,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE;gBACtD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM;iBACpB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAqB,CAAC;YACrE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;YAExC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,SAAiB,CAAC;YAEtB,2CAA2C;YAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC7D,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC5D,CAAC;YAED,0DAA0D;YAC1D,IAAI,aAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,8CAA8C,SAAS,iBAAiB,SAAS,eAAe,aAAa,EAAE;gBACjH,CAAC,CAAC,8CAA8C,SAAS,iBAAiB,SAAS,EAAE,CAAC;YAExF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalai-org/mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
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
- "dev": "npx fastmcp dev src/index.ts"
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
- "fastmcp": "^3.30.1",
28
+ "@modelcontextprotocol/sdk": "^1.25.0",
29
29
  "zod": "^4.3.6"
30
30
  },
31
31
  "devDependencies": {