MCP Media Processing Server
MCP 미디어 처리 서버
미디어 처리 작업을 위한 모델 컨텍스트 프로토콜(MCP)을 구현한 Node.js 서버로, 강력한 비디오 및 이미지 조작 기능을 제공합니다.
특징
비디오 처리 및 변환
이미지 처리 및 조작
미디어 압축
비디오 트리밍 및 편집
이미지 효과 및 워터마킹
Related MCP server: MCP FFmpeg Video Processor
필수 조건
이 서버를 사용하기 전에 시스템에 다음 종속성이 설치되어 있는지 확인하세요.
FFmpeg : 비디오 처리 작업에 필요
macOS:
brew install ffmpeg우분투/데비안:
sudo apt-get install ffmpegWindows: FFmpeg 공식 웹사이트 에서 다운로드
ImageMagick : 이미지 처리 작업에 필요함
macOS:
brew install imagemagick우분투/데비안:
sudo apt-get install imagemagickWindows: ImageMagick 공식 웹사이트 에서 다운로드
사용 방법
claude_desktop_config.json 에 다음을 추가하세요:
엔피엑스
지엑스피1
API
도구
비디오 운영
실행-ffmpeg
사용자 정의 옵션으로 모든 FFmpeg 명령 실행
입력:
inputPath(문자열): 입력 비디오 파일의 절대 경로options(문자열[]): FFmpeg 명령 옵션 배열outputPath(문자열, 선택 사항): 출력 파일의 절대 경로outputFilename(문자열, 선택 사항): 출력 파일 이름
비디오 변환
비디오를 다른 형식으로 변환
입력:
inputPath(문자열): 입력 비디오 파일의 절대 경로outputFormat(문자열): 원하는 출력 형식(예: mp4, mkv, avi)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
비디오 압축
비디오 파일 압축
입력:
inputPath(문자열): 입력 비디오 파일의 절대 경로quality(숫자, 선택 사항): 압축 품질(1~51, 낮을수록 품질이 좋음)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
트림 비디오
비디오를 지정된 기간으로 트리밍
입력:
inputPath(문자열): 입력 비디오 파일의 절대 경로startTime(문자열): HH:MM:SS 형식의 시작 시간duration(문자열): HH:MM:SS 형식의 지속 시간outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
이미지 작업
압축 이미지
ImageMagick을 사용하여 PNG 이미지 압축
입력:
inputPath(문자열): PNG 이미지 입력에 대한 절대 경로quality(숫자, 선택 사항): 압축 품질(1-100)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
이미지 변환
이미지를 다른 형식으로 변환
입력:
inputPath(문자열): 입력 이미지 파일의 절대 경로outputFormat(문자열): 원하는 출력 형식(예: jpg, png, webp, gif)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
이미지 크기 조정
지정된 크기로 이미지 크기 조정
입력:
inputPath(문자열): 입력 이미지 파일의 절대 경로width(숫자, 선택 사항): 픽셀 단위의 대상 너비height(숫자, 선택 사항): 픽셀 단위의 대상 높이maintainAspectRatio(부울, 선택 사항): 종횡비를 유지할지 여부outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
회전-이미지
지정된 각도로 이미지 회전
입력:
inputPath(문자열): 입력 이미지 파일의 절대 경로degrees(숫자): 회전 각도(도)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
워터마크 추가
이미지에 워터마크 추가
입력:
inputPath(문자열): 입력 이미지 파일의 절대 경로watermarkPath(문자열): 워터마크 이미지 파일의 절대 경로position(문자열, 선택 사항): 워터마크의 위치(기본값: "southeast")opacity(숫자, 선택 사항): 워터마크 불투명도(0-100)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
적용 효과
이미지에 시각 효과 적용
입력:
inputPath(문자열): 입력 이미지 파일의 절대 경로effect(문자열): 적용할 효과(흐림, 선명하게, 가장자리, 엠보싱, 회색조, 세피아, 부정)intensity(숫자, 선택 사항): 효과 강도(0-100)outputPath(문자열, 선택 사항): 사용자 지정 출력 경로outputFilename(문자열, 선택 사항): 사용자 정의 출력 파일 이름
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.
Available Tools
10 toolsadd-watermarkC
Add watermark to image
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input image file | |
| opacity | No | Watermark opacity (0-100) | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder | |
| position | No | Position of watermark | southeast |
| watermarkPath | Yes | Absolute path to watermark image file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Add watermark to image' implies a mutation operation that creates a new watermarked image file, but it doesn't disclose important behavioral traits like whether the original file is modified or preserved, what file formats are supported, error conditions, or performance characteristics. The description is too minimal to provide adequate behavioral context for a tool with 6 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just four words, with zero wasted language. It's front-loaded with the core action and immediately communicates the tool's primary function. Every word earns its place, making this description maximally efficient in terms of word economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. While concise, it doesn't provide enough context about the tool's behavior, limitations, or relationship to sibling tools. The agent would need to rely heavily on the input schema alone, missing important contextual information about when and how to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond what's already in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add watermark to image' clearly states the action (add) and target resource (watermark to image), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling tools like 'apply-effect' or 'convert-image' which might also involve image manipulation, leaving some ambiguity about when this specific tool should be chosen over alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'apply-effect', 'compress-image', and 'convert-image' available, there's no indication whether this is the only tool for watermarking or if other tools might also handle watermarks. No context about prerequisites, typical use cases, or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply-effectC
Apply visual effect to image
| Name | Required | Description | Default |
|---|---|---|---|
| effect | Yes | Effect to apply | |
| inputPath | Yes | Absolute path to input image file | |
| intensity | No | Effect intensity (0-100, not applicable for some effects) | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral information. It states the action ('apply visual effect') but doesn't disclose whether this modifies the original file or creates a new one, what happens if output parameters aren't provided, whether there are file format limitations, or what happens on failure. The description doesn't contradict annotations (since none exist), but provides inadequate behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 5 words, front-loading the core purpose with zero wasted words. Every element earns its place, making it easy to parse while conveying the essential function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't address what the tool returns (success/failure indicators, output location confirmation), doesn't explain behavioral aspects like file handling, and provides no context about limitations or prerequisites despite the tool performing a potentially complex image transformation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description doesn't add any parameter semantics beyond what's already documented in the schema - it doesn't explain what the effects do, how intensity interacts with different effects, or provide guidance on parameter combinations. The schema already documents all parameters thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('apply') and target ('visual effect to image'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'convert-image' or 'resize-image' which also modify images, leaving some ambiguity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools that also process images (convert-image, resize-image, add-watermark, etc.), there's no indication of when visual effects are appropriate versus other image transformations or which effects might be preferred for specific use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compress-imageC
Compress PNG image using ImageMagick
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input PNG image | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder | |
| quality | No | Compression quality (1-100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions ImageMagick as the backend but doesn't disclose side effects (e.g., overwriting files), performance traits, or error handling. For a mutation tool, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It front-loads the core purpose ('Compress PNG image') and includes implementation detail only where necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., success status, output path), potential errors, or file system impacts, leaving critical gaps for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional parameter context beyond implying PNG format support, aligning with the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Compress') and resource ('PNG image'), and specifies the implementation method ('using ImageMagick'). It distinguishes from siblings like 'resize-image' or 'convert-image' by focusing on compression, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'resize-image' (which might also reduce file size) or 'convert-image' (which could include compression). The description lacks context about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compress-videoC
Compress video file
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input video file | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder | |
| quality | No | Compression quality (1-51, lower is better quality but larger file) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Compress video file' implies a mutation operation that creates a new file, but it doesn't specify whether the original file is modified, what formats are supported, error handling, or performance characteristics. This is a significant gap for a tool with destructive potential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise with just three words that directly convey the core functionality. There's zero wasted language, and it's perfectly front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a video compression tool with no annotations and no output schema, the description is insufficient. It doesn't address what compression algorithm is used, supported formats, whether the operation is lossy/lossless, expected output characteristics, or error conditions. The agent would need to guess about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what's already in the schema, which has 100% coverage with clear descriptions for all 4 parameters. The baseline score of 3 reflects adequate schema documentation, but the description doesn't enhance understanding of parameter relationships or practical usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Compress video file' clearly states the verb ('compress') and resource ('video file'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'trim-video' or 'convert-video' that also operate on video files, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'trim-video' or 'convert-video'. There's no mention of prerequisites, use cases, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert-imageC
Convert image to different format
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input image file | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputFormat | Yes | Desired output format (e.g., jpg, png, webp, gif) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but provides minimal information. It doesn't mention whether this operation is destructive to the original file, what permissions are needed, potential rate limits, error conditions, or what happens when conversion fails. The description only states what the tool does at a high level without behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just four words, with zero wasted language. It's front-loaded with the core purpose and contains no unnecessary elaboration. Every word earns its place in communicating the essential function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file manipulation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what the tool returns, what happens on success/failure, file size limitations, supported input formats, or quality implications of format conversion. The combination of sparse description and missing structured data leaves significant gaps for an agent trying to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no additional parameter information beyond what's in the schema - it doesn't explain parameter interactions, provide format examples beyond what's in the schema, or clarify edge cases. The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'convert' and the resource 'image', specifying the action of changing format. It distinguishes from some siblings like resize-image or rotate-image by focusing on format conversion rather than geometric transformations, though it doesn't explicitly differentiate from all siblings like compress-image which might also involve format changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when format conversion is appropriate compared to compression (compress-image), applying effects (apply-effect), or using the more general execute-ffmpeg tool. No prerequisites, exclusions, or contextual usage information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert-videoC
Convert video to different format
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input video file | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputFormat | Yes | Desired output format (e.g., mp4, mkv, avi) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions conversion but doesn't disclose performance characteristics (e.g., processing time, resource usage), error conditions, or what happens to the original file. For a tool that likely involves file I/O and processing, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with a single sentence that directly states the tool's purpose. No wasted words or unnecessary elaboration, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a video conversion tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, potential side effects, or how it interacts with sibling tools. The agent would need to infer too much from minimal information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional parameter context beyond implying format conversion, which is already covered by the 'outputFormat' parameter description. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Convert video to different format' states the basic action (convert) and resource (video), but it's vague about scope and doesn't distinguish from sibling tools like 'convert-image' or 'trim-video'. It lacks specificity about what conversion entails beyond format change.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'compress-video', 'trim-video', or 'execute-ffmpeg'. The description provides no context about use cases, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute-ffmpegC
Execute any FFmpeg command with custom options
| Name | Required | Description | Default |
|---|---|---|---|
| inputPath | Yes | Absolute path to input video file | |
| options | Yes | Array of FFmpeg command options (e.g. ['-c:v', 'libx264', '-crf', '23']) | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Execute any FFmpeg command' but doesn't mention critical aspects like required permissions, whether it's read-only or destructive, error handling, rate limits, or what happens to the input file. For a powerful execution tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, with every word earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of executing arbitrary FFmpeg commands, no annotations, and no output schema, the description is incomplete. It doesn't address safety concerns, error conditions, output behavior, or how it differs from specialized siblings. For a general-purpose execution tool in this context, more guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain FFmpeg option syntax beyond the schema's example). The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Execute' and the resource 'FFmpeg command with custom options', making the purpose understandable. However, it doesn't distinguish this general-purpose FFmpeg execution tool from its more specialized siblings like 'compress-video' or 'convert-video', which would require explicit differentiation to earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the more specific sibling tools (e.g., compress-video, convert-video, trim-video). It lacks any context about alternatives, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resize-imageC
Resize image to specified dimensions
| Name | Required | Description | Default |
|---|---|---|---|
| height | No | Target height in pixels | |
| inputPath | Yes | Absolute path to input image file | |
| maintainAspectRatio | No | Whether to maintain aspect ratio when resizing | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder | |
| width | No | Target width in pixels |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the core function but omits critical details: whether the operation is destructive (overwrites files?), what permissions are needed, supported image formats, error handling, or output location specifics. For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('Resize image to specified dimensions') earns its place by conveying essential information concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with no annotations and no output schema, the description is incomplete. It lacks information about behavioral traits (destructiveness, auth needs), output details (where files are saved, return values), and usage context. The high parameter count and mutation nature require more comprehensive guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no parameter-specific information beyond implying 'dimensions' relates to width/height. It doesn't explain parameter interactions (e.g., how maintainAspectRatio affects dimensions) or constraints (e.g., valid pixel ranges). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Resize') and resource ('image') with the specific goal of achieving 'specified dimensions'. It distinguishes from siblings like 'rotate-image' or 'compress-image' by focusing on dimension changes rather than orientation or file size reduction. However, it doesn't explicitly differentiate from all siblings (e.g., 'convert-image' might also resize).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'compress-image' (for size reduction) or 'convert-image' (for format changes with possible resizing). The description lacks context about prerequisites (e.g., file format support) or exclusions (e.g., when not to resize).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate-imageC
Rotate image by specified degrees
| Name | Required | Description | Default |
|---|---|---|---|
| degrees | Yes | Rotation angle in degrees | |
| inputPath | Yes | Absolute path to input image file | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('rotate') but doesn't mention critical details like whether the operation modifies the original file, creates a new file, requires specific permissions, or has performance implications. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one sentence ('Rotate image by specified degrees'), which is front-loaded and wastes no words. Every part of the sentence contributes to understanding the tool's purpose, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an image manipulation tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like file handling, error conditions, or output details, leaving significant gaps for the agent to infer or guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter semantics beyond what's already in the input schema, which has 100% coverage. It mentions 'specified degrees' but doesn't explain rotation direction, valid ranges, or how parameters interact. With high schema coverage, the baseline is 3, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('rotate') and resource ('image'), making it easy to understand what the tool does. However, it doesn't differentiate from sibling tools like 'convert-image' or 'resize-image' which might also involve image manipulation, so it doesn't fully distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'resize-image' or 'convert-image', nor does it specify scenarios where rotation is appropriate over other image operations. This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trim-videoC
Trim video to specified duration
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Duration in format HH:MM:SS | |
| inputPath | Yes | Absolute path to input video file | |
| outputFilename | No | Output filename (only used if outputPath is not provided) | |
| outputPath | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder | |
| startTime | Yes | Start time in format HH:MM:SS |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Trim video' implies a mutation operation that modifies video content, but the description doesn't specify whether this is destructive to the original file, what permissions are required, or any rate limits. It mentions saving to the Downloads folder in the schema, but this isn't highlighted in the description itself, leaving behavioral traits largely undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—'Trim video to specified duration' directly conveys the core action. It's appropriately sized for a tool with clear parameters and no complex behavioral nuances needing elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a video editing tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address key contextual aspects like file format support, error handling, output behavior (e.g., where files are saved by default), or how trimming is applied. The schema covers parameter details, but the description lacks overall operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all parameters well-documented in the schema (e.g., 'Duration in format HH:MM:SS', 'Absolute path to input video file'). The description adds no additional parameter semantics beyond implying 'duration' and possibly 'startTime' from 'specified duration', but it doesn't explain the relationship between startTime and duration or mention optional parameters like outputPath. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Trim video to specified duration' clearly states the action (trim) and resource (video) with a specific scope (to specified duration). It distinguishes from siblings like 'compress-video' or 'convert-video' by focusing on temporal editing rather than compression or format conversion. However, it doesn't explicitly mention the start time parameter, making it slightly less specific than a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a video file), exclusions (e.g., not for audio files), or comparisons to siblings like 'execute-ffmpeg' for more complex editing. The agent must infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v1.0.0- First observed
add-watermark - First observed
apply-effect - First observed
compress-image - First observed
compress-video - First observed
convert-image - First observed
convert-video - First observed
execute-ffmpeg - First observed
resize-image - First observed
rotate-image - First observed
trim-video
TDQS
Scored across 10 tools
Most tools have distinct purposes targeting specific media processing tasks like compression, conversion, resizing, and watermarking. However, 'apply-effect' is somewhat ambiguous and could overlap with other image manipulation tools like 'add-watermark' or 'rotate-image', potentially causing confusion in tool selection.
All tools follow a consistent verb-noun pattern with hyphenated naming (e.g., 'compress-image', 'convert-video', 'resize-image'). This uniformity makes the tool set predictable and easy to navigate, with no deviations in style or convention.
With 10 tools, the server is well-scoped for media processing, covering common operations for images and videos. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain and not overwhelming for agents.
The tool set provides good coverage for core media processing tasks, including compression, conversion, resizing, and trimming. However, there are minor gaps, such as no explicit tools for audio processing or metadata handling, which could limit some workflows but are not critical for basic operations.
Maintenance
Related MCP Connectors
MCP server for Google Veo AI video generation
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
MCP server for Wan AI video generation
Related MCP Servers
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.79MIT
- AlicenseBqualityFmaintenanceA Node.js server that enables video manipulation through natural language requests, including resizing videos to different resolutions (360p to 1080p) and extracting audio in various formats (MP3, AAC, WAV, OGG).4130 npm62MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides video processing capabilities including format conversion, metadata extraction, and batch processing with configurable quality settings.613 npm7MIT
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables AI assistants to perform comprehensive video and audio editing operations including trimming, effects, overlays, audio processing, and YouTube downloads.27MIT