Skip to main content
Glama
nkarasiak

QGIS MCP

by nkarasiak

Transform Coordinates

transform_coordinates
Read-only

Convert coordinates between any CRS, accepting a point, list, or bounding box and returning the same format. Handles antimeridian-crossing bboxes.

Instructions

Transform coordinates between CRS. Accepts a point {x, y}, a point list [{x, y}, ...], or a bbox {xmin, ymin, xmax, ymax}. Returns the same format. x is always longitude/easting and y latitude/northing, including for EPSG:4326. A bbox that crosses the antimeridian comes back with xmin > xmax and crosses_antimeridian: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bboxNo
pointNo
pointsNo
source_crsYes
target_crsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0
  2. Removed
  3. First observedv0.3.0

TDQS

A4.4/5.0
Behavior5/5

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

The annotations only provide readOnlyHint, leaving the description to disclose behavioral details. The description goes well beyond that by specifying accepted input shapes, the same-format return, the x/y axis ordering even for EPSG:4326, and the antimeridian bbox edge case. This gives the agent a strong understanding of the tool's runtime behavior.

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 compact and information-dense, with the primary action front-loaded. Every sentence adds meaningful detail: input formats, output format, axis order, and an edge-case behavior. There is no filler or redundant repetition of schema information.

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 the readOnly annotation and presence of an output schema, the description covers the key operational aspects: input variants, same-format returns, coordinate ordering, and antimeridian handling. The main gap is the lack of explicit guidance that exactly one of point, points, or bbox should be supplied, and the exact format for source_crs/target_crs values is not fully specified. Still, the description is largely complete 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 description coverage is 0%, so the description must compensate. It does so by defining the point structure as {x, y}, the point list as [{x, y}, ...], and the bbox as {xmin, ymin, xmax, ymax}. It also signals that CRS values are expressed like EPSG:4326, although it does not fully document accepted CRS string formats or clarify whether exactly one of the optional inputs is required.

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 states a specific verb and resource: 'Transform coordinates between CRS.' It clearly distinguishes the tool from siblings like get_layer_crs and set_layer_crs, which manage layer CRS rather than transform raw coordinate values. It also specifies the accepted input forms, leaving no ambiguity about the tool's scope.

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

Usage Guidelines3/5

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

The usage context is implied by the core action 'Transform coordinates between CRS,' but the description does not explicitly state when to use this tool over alternatives or when not to use it. It offers no exclusions or alternative tool references, so the agent must infer the appropriate use case from the tool's name and purpose.

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

Deploy Server

Other Tools