Skip to main content
Glama

Server Details

DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

Ownership verified
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

A4.3/5.0

Scored across 8 tools

Disambiguation3/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
describe_docDescribe a drawing of any supported formatA
Read-only
Inspect

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 drawingA
Read-only
Inspect

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 drawingA
Read-only
Inspect

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 widgetA
Read-only
Inspect

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 formatA
Read-only
Inspect

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 imageA
Read-only
Inspect

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 imageA
Read-only
Inspect

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 viewerA
Read-only
Inspect

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

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables 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.
      11
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables 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.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables 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.
      1
      Apache 2.0
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables 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.
      -
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.