Skip to main content
Glama

show_output_stats

View statistics for generated images and output directory contents to monitor image creation activity and track results.

Instructions

Show statistics about the output directory and recently generated images.

Input Schema

NameRequiredDescriptionDefault

No arguments

Input Schema (JSON Schema)

{ "properties": {}, "type": "object" }

Implementation Reference

  • The core handler function for the 'show_output_stats' tool. It fetches statistics from the file image service, handles errors, formats a markdown summary, 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
  • The registration function that defines and registers the 'show_output_stats' tool on the FastMCP server using a decorator with metadata annotations.
    def register_output_stats_tool(server: FastMCP): """Register output statistics tool with the FastMCP server.""" @server.tool( annotations={ "title": "Show output directory stats", "description": "Show statistics about the IMAGE_OUTPUT_DIR and recently generated images", "readOnlyHint": True, } )
  • The call site in the main server class where the output_stats tool registration function is imported and invoked during server initialization.
    from ..tools.output_stats import register_output_stats_tool from ..tools.upload_file import register_upload_file_tool register_generate_image_tool(self.server) register_upload_file_tool(self.server) register_output_stats_tool(self.server)
  • Supporting helper method in FileImageService that scans the output directory for image files, computes totals and lists recent ones; called by the tool handler.
    def get_output_stats(self) -> dict[str, Any]: """Get statistics about the output directory.""" try: image_files = ( list(self.output_dir.glob("*.png")) + list(self.output_dir.glob("*.jpg")) + list(self.output_dir.glob("*.jpeg")) ) total_size = sum(f.stat().st_size for f in image_files) return { "output_directory": str(self.output_dir), "total_images": len(image_files), "total_size_bytes": total_size, "total_size_mb": round(total_size / (1024 * 1024), 2), "recent_images": [ str(f.name) for f in sorted(image_files, key=lambda x: x.stat().st_mtime, reverse=True)[:5] ], } except Exception as e: self.logger.error(f"Failed to get output stats: {e}") return {"output_directory": str(self.output_dir), "error": str(e)}

Latest Blog Posts

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/zengwenliang416/banana-image-mcp'

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