show_output_stats
Analyze output directory statistics and track recently generated images to monitor image generation activity and manage storage.
Instructions
Show statistics about the output directory and recently generated images.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The main handler function for the 'show_output_stats' tool. It fetches statistics from the file service, formats a summary of the output directory (total images, size, recent files), and returns a ToolResult with text content and structured data.def show_output_stats( ctx: Context = None, ) -> ToolResult: """ Show statistics about the output directory and recently generated images. """ logger = logging.getLogger(__name__) try: logger.info("Getting output directory stats") file_service = get_file_image_service() stats = file_service.get_output_stats() if "error" in stats: return ToolResult( content=[ TextContent( type="text", text=f"❌ Error getting output stats: {stats['error']}" ) ], structured_content=stats, ) if stats["total_images"] == 0: summary = ( f"📁 **Output Directory:** `{stats['output_directory']}`\n\n" f"📊 **Stats:** No images found in output directory." ) else: summary = ( f"📁 **Output Directory:** `{stats['output_directory']}`\n\n" f"📊 **Stats:**\n" f"- Total images: {stats['total_images']}\n" f"- Total size: {stats['total_size_mb']} MB\n\n" f"🕒 **Recent Images:**\n" ) for filename in stats.get("recent_images", []): summary += f"- `{filename}`\n" return ToolResult( content=[TextContent(type="text", text=summary)], structured_content=stats ) except Exception as e: logger.error(f"Failed to get output stats: {e}") raise
- Tool schema annotations defining the title, description, and read-only hint for the 'show_output_stats' tool.@server.tool( annotations={ "title": "Show output directory stats", "description": "Show statistics about the IMAGE_OUTPUT_DIR and recently generated images", "readOnlyHint": True, } )
- nanobanana_mcp_server/core/server.py:34-45 (registration)The _register_tools method in the main server class, which imports and calls register_output_stats_tool (line 43) to register the tool with the FastMCP server instance.def _register_tools(self): """Register all tools with the server.""" from ..tools.generate_image import register_generate_image_tool from ..tools.upload_file import register_upload_file_tool from ..tools.output_stats import register_output_stats_tool from ..tools.maintenance import register_maintenance_tool register_generate_image_tool(self.server) register_upload_file_tool(self.server) register_output_stats_tool(self.server) register_maintenance_tool(self.server)
- nanobanana_mcp_server/tools/output_stats.py:12-14 (registration)The registration function that defines and attaches the show_output_stats tool to the FastMCP server using the @server.tool decorator.def register_output_stats_tool(server: FastMCP): """Register output statistics tool with the FastMCP server."""