Model Context Protocol server that wraps the CADLens REST API.
CADLens MCP has well-structured tool definitions with complete input schemas and descriptions for most tools. Naming follows verb_noun convention (parse_file, get_job, list_jobs, delete_job). However, 1 of 7 tools (cadlens_refresh_image_url) lacks a visible description entirely, and parameter descriptions are sparse or missing in several tools. Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (CadlensApiError caught but no recovery guidance). Tool composition is sound: parse tools feed into get_result, which supports multiple modes. Descriptions average ~120 chars, below the 194-char baseline for A+ tools.
Delete a job and its uploaded file and preview image from CADLens storage. Irreversible.
Check the status of a CAD parse job. Returns PENDING, PROCESSING, COMPLETED, or FAILED.
Fetch the parsed result of a completed CAD job. Use mode='summary' (default) for an overview, 'entities_by_type' or 'entities_on_layer' for filtered detail, or 'full' for the complete vector JSON (can be very large — only use when explicitly needed).
List the 100 most recent CAD parse jobs for the configured API key, newest first.
Parse a local CAD file (DWG/DXF/DWF/DWFx/DGN-V7/PDF, max 100 MB). Polls until the job completes or 5 minutes elapse. Returns a summary including the preview image URL. Use cadlens_get_result with the returned job_id to fetch detailed entity data.
cadlens_refresh_image_url has no visible description or input schema in source code. Tool is inferred from smoke test only.
No output schemas documented for any tool. LLMs cannot predict response structure (fields, types, pagination). Agents must guess what cadlens_parse_file returns or what cadlens_list_jobs pagination looks like.
Parameter descriptions missing or minimal. webhook_url and notify_email in parse_file/parse_url lack descriptions. entity_type and layer_name in get_result have minimal guidance on when to use them.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Download a CAD file from a URL (max 100 MB) and parse it. Same output as cadlens_parse_file.
Error handling is minimal. CadlensApiError caught and returned as text, but no recovery guidance. LLM cannot distinguish retryable (timeout) from fatal (invalid API key) errors.
cadlens_delete_job is destructive but has no confirmation step or dry-run mode. Agents can irreversibly delete jobs without safeguards.