Skip to main content
Glama

ThinkDrop Vision Service

by lukaizhi5559
capture.py1.89 kB
""" Screenshot capture endpoint """ import logging from fastapi import APIRouter, HTTPException from pydantic import BaseModel from typing import Optional, List from ..services.screenshot import ScreenshotService logger = logging.getLogger(__name__) router = APIRouter(tags=["capture"]) class CaptureRequest(BaseModel): """Capture request model""" region: Optional[List[int]] = None # [x, y, width, height] format: str = "png" # png or base64 class CaptureResponse(BaseModel): """Capture response model""" version: str = "mcp.v1" status: str = "success" data: dict @router.post("/capture", response_model=CaptureResponse) # MCP action: capture async def capture_screenshot(request: CaptureRequest): """ Capture screenshot Args: request: Capture configuration Returns: Screenshot data (base64 PNG + dimensions) """ try: logger.info(f"Capturing screenshot (region={request.region})") # Capture region = tuple(request.region) if request.region else None img = ScreenshotService.capture(region) # Encode png_base64 = ScreenshotService.encode_png(img) return CaptureResponse( version="mcp.v1", status="success", data={ "png_base64": png_base64, "width": img.width, "height": img.height, "region": request.region } ) except Exception as e: logger.error(f"Capture failed: {e}") raise HTTPException( status_code=500, detail={ "version": "mcp.v1", "status": "error", "error": { "code": "CAPTURE_FAILED", "message": str(e) } } )

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/lukaizhi5559/thinkdrop-vision-service'

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