Skip to main content
Glama

mcp_3d_relief

by Bigchx
server.py1.93 kB
import os from typing import Annotated from fastapi import FastAPI, Form from fastmcp import FastMCP from pydantic import Field from relief import relief app = FastAPI(title="STL 3D RELIEF MCP Server") os.makedirs("uploads", exist_ok=True) os.makedirs("output", exist_ok=True) @app.post("/convert") async def convert_image( image_path: Annotated[ str, Field( description="2 possible options on this paramater: " "1. Path to the image file. (Save the image locally and return the path to the file. Delete the file after processing this tool.)" "2. Online image URL. (Provide the original image URL, or upload the image to a public server and provide the URL.)", ), ], model_width: float = Form(50.0), model_thickness: float = Form(5.0), base_thickness: float = Form(2.0), skip_depth: bool = Form(False), invert_depth: bool = Form(False), detail_level: float = Form(1.0), ) -> dict: """ Convert an image to a 3D relief STL file. Args: image_path (str): Local path or web URL to the input image file. model_width (float): Width of the model in mm. model_thickness (float): Thickness of the model in mm. base_thickness (float): Thickness of the base in mm. skip_depth (bool): Whether to skip depth conversion. invert_depth (bool): Whether to invert depth. detail_level (float): Detail level for depth map generation. """ result = await relief( input_image_path=image_path, model_width=model_width, model_thickness=model_thickness, base_thickness=base_thickness, output_dir="output", skip_depth=skip_depth, invert_depth=invert_depth, detail_level=detail_level, ) return result mcp = FastMCP.from_fastapi(app, "mcp_3d_relief") if __name__ == "__main__": mcp.run(transport="stdio")

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/Bigchx/mcp_3d_relief'

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