Skip to main content
Glama

Render a drawing of any supported format

render_doc
Read-only

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "source": "<source>"
    },
    "name": "render_doc"
  }
}

Input Schema

NameRequiredDescriptionDefault
spaceNoWhich 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 first space.
widthNoPNG width in pixels (default 1200)
sourceYesA 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 @aspicio/mcp local server for files on disk.)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / space
      Added value: +{
      +  "description": "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 first space.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / source / description
      Previous value: -"A publicly reachable http(s) URL to a .dxf file, or the DXF content inline as text. (This is a hosted server — local file paths are not available; use the npx @aspicio/mcp local server for files on disk.)"New value: +"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 @aspicio/mcp local server for files on disk.)"
  3. Added

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint=true annotation, the description reveals important behaviors: format detection from bytes, first page/sheet default, ability to select a specific space via the 'space' parameter, and a critical caveat that some chat UIs won't display the image so a direct link should be shown for URL sources. It also explains input limitations (PDF must be a URL, not inline) and server constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence delivers critical information. It is well-structured, moving from core function to usage caveat to alternative, with no filler. The length is justified by the complexity of the rendering tool and its integration with describe replies.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description covers all essential aspects: input formats and constraints, default behavior, parameter selection, output display caveats, and alternative tools. It provides complete guidance for an agent to both select and invoke the tool correctly, including edge cases like binary PDF handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds substantial meaning: 'space' is mapped to a describe reply's 'spaces' and defaults to the first space; 'source' clarifies URL vs inline DXF vs refusal of inline PDF, and notes local file paths are unavailable. This enriches parameter understanding well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a drawing in any supported format (DXF or PDF) to a PNG, with the key distinction that it detects the format from bytes rather than the filename. This definitively differentiates it from sibling tools like render_dxf and render_pdf, which are format-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is provided: 'Use this when you do not know which format you have.' It also names the alternative view_dxf for interactive exploration and instructs to prefer it when the user wants to see the drawing themselves, even suggesting asking for approval if the platform gates that tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.