Aspicio
Server Details
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- frontsail-ai/aspicio
- GitHub Stars
- 6
- Server Listing
- aspicio-dxf-viewer
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
The describe/render/view split is clear, but describe_doc and render_doc fully subsume the format-specific describe_dxf/describe_pdf and render_dxf/render_pdf variants, so six of the eight tools form two overlapping triples. The only discriminator offered is 'use the specific one when you already know the format,' which rarely changes the outcome and invites arbitrary selection.
Every tool follows a snake_case verb_noun pattern (describe_*, render_*, load_*, view_*), and the format suffix family (_doc/_dxf/_pdf) is applied predictably. The internal load_dxf_for_viewer is longer but still consistent with the scheme.
Eight tools is a reasonable size for this scope, but the effective capability set is roughly four (describe, render, view, internal loader) duplicated across format variants. One tool is explicitly internal/widget-only, further shrinking the model-facing surface.
The read-only inspection lifecycle is well covered: structural facts via describe_*, a static image via render_*, and user-driven exploration via view_dxf, across both DXF and PDF. Gaps are minor (no text search, region crops, measurement, or drawing comparison), and the read-only nature of the domain makes missing write operations acceptable.
Available Tools
8 toolsdescribe_docDescribe a drawing of any supported formatARead-onlyInspect
Return a structured JSON summary of a drawing in any supported format (DXF or PDF), detected from its bytes rather than its name. Use this when you do not know which format you have; the reply names the format that was read. Covers the whole drawing by default, including every page of a multi-page PDF; pass space (a name from the reply's spaces) to scope it to one page or sheet. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space. Returns: size, space, texts, units, +8 more
describe_dxfDescribe a DXF drawingARead-onlyInspect
Return a structured JSON summary of a DXF drawing — units, bounding box, layers (with the color actually drawn), per-type entity counts, and any skipped/unsupported types. Use this to answer structural questions (what layers exist, how many parts, what size, is it to scale) without rendering an image. For a PDF use describe_pdf; if you do not know the format, use describe_doc. Covers the whole drawing by default, including every page of a multi-page PDF; pass space (a name from the reply's spaces) to scope it to one page or sheet. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space. Returns: size, space, texts, units, +8 more
describe_pdfDescribe a PDF drawingARead-onlyInspect
Return a structured JSON summary of a PDF drawing — units (points), bounding box, layers, per-type entity counts, the text it contains, and what was skipped (images, shadings, transparency). Use this for structural questions about a PDF without rendering it. For a DXF use describe_dxf; if you do not know the format, use describe_doc. Covers the whole drawing by default, including every page of a multi-page PDF; pass space (a name from the reply's spaces) to scope it to one page or sheet. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space. Returns: size, space, texts, units, +8 more
load_dxf_for_viewerLoad a DXF for the viewer widgetARead-onlyInspect
Internal: returns DXF bytes (base64) for the in-chat viewer. Called by the widget, not the model.
Inputs: source (required), length, offset. Returns: offset, byteLength, bytesBase64
render_docRender a drawing of any supported formatARead-onlyInspect
Render a drawing in any supported format (DXF or PDF) to a PNG you can look at, detected from its bytes rather than its name. Use this when you do not know which format you have. Renders the first page/sheet by default; pass space (a name from a describe reply's spaces) to render another one. Some chat UIs do not display the returned image to the user: for URL sources the result also includes a direct image link — show it (e.g. as a markdown image) when they need to see the render. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space, width.
render_dxfRender a DXF to an imageARead-onlyInspect
Render a DXF drawing to a PNG image you can look at. Use this to answer visual questions (what does it look like, where is a feature, does it look right) — it returns an image, not text. For structural facts, prefer describe_dxf. For a PDF use render_pdf; if you do not know the format, use render_doc. Renders the first page/sheet by default; pass space (a name from a describe reply's spaces) to render another one. Some chat UIs do not display the returned image to the user: for URL sources the result also includes a direct image link — show it (e.g. as a markdown image) when they need to see the render. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space, width.
render_pdfRender a PDF to an imageARead-onlyInspect
Render a PDF drawing's vector content to a PNG you can look at. Images, shadings, and transparency are not drawn — they are reported by describe_pdf — so this shows line work and text, not a page facsimile. For a DXF use render_dxf; if you do not know the format, use render_doc. Renders the first page/sheet by default; pass space (a name from a describe reply's spaces) to render another one. Some chat UIs do not display the returned image to the user: for URL sources the result also includes a direct image link — show it (e.g. as a markdown image) when they need to see the render. When the user wants to see or explore the drawing themselves, prefer view_dxf (interactive viewer) — if your platform gates it behind user approval, offer it and ask rather than substituting a static render.
Inputs: source (required), space, width.
view_dxfOpen a drawing in the interactive viewerARead-onlyInspect
Open an interactive viewer the user can pan, zoom, and toggle layers in (renders in-chat on MCP Apps-capable hosts). Reads DXF and vector PDF; for a PDF it shows line work and text rather than a page facsimile, so images, shadings, and transparency are absent by design. Use this when the user wants to see or explore the drawing themselves; for your own analysis use a describe_* tool (facts) or a render_* tool (image). The viewer shows only the drawing from this call. Delivery is handled by the widget itself: small drawings are embedded in the result and larger URL-sourced drawings are fetched by the widget through its own tool call — never re-fetch or inline the file for the viewer's sake, and don't blind-retry if the user reports an empty viewer (the viewer posts its actual status back to the conversation context).
Inputs: source (required), allow_file_open. Returns: size, space, texts, units, +8 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
AI Hub for AEC — 50+ 3D formats, clash detection, ACC integration via Autodesk Platform Services.
A browser 3D CAD for your AI: it scripts real-size models, uCAD builds them and returns pictures.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to create, inspect, render, and export 2D engineering drawings through DXF files, including entities, dimensions, hatches, splines, blocks, layers, PNG previews, and vector PDFs without needing a CAD GUI.11MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to author and edit production CAD drawings — mechanical parts, architectural plans, P&IDs, ISO-compliant dimensions, tolerances and title blocks — either live in AutoCAD through COM on Windows or headlessly via ezdxf anywhere. It also reads existing drawings back to support understanding, critique, topology checks and quantity takeoffs.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with CAD software through semantic spatial topology and architectural ontology, supporting drawing, block/layer/entity management, and safe preview-apply transaction workflows for AutoCAD, ZWCAD, GstarCAD, and BricsCAD.1Apache 2.0
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to create, edit, validate, and read back production-grade CAD drawings — including P&ID sheets, mechanical parts and assemblies, and architectural floor plans with measured areas and schedules — through a single typed tool contract that runs either live via COM on Windows or headlessly via ezdxf anywhere. It also supports standards-aware dimensioning, ISO GD&T and tolerance checks, takeoff workbooks, and drawing understanding, diffing, and critique.-
Glama MCP Gateway
Add one secure layer between your agents and this server.