Skip to main content
Glama

georeference_dxf

Reproject a DXF drawn in a local/arbitrary CAD coordinate system into real-world coordinates — e.g. "this DXF isn't in real coordinates, fix it", "georeference this site plan", "I know 2 points on this drawing's real location, convert the rest". Give exactly 2 control points as a JSON array: '[{"local":[x,y],"real":[lon,lat]}, {"local":[x,y],"real":[lon,lat]}]' — a 2-point similarity transform (uniform scale + rotation + translation) is solved and applied to every coordinate. Returns a GeoJSON FeatureCollection in the real coordinate system implied by the 2 points.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dxfYes
control_pointsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the core behavior (solves a 2-point similarity transform and applies to every coordinate) and the output format (GeoJSON FeatureCollection). It does not mention limitations like degenerate control points, but this is reasonable for a focused tool.

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

Conciseness4/5

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

The description is a single paragraph that is informative without being bloated. Examples and technical details are front-loaded and relevant, though it is slightly longer than necessary.

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

Completeness4/5

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

Given that an output schema exists, the description need not explain return values. It covers the operation, input format, and transform logic. It could mention error conditions but overall is complete enough for a tool of this complexity.

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

Parameters4/5

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

Schema coverage is 0%, and the description compensates well by explaining the control_points format in detail ('[{"local":[x,y],"real":[lon,lat]}, ...]') and needing exactly 2 points. The dxf parameter is left implicit but is clear from context.

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 opens with a specific verb+resource ('Reproject a DXF') and clearly distinguishes this tool from siblings like dxf_to_geojson (converts format) and reproject_geojson (reprojects existing GeoJSON). The examples clarify the exact use case.

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

Usage Guidelines4/5

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

Provides clear context with example user intents ('this DXF isn't in real coordinates, fix it') and specifies the transform method. However, it does not explicitly say when not to use this tool or mention alternatives.

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.

TDQS

B3.3/5.0
Disambiguation2/5

Many assess_* composite tools (datacenter, ev_charging, renewable, telecom, due_diligence) share the same building blocks of grid proximity, land cover, and terrain, making their boundaries fuzzy. assess_property_hazard_x402 also duplicates assess_property_hazard with only a payment-method difference, and bundle_* tools intentionally overlap with the free primitives they replace.

Naming Consistency3/5

There is a mix of verb_noun tools (query_features, geocode_address), noun-first geometry tools (centroids_geojson, envelope_geojson), and inconsistent _geojson suffix usage (buffer_geojson, fix_geometry, geometry_stats). The assess_* and bundle_* prefixes offer some grouping, but no single naming pattern is followed across the set.

Tool Count1/5

With 85 tools, the surface is extreme for an MCP server and far exceeds the typical well-scoped 3-15 range. Many tools are convenience bundles or variants that could be consolidated, making the count a significant usability burden.

Completeness4/5

The toolkit covers a broad range of GIS tasks: format conversions, GeoJSON analysis, FeatureServer query/inspection, geocoding, site assessment, and sharing. Minor gaps exist (e.g., no Excel-to-GeoJSON, no FeatureServer update/delete), but most missing functionality can be worked around by chaining existing tools.