← MCP Security Catalog

Flyworks MCP 0.2.5

pypi · flyworks-mcp · latest release

Scan failed
Security result
3
Observed tools
48
Version rating
Change risk

Independent inventory

Observed 2026-09-04T09:17:34.707Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
create_lipsync_video_by_audio Create lipsync video by audio input. The tool will animate a digital human avatar to speak in sync with the provided audio. Parameters: - avatar: Digital human avatar ID. Either this or avatar creation parameters must be provided. - avatar_video_url: URL of a video to create the avatar from. - avatar_image_url: URL of an image to create the avatar from. - avatar_video_file: Local path to a video file to create the avatar from. - avatar_image_file: Local path to an image file to create the avatar from. - audio_url: Remote URL of the audio file. One of audio_url or audio_file must be provided. - audio_file: Local path to the audio file. One of audio_url or audio_file must be provided. - title: Optional title for the created video. - async_mode: If true, returns task_id immediately. If false, waits for completion and downloads the video. Default is false. - output_path: Where to save the downloaded video if async_mode is false. Default is "output.mp4". Avatar creation: Provide exactly ONE of avatar_video_url, avatar_image_url, avatar_video_file, or avatar_image_file to create a new avatar. If avatar ID is directly provided, these parameters will be ignored. Audio file should be mp3, m4a, or wav format, within 20MB, and between 1 second and 3 minutes. Returns: - If async_mode is true: task_id for checking status later - If async_mode is false: downloaded video path and task result - If download fails: error message, task_id, task_result, and video_url for manual download
Input schema
{
  "properties": {
    "avatar": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Digital human avatar ID"
    },
    "avatar_video_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "URL of a video to create the avatar from"
    },
    "avatar_image_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "URL of an image to create the avatar from"
    },
    "avatar_video_file": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local path to a video file to create the avatar from"
    },
    "avatar_image_file": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local path to an image file to create the avatar from"
    },
    "audio_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Remote URL of the audio file"
    },
    "audio_file": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local path to the audio file"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional title for the created video"
    },
    "async_mode": {
      "default": false,
      "description": "If true, returns task_id immediately",
      "type": "boolean"
    },
    "output_path": {
      "default": "./output/output.mp4",
      "description": "Where to save the downloaded video",
      "type": "string"
    }
  },
  "type": "object",
  "additionalProperties": false
}
create_lipsync_video_by_text Create lipsync video by text input. The tool will generate audio from the text and animate a digital human avatar to speak it. Parameters: - avatar: Digital human avatar ID. Either this or avatar creation parameters must be provided. - avatar_video_url: URL of a video to create the avatar from. - avatar_image_url: URL of an image to create the avatar from. - avatar_video_file: Local path to a video file to create the avatar from. - avatar_image_file: Local path to an image file to create the avatar from. - text: Text content to be spoken by the avatar. Required. - voice: Voice ID to use for text-to-speech. If not provided, a random voice will be selected. - title: Optional title for the created video. - async_mode: If true, returns task_id immediately. If false, waits for completion and downloads the video. Default is false. - output_path: Where to save the downloaded video if async_mode is false. Default is "output.mp4". Avatar creation: Provide exactly ONE of avatar_video_url, avatar_image_url, avatar_video_file, or avatar_image_file to create a new avatar. If avatar ID is directly provided, these parameters will be ignored. Text should be between 1 and 500 characters. Returns: - If async_mode is true: task_id for checking status later, selected voice ID - If async_mode is false: downloaded video path, task result, and selected voice ID - If download fails: error message, task_id, task_result, video_url, and selected voice ID for manual download
Input schema
{
  "properties": {
    "avatar": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Digital human avatar ID"
    },
    "avatar_video_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "URL of a video to create the avatar from"
    },
    "avatar_image_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "URL of an image to create the avatar from"
    },
    "avatar_video_file": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local path to a video file to create the avatar from"
    },
    "avatar_image_file": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Local path to an image file to create the avatar from"
    },
    "text": {
      "default": "",
      "description": "Text content to be spoken by the avatar",
      "maxLength": 500,
      "minLength": 1,
      "type": "string"
    },
    "voice": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Voice ID to use for text-to-speech"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional title for the created video"
    },
    "async_mode": {
      "default": false,
      "description": "If true, returns task_id immediately",
      "type": "boolean"
    },
    "output_path": {
      "default": "./output/output.mp4",
      "description": "Where to save the downloaded video",
      "type": "string"
    }
  },
  "type": "object",
  "additionalProperties": false
}
create_video_by_podcast Create video by podcast HTML file. The tool will read a podcast HTML file and generate a video based on its content. Parameters: - podcast_html_url: Remote URL of the podcast HTML file. - async_mode: If true, returns task_id immediately. If false, waits for completion and downloads the video. Default is false. - output_path: Where to save the downloaded video if async_mode is false. Default is "output.mp4". The podcast HTML file should contain structured content that can be processed to generate a video. Returns: - If async_mode is true: task_id for checking status later - If async_mode is false: downloaded video path and task result - If download fails: error message, task_id, task_result, and video_url for manual download
Input schema
{
  "properties": {
    "podcast_html_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Remote URL of the podcast HTML file"
    },
    "async_mode": {
      "default": false,
      "description": "If true, returns task_id immediately",
      "type": "boolean"
    },
    "output_path": {
      "default": "./output/output.mp4",
      "description": "Where to save the downloaded video",
      "type": "string"
    }
  },
  "type": "object",
  "additionalProperties": false
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

No completed comparison is available.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 106fa40d7b502f8a0d1ee0447eb7d2cb5895208f9dfb6abba21dba596da36e16

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.