apply_sharpen
Apply a sharpen filter to enhance image clarity and detail using the Image Processing MCP Server tool. Input image source as file path or base64 data for precise sharpening effects.
Instructions
应用锐化滤镜
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| image_source | Yes | 图片源,可以是文件路径或base64编码的图片数据 |
Implementation Reference
- tools/filters.py:289-337 (handler)Core handler function that loads the base64 image data, applies PIL ImageFilter.SHARPEN filter using the global ImageProcessor, processes output, and returns JSON result as TextContent.async def apply_sharpen(image_data: str) -> list[TextContent]: """ 应用锐化滤镜 Args: image_data: 图片数据(base64编码) Returns: 应用滤镜后的图片数据 """ try: # 验证参数 if not image_data: raise ValidationError("图片数据不能为空") # 加载图片 image = processor.load_image(image_data) # 应用锐化滤镜 sharpened_image = image.filter(ImageFilter.SHARPEN) # 输出处理后的图片 output_info = processor.output_image(sharpened_image, "sharpen") result = { "success": True, "message": "锐化滤镜应用成功", "data": { **output_info, "filter_type": "sharpen", "size": image.size } } return [TextContent(type="text", text=json.dumps(result, ensure_ascii=False))] except ValidationError as e: error_result = { "success": False, "error": f"参数验证失败: {str(e)}" } return [TextContent(type="text", text=json.dumps(error_result, ensure_ascii=False))] except Exception as e: error_result = { "success": False, "error": f"锐化滤镜应用失败: {str(e)}" } return [TextContent(type="text", text=json.dumps(error_result, ensure_ascii=False))]
- main.py:270-282 (registration)MCP tool registration using @mcp.tool() decorator. Thin wrapper that calls the core handler via safe_run_async and handles exceptions, returning stringified JSON.@mcp.tool() def apply_sharpen( image_source: Annotated[str, Field(description="图片源,可以是文件路径或base64编码的图片数据")] ) -> str: """应用锐化滤镜""" try: result = safe_run_async(filters_apply_sharpen(image_source)) return result[0].text except Exception as e: return json.dumps({ "success": False, "error": f"应用锐化效果失败: {str(e)}" }, ensure_ascii=False, indent=2)
- tools/filters.py:65-77 (schema)Tool schema definition in get_filter_tools(), specifying input schema for image_data as required base64 string.Tool( name="apply_sharpen", description="应用锐化滤镜", inputSchema={ "type": "object", "properties": { "image_data": { "type": "string", "description": "图片数据(base64编码)" } }, "required": ["image_data"] }