Skip to main content
Glama

MCP FFmpeg Helper

definitions.ts6.32 kB
/** * Tool definitions for FFmpeg operations * Defines the available tools and their input schemas */ export const toolDefinitions = [ { name: "get_video_info", description: "Get detailed information about a video file", inputSchema: { type: "object", properties: { filePath: { type: "string", description: "Path to the video file" } }, required: ["filePath"] } }, { name: "convert_video", description: "Convert a video file to a different format", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input video file" }, outputPath: { type: "string", description: "Path for the output video file" }, options: { type: "string", description: "Additional FFmpeg options (optional)" } }, required: ["inputPath", "outputPath"] } }, { name: "extract_audio", description: "Extract audio from a video file", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input video file" }, outputPath: { type: "string", description: "Path for the output audio file" }, format: { type: "string", description: "Audio format (mp3, aac, etc.)" } }, required: ["inputPath", "outputPath", "format"] } }, { name: "create_video_from_images", description: "Create a video from a sequence of images", inputSchema: { type: "object", properties: { inputPattern: { type: "string", description: "Pattern for input images (e.g., 'img%03d.jpg' or 'folder/*.png')" }, outputPath: { type: "string", description: "Path for the output video file" }, framerate: { type: "number", description: "Frames per second (default: 25)" }, codec: { type: "string", description: "Video codec to use (default: libx264)" }, pixelFormat: { type: "string", description: "Pixel format (default: yuv420p)" }, extraOptions: { type: "string", description: "Additional FFmpeg options" } }, required: ["inputPattern", "outputPath"] } }, { name: "trim_video", description: "Trim a video to a specific duration", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input video file" }, outputPath: { type: "string", description: "Path for the output video file" }, startTime: { type: "string", description: "Start time (format: HH:MM:SS.mmm or seconds)" }, duration: { type: "string", description: "Duration (format: HH:MM:SS.mmm or seconds)" }, endTime: { type: "string", description: "End time (format: HH:MM:SS.mmm or seconds)" } }, required: ["inputPath", "outputPath"] } }, { name: "add_watermark", description: "Add a watermark to a video", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input video file" }, watermarkPath: { type: "string", description: "Path to the watermark image" }, outputPath: { type: "string", description: "Path for the output video file" }, position: { type: "string", description: "Position of watermark (topleft, topright, bottomleft, bottomright, center)" }, opacity: { type: "number", description: "Opacity of watermark (0.0-1.0)" } }, required: ["inputPath", "watermarkPath", "outputPath"] } }, { name: "trim_audio", description: "Trim an audio file to a specific duration", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input audio file" }, outputPath: { type: "string", description: "Path for the output audio file" }, startTime: { type: "string", description: "Start time (format: HH:MM:SS.mmm or seconds)" }, duration: { type: "string", description: "Duration (format: HH:MM:SS.mmm or seconds)" }, endTime: { type: "string", description: "End time (format: HH:MM:SS.mmm or seconds)" }, format: { type: "string", description: "Audio format for output (mp3, aac, etc.)" } }, required: ["inputPath", "outputPath"] } }, { name: "extract_frames", description: "Extract frames from a video as sequential image files", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Path to the input video file" }, outputDir: { type: "string", description: "Directory to save the extracted frames (default: 'output')" }, frameRate: { type: "string", description: "Frame extraction rate (e.g., '1' for every frame, '0.5' for every 2nd frame, '1/30' for 1 frame per 30 seconds)" }, format: { type: "string", description: "Output image format (jpg, png, etc., default: jpg)" }, quality: { type: "number", description: "Image quality for jpg format (1-100, default: 95)" }, startTime: { type: "string", description: "Start time to begin extraction (format: HH:MM:SS.mmm or seconds)" }, duration: { type: "string", description: "Duration to extract frames (format: HH:MM:SS.mmm or seconds)" } }, required: ["inputPath"] } } ];

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sworddut/mcp-ffmpeg-helper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server