Easy-Peasy.AI

Generate text, images, videos, speech and transcripts with your Easy-Peasy.AI account.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
92%
Calidad de los nombres
98%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,621Tokens (definiciones de herramientas)
~2.1 KBTamaño de respuesta típico
Impacto significativo en la atención (2.83% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "mcp": {
      "url": "https://easy-peasy.ai/mcp"
    }
  }
}

Puntos de conexión remotos

https://easy-peasy.ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_account

Check connection status only when the user explicitly asks whether Easy-Peasy.AI is connected. Returns only a boolean. Do not call for general knowledge, account deletion, or requests for credentials or personal details; those requests are unsupported by this tool.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_templates(category, limit, offset)

List a page of Easy-Peasy.AI writing templates (presets), optionally filtered by category. Returns slug, title, description, and category, plus total, categories, and next_offset (null on the last page). Use get_template to inspect a known slug directly, then generate_text to run it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Optional category name to filter templates by."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20,
      "description": "Maximum results to return (default 20, maximum 50)."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Start position. Use next_offset from the previous result to read another page."
    }
  },
  "additionalProperties": false
}
🟢get_template(slug)

Get one text generation template by slug, including its input fields (name, label, type, options). Field names like "keywords" and "extra1".."extra14" map directly onto generate_text parameters.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Template slug from list_templates."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢generate_text(preset, keywords, tone, language, outputs, ...)

Generate text with an Easy-Peasy.AI template (preset). Synchronous — returns the generated text. Uses the account word quota and requires available API token allowance. Call get_template first to learn which fields a template accepts; pass template-specific fields via extra_fields (e.g. {"extra1": "..."}).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "preset": {
      "type": "string",
      "description": "Template slug, e.g. \"blog-post-intro\" (see list_templates)."
    },
    "keywords": {
      "type": "string",
      "description": "Main topic / input text for the template. Required by almost all templates."
    },
    "tone": {
      "type": "string",
      "description": "Optional tone of voice, e.g. \"Friendly\"."
    },
    "language": {
      "type": "string",
      "description": "Output language name in English, e.g. \"English\", \"Spanish\"."
    },
    "outputs": {
      "type": "number",
      "description": "How many variations to generate (default 1)."
    },
    "extra_fields": {
      "type": "object",
      "description": "Template-specific fields keyed by field name from get_template, e.g. {\"extra1\": \"value\"}.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "preset"
  ],
  "additionalProperties": false
}
🟡generate_image(prompt, model, dimensions, outputs, style, ...)

Generate or edit an image with Easy-Peasy.AI. Synchronous — returns image URL(s) when generation finishes (can take up to a few minutes). Uses image credits and requires a paid plan for API access. To edit existing images, pass their URLs in source_images; model then picks the edit model. display_media shows the returned image IDs in an embedded gallery.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "Description of the image to generate."
    },
    "model": {
      "type": "string",
      "description": "Image model name. For new images, e.g. \"Nano Banana 2\" (default), \"Nano Banana Pro\", \"FLUX.2 [max]\", \"OpenAI GPT Image 2.5 Flare Medium\", \"OpenAI GPT Image 2 Medium\", \"Seedream 5.0 Pro\". With source_images, model also picks the edit model, so it must be one of the edit models (a subset), e.g. \"Nano Banana 2\", \"Nano Banana Pro\", \"OpenAI GPT Image 2.5 Flare Medium\", \"OpenAI GPT Image 2.5 Sunburst Medium\", \"Seedream 5.0 Pro\", \"FLUX.2 [max]\" or \"Qwen Image\"; any other name is rejected with the list of edit models. Omit model when editing to use \"OpenAI GPT Image 2.5 Flare Medium\"."
    },
    "dimensions": {
      "type": "string",
      "description": "Aspect ratio such as \"1:1\", \"16:9\" or \"9:16\" (supported ratios vary by model), or a pixel size \"WIDTHxHEIGHT\" such as \"1792x1024\" (default \"1024x1024\"). Nano Banana 2, Nano Banana Pro and GPT Image models map a pixel size to the nearest aspect ratio they support; other models may not, so prefer an aspect ratio."
    },
    "outputs": {
      "type": "number",
      "description": "Number of images to generate (default 1)."
    },
    "style": {
      "type": "string",
      "description": "Optional style preset name."
    },
    "resolution": {
      "type": "string",
      "description": "For models that support it: \"1K\" or \"2K\"."
    },
    "source_images": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional image URLs to edit/transform (image-to-image). Up to 10."
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video"
            ]
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "processing",
              "completed",
              "failed"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "used_credits": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "type",
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "media"
  ],
  "additionalProperties": false
}
🟢get_image(image_id)

Get a previously generated image by its numeric id (returned by generate_image).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "image_id": {
      "type": "number",
      "description": "Numeric image id."
    }
  },
  "required": [
    "image_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video"
            ]
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "processing",
              "completed",
              "failed"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "used_credits": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "type",
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "media"
  ],
  "additionalProperties": false
}
🟢generate_video(prompt, model, duration, aspect_ratio, resolution, ...)

Start an AI video generation. Defaults to MiniMax H3 Max: 5 seconds, 768p, native audio, 4 credits per second at 768p. With an image and no model, uses MiniMax H3 Max Image. ASYNC — returns a video id. display_media shows the video and checks its progress in an embedded player; get_video also checks that same id. Uses video credits (billed per second of output).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "Description of the video to generate."
    },
    "model": {
      "type": "string",
      "description": "Optional video model. Omit for \"MiniMax H3 Max\" (or \"MiniMax H3 Max Image\" when image is supplied). Other examples: \"Veo 3.1\", \"Veo 3.1 Fast\", \"Seedance 2.5\", \"Seedance 2.0 Mini\". An explicit model is used as supplied; choose its Image variant for image-to-video."
    },
    "duration": {
      "type": "string",
      "description": "Clip length in seconds as a string. MiniMax H3 Max supports \"5\" through \"15\" (default \"5\"). Veo 3.1 supports only \"4\", \"6\", or \"8\" seconds. Must be supported by the selected model. If omitted, uses a supported model default."
    },
    "aspect_ratio": {
      "type": "string",
      "description": "Aspect ratio, e.g. \"16:9\" (default), \"9:16\", \"1:1\"."
    },
    "resolution": {
      "type": "string",
      "description": "Model-dependent output resolution. MiniMax H3 Max supports \"768p\" (default) or \"480p\". Other models may support \"720p\", \"1080p\", or \"2k\"."
    },
    "image": {
      "type": "string",
      "description": "Optional image URL used as the first frame. With no model, selects MiniMax H3 Max Image. For an explicit model, select the matching Image variant."
    },
    "generate_audio": {
      "type": "boolean",
      "description": "Whether to generate a soundtrack on models with an audio toggle. MiniMax H3 Max always generates audio and cannot accept false. For a silent video, select a model with an audio toggle, such as Veo 3.1 Fast."
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video"
            ]
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "processing",
              "completed",
              "failed"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "used_credits": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "type",
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "media"
  ],
  "additionalProperties": false
}
🟢get_video(video_id)

Check a video generation started with generate_video. Returns { video: { id, url, status } } — status is "processing" until the video is ready, then "completed" with the download url.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "video_id": {
      "type": "number",
      "description": "Video id returned by generate_video."
    }
  },
  "required": [
    "video_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video"
            ]
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "processing",
              "completed",
              "failed"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "used_credits": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "type",
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "media"
  ],
  "additionalProperties": false
}
🟢display_media(media_type, ids)

Show Easy-Peasy.AI images in an embedded gallery or videos in an embedded player. Use IDs returned by generate_image, get_image, generate_video, or get_video. Can display a processing video and check its progress. Reads existing results in the connected account; does not generate content or spend credits. Clients without embedded UI still receive the media links.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "media_type": {
      "type": "string",
      "enum": [
        "image",
        "video"
      ]
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 1,
      "maxItems": 8,
      "description": "Existing image or video IDs to display, in order (up to 8)."
    }
  },
  "required": [
    "media_type",
    "ids"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video"
            ]
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "processing",
              "completed",
              "failed"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "used_credits": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "type",
          "url",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "media"
  ],
  "additionalProperties": false
}
🟢list_voices(language, accent, limit, offset)

List a page of text-to-speech voices (id, name, language, accent), including the account’s custom/cloned voices. Filter by language and optionally accent. Returns total and next_offset (null on the last page). Choose a suitable returned id and pass it as voice_id to generate_speech; additional pages are optional.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "description": "Optional language filter, e.g. \"Dutch\"."
    },
    "accent": {
      "type": "string",
      "description": "Optional accent filter."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20,
      "description": "Maximum results to return (default 20, maximum 50)."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Start position. Use next_offset from the previous result to read another page."
    }
  },
  "additionalProperties": false
}
⚪generate_speech(text, voice_id, speed, output_format)

Convert text to speech (ElevenLabs-powered). Synchronous — returns the audio file URL. Billed against the account’s monthly text-to-speech character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to speak."
    },
    "voice_id": {
      "type": "string",
      "description": "Voice id from list_voices."
    },
    "speed": {
      "type": "number",
      "description": "Playback speed 0.7-1.2 (default 1.0)."
    },
    "output_format": {
      "type": "string",
      "description": "Audio format, e.g. \"mp3_44100_128\" (default) or \"wav\"."
    }
  },
  "required": [
    "text",
    "voice_id"
  ],
  "additionalProperties": false
}
🟢transcribe_audio(url, language, detect_speakers, name)

Transcribe audio or video from a public link: a media file, or a page with a video or audio in it — YouTube, X (Twitter) posts and broadcasts, Instagram, TikTok, Google Drive, SoundCloud, Loom and most other video sites (up to 6 hours). ASYNC — returns a uuid once the job has started (checking a page link can take up to a minute); then poll get_transcription until the transcript is ready, which takes a few minutes for a long video. A link without a video or audio, or a private or live one, is usually refused at once with the reason; a download that fails later shows as status "failed" in get_transcription. Requires a paid plan.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public link to an audio/video file, or to a page with a video or audio on it (a YouTube video, an X post, an Instagram reel, a TikTok, a Google Drive file…)."
    },
    "language": {
      "type": "string",
      "description": "Spoken language name in English, e.g. \"English\" (helps accuracy)."
    },
    "detect_speakers": {
      "type": "boolean",
      "description": "Label different speakers in the transcript (default true). When off, a YouTube video that has captions is transcribed from them at once."
    },
    "name": {
      "type": "string",
      "description": "Optional name for the transcription."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
🟢get_transcription(audio_id)

Get a transcription started with transcribe_audio using its exact returned uuid and the same connected account. The content field is empty until transcription finishes. If the job is not found or fails, report the error; do not start a replacement transcription unless the user explicitly requests a new job.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "audio_id": {
      "type": "string",
      "description": "Transcription uuid from transcribe_audio."
    }
  },
  "required": [
    "audio_id"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas