frontsail-ai avatar

Aspicio

frontsail-ai/aspicio

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

GitHub stars
6
tools
8
transport
STDIO, HTTP
last updated
Oct 23, 2026

Install

From registry metadata
$ npx add-mcp https://aspicio-api.frontsail.app/mcp --name aspicio

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http aspicio https://aspicio-api.frontsail.app/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 8 tools

Verified live against the running server on Nov 6, 2026.

describe_dxfReturn 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) wi...2 params

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) wi...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
render_dxfRender 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 th...3 params

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 th...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
widthinteger
PNG width in pixels (default 1200)
describe_pdfReturn 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 desc...2 params

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 desc...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
render_pdfRender 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_do...3 params

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_do...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
widthinteger
PNG width in pixels (default 1200)
describe_docReturn 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...2 params

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...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
render_docRender 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...3 params

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...

Parameters* required
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
spacestring
Which space to work on: "Model" (a PDF's page 1, a DXF's model space) or a page/layout name as listed in a describe reply's "spaces". Describe omits it for the whole drawing; render defaults to the...
widthinteger
PNG width in pixels (default 1200)
view_dxfOpen 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 th...2 params

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 th...

Parameters* required
allow_file_openboolean
Show open-file controls in the viewer (default false: viewer is locked to this drawing)
source*string
A publicly reachable http(s) URL, or inline DXF text. A PDF is binary, so it must be a URL — inline PDF bytes are refused. (This is a hosted server — local file paths are not available; use the npx...
load_dxf_for_viewerInternal: returns DXF bytes (base64) for the in-chat viewer. Called by the widget, not the model.3 params

Internal: returns DXF bytes (base64) for the in-chat viewer. Called by the widget, not the model.

Parameters* required
lengthinteger
Byte length of the requested range
offsetinteger
Byte offset of the requested range
source*string
http(s) URL of the drawing (same guards as the other tools)

Sponsors

Readme

Aspicio logo

Aspicio

Drawing understanding for people, applications, and AI agents — DXF and vector PDF.

Aspicio (Latin: "I look at")

CI License: MIT
npm: @aspicio/core npm: @aspicio/elements npm: @aspicio/react


View the full README on GitHub

Details

Repository
github.com/frontsail-ai/aspicio
Website
aspicio.frontsail.app
Categories
Communication & Messaging, Documents & Knowledge
Package
@aspicio/mcp
Transport
STDIO, HTTP
Registry
MCP registry, active
Resources
1
Tools verified
Nov 6, 2026

Related Communication & Messaging MCP servers

View all
1gabrielmahia avatarMpesa Mcpgabrielmahia/mpesa-mcpM-Pesa Daraja and Africa's Talking MCP server: 24 tools; live payments and SMS need confirmation.6stars
2continuum-ai-corp avatarOrcaRoutercontinuum-ai-corp/orcarouter-mcp-serverBrowse 160+ LLM models and live pricing — no API key needed for catalog. Add key to route chat.6stars
3vivid-money avatarVivid MCPvivid-money/vivid-mcpOpen a Vivid Business account from your AI chat via MCP.6stars
4agentailor avatarSlimcontext Mcp Serveragentailor/slimcontext-mcp-serverMCP Server for SlimContext - AI chat history compression tools5stars
5lassare-hq avatarLassarelassare-hq/agent-configsHuman-in-the-loop for AI coding agents — ask questions, get approvals via Slack.0stars
6nhype avatarOWA Exchange MCP Servernhype/owa-exchange-mcpMCP server for Microsoft Exchange / OWA — email, calendar, directory, availability5stars