image_placeholder
Generate placeholder images for testing or development by specifying width, height, and provider (placehold or lorem-picsum), ensuring accurate visual mockups.
Instructions
Generate a placeholder image based on a provider, width, and height.
Use this tool to generate a placeholder image for testing or development purposes.
Args:
provider: The provider to use for the image, must be either `placehold` or `lorem-picsum`.
width: The width of the image, must be a positive integer between 1 and 10000.
height: The height of the image, must be a positive integer between 1 and 10000.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| height | Yes | ||
| provider | Yes | ||
| width | Yes |
Implementation Reference
- main.py:8-53 (handler)The handler function decorated with @mcp.tool(), implementing the image_placeholder tool. Validates inputs and generates a placeholder image URL based on the provider (placehold or lorem-picsum), width, and height.@mcp.tool() def image_placeholder( provider: Literal["placehold", "lorem-picsum"], width: int, height: int, ) -> str: """ Generate a placeholder image based on a provider, width, and height. Use this tool to generate a placeholder image for testing or development purposes. Args: provider: The provider to use for the image, must be either `placehold` or `lorem-picsum`. width: The width of the image, must be a positive integer between 1 and 10000. height: The height of the image, must be a positive integer between 1 and 10000. """ # if provider is not in the list of providers, raise a ValueError if provider not in ["placehold", "lorem-picsum"]: raise ValueError(f"Invalid provider: {provider}") # if width is not a positive integer between 1 and 10000, raise a ValueError if width <= 0 or width > 10000: raise ValueError( f"Invalid width: {width}. Width must be a positive integer between 1 and 10000" ) # if height is not a positive integer between 1 and 10000, raise a ValueError if height <= 0 or height > 10000: raise ValueError( f"Invalid height: {height}. Height must be a positive integer between 1 and 10000" ) # if provider is placehold, return the placehold image if provider == "placehold": return ( f"https://placehold.co/{width}x{height}" if height is not None else f"https://placehold.co/{width}" ) # if provider is lorem-picsum, return the lorem-picsum image elif provider == "lorem-picsum": return ( f"https://picsum.photos/{width}/{height}" if height is not None else f"https://picsum.photos/{width}" )
- main.py:4-5 (registration)Initializes the FastMCP server instance named 'image-placeholder', which manages the tool registration and server runtime.# Initialize FastMCP server mcp = FastMCP("image-placeholder")
- main.py:9-13 (schema)The function signature defines the input schema with typed parameters: provider (Literal enum), width (int), height (int), and str return type.def image_placeholder( provider: Literal["placehold", "lorem-picsum"], width: int, height: int, ) -> str: