# Caliper — caliper.fit > Geometry and CAD file metadata extraction. Accepts geometry files by URL or base64, returns structured statistics as JSON. Payment required via x402 (USDC on Base). ## What This Service Does Caliper accepts 3D geometry files and returns structured JSON metadata: bounding boxes, triangle counts, surface area, volume, manifold analysis, point cloud statistics, classification counts, and more. ## Supported Formats STL, OBJ, PLY, PCD, LAS / LAZ, glTF / GLB. STEP and IGES support is planned. ## How to Connect ### MCP Transport (recommended for MCP-compatible agents) Connect via Streamable HTTP at: ``` https://caliper.fit/mcp/ ``` This provides tool discovery (`tools/list`) and direct invocation (`tools/call`) using the standard MCP protocol. ### REST API (payment required) POST to `/tools/caliper_auto_stats` (or a format-specific endpoint): ```json {"file_url": "https://example.com/model.stl"} ``` or: ```json {"file_b64": "", "filename": "model.stl"} ``` For multiple files, use `/tools/caliper_batch_stats`: ```json {"files": [{"file_url": "https://example.com/part1.stl"}, {"file_b64": "...", "filename": "part2.obj"}]} ``` REST endpoints require x402 payment (USDC on Base). The server returns HTTP 402 with payment details; send USDC to the specified address and retry with the transaction hash in the `X-Payment` header. Batch requests use a single payment for all files. ## Tools Available - `caliper_detect_format` — Detect the geometry file format from a filename or URL. - `caliper_auto_stats` — Auto-detect geometry file format and extract metadata statistics. - `caliper_stl_stats` — Extract metadata from an STL file (ASCII or binary). - `caliper_obj_stats` — Extract metadata from an OBJ file. - `caliper_ply_stats` — Extract metadata from a PLY file (ASCII or binary). - `caliper_pcd_stats` — Extract metadata from a PCD point cloud file. - `caliper_las_stats` — Extract metadata from a LAS or LAZ point cloud file. - `caliper_gltf_stats` — Extract metadata from a glTF or GLB file. - `caliper_batch_stats` — Analyze multiple geometry files in a single batch request. ## Input Constraints - `file_url`: HTTP/S only, max 100MB, no private/loopback IPs - `file_b64`: max 200KB decoded (use `file_url` for larger files) - Include `filename` with extension for format detection when using `file_b64` ## Discovery Endpoints - `GET /mcp/manifest` — MCP tool manifest (JSON) - `GET /.well-known/mcp/server-card.json` — MCP server card - `GET /.well-known/mcp.json` — MCP discovery manifest - `GET /llms.txt` — LLM-friendly index - `GET /health` — service status