QGIS MCP
Server Quality Checklist
Latest release: v0.1.3
- Disambiguation5/5
Each tool has a clearly distinct purpose: summary, filtering, selection, extent retrieval, reprojection, clipping, merging, statistics, field addition, and export. No two tools overlap in functionality.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern in snake_case, e.g., get_layer_summary, filter_layer_by_expression, reproject_layer. No mixing of conventions.
Tool Count5/510 tools is well-scoped for a GIS MCP server covering common operations: information, filtering, selection, manipulation, and export. Not too few or too many.
Completeness3/5Covers core data manipulation but lacks a tool to list available layers, which is a notable gap. Missing delete field/update field operations, but add and export are present.
Average 3.9/5 across 10 of 10 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 22 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under GPL 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It reveals the atomic rollback on expression failure, which is important. However, it omits whether the operation modifies the original layer, permission requirements, side effects, or return value structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with minimal fluff. The first sentence front-loads the core action. The second adds crucial atomicity detail. Could be slightly more structured (e.g., bulleted types) but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no schema descriptions, and an existing output schema, the description covers the operation's unique behavior (atomicity, type options) but fails to explain parameters like length/precision or output. It's adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 only explains the 'type' parameter's allowed values. Other parameters (name, expression, layer_name, length, precision) receive no additional meaning beyond the schema's basic type/defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it adds a new field and populates it from a QGIS expression in one step. It lists valid types and describes atomicity. This distinguishes it from sibling tools, none of which perform field addition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, trade-offs, or cases where it's inappropriate (e.g., existing field names). The default type and length/precision defaults are implied but not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description has full responsibility for behavioral disclosure. It describes the return values (count and preview of feature ids) and the effect of different 'modes' on existing selection. However, it does not state whether the tool is read-only or if it modifies the layer permanently, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, consisting of two sentences that convey essential information. It is well-structured with a clear separation between the general purpose and the parameter behavior. There is no extraneous content, but a slightly more structured format could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main aspects: purpose, parameters, and return values. However, given the existence of an output schema (implied by context signals), the description could rely on it for return details but instead provides them, which is good. Still, it lacks comparison with siblings and fails to mention edge cases or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It thoroughly explains the 'mode' parameter and provides an example for 'expression', but 'layer_name' is not described. This gives partial coverage but leaves one parameter without additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it selects features based on a QGIS expression, specifying the verb 'select' and the resource 'features on a layer'. However, it does not differentiate from the sibling tool 'filter_layer_by_expression', which may have similar functionality, leading to potential confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an example expression and explains the 'mode' parameter in detail, which helps in usage. However, it does not offer explicit guidance on when to use this tool over alternatives like 'filter_layer_by_expression' or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure. It reveals that the filter restricts visibility/queryability, that clearing is possible via empty string, and that it returns the remaining feature count. No destructive behavior is disclosed, which is appropriate for a filtering operation. The description adds value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences covering purpose, behavior, clearing mechanism, and return value. No extraneous words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no annotations, the description covers the core behavior and return value. However, it omits explanation of the 'layer_name' parameter and does not provide guidance on expression syntax. With an output schema present, return value is partially addressed, but missing parameter semantics reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 only explains the 'expression' parameter (e.g., 'Pass an empty string to clear the filter'), but does not describe the 'layer_name' parameter at all. This leaves a significant gap for the agent to understand the latter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Set a QGIS expression as the layer's subset filter.' It uses a specific verb ('Set') and resource ('subset filter'), and the action is distinct from sibling tools like 'select_features_by_expression' which is for selection, not filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the filter persists until changed or cleared, and provides guidance on using an empty string to clear. However, it lacks explicit when-to-use or when-not-to-use guidance relative to sibling tools, leaving usage context partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a key behavior: CSV exports automatically include a WKT geometry column because GDAL drops geometry by default, and explains format inference. This adds useful context beyond basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence states the core function; the second adds crucial behavioral details about format inference and CSV geometry handling. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers supported formats and a special case (CSV WKT), but it does not specify whether the export saves to disk or returns data, nor where the output goes. An output schema exists but is not visible; the absence of this context makes it only partially complete for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 adds meaning for 'format' (possible values and inference from path) and explains the WKT column for CSV, but does not clarify 'layer_name' or provide details about 'path' (e.g., local vs cloud storage). Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Export a layer to GeoJSON, Shapefile, GPKG, or CSV,' specifying both the action and the supported formats. It distinguishes from sibling tools (e.g., filter, reproject) by focusing on export.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how 'format' is inferred from the path extension if omitted, providing context on parameter usage. However, it does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the error condition for non-numeric fields and mentions a capped preview of distinct values. With no annotations, this provides useful behavioral context, though it omits details like auth requirements or potential performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences: the first states the core purpose, and the second adds error behavior and additional output. No superfluous information, well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two string parameters, clear output schema exists), the description covers the main functionality, error condition, and output highlights. It does not specify the cap size for previews, but overall it is sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, leaving the description to compensate. However, it does not define or add constraints to the parameters (layer_name, field_name) beyond their names. While the names are self-explanatory, the description fails to add meaning or constraints, earning a low score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves min/max/mean/sum and distinct-value count for a numeric field. It is a specific verb-resource combination, and the sibling tools operate at the layer level, distinguishing this as a field-specific statistics tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use on numeric fields (fails with UnsupportedFieldType otherwise) but does not explicitly state when to use this tool vs. alternatives or provide when-not guidance. Siblings do not offer field-level statistics, so competition is minimal, but explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full weight. It mentions the output format but does not disclose potential side effects, error conditions, or read-only nature. Adequate for a simple retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose and output format. Every word is informative and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description covers the essential purpose, output, and usage context. Could mention that the output is a geometry or return format if not already in output schema, but still complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema specifies a single required parameter layer_name with no description. The tool description does not elaborate on this parameter, missing an opportunity to clarify valid inputs or constraints. Schema coverage is 0%, so description should compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a layer's extent and specifies the output format as both bbox and WKT polygon. This differentiates it from sibling tools like get_layer_summary or clip_layer_to_extent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests using this tool as input to subsequent steps, with concrete examples like clip_layer_to_extent. Context is clear but does not include when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly explains that for vector layers, fields come with up to 3 example values (not full enumeration) and that raster layers have null fields. This discloses behavioral traits beyond the basic summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short paragraphs with the key action in the first sentence. It efficiently covers vector/raster differences without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema is rich, the description effectively explains what the output includes for both layer types and notes limitations (example values not full distinct). It is complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds no detail about the sole parameter 'layer_name' beyond its implied meaning. It does not specify format, completeness, or constraints, relying entirely on the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb 'Summarize' and specifies the resource 'a layer' along with the exact outputs: feature count, geometry type, CRS, extent, and fields. It distinguishes from sibling tools by explaining it replaces five separate calls, while siblings like filter_layer_by_expression or reproject_layer serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states this tool replaces five round-trips (layer_info, list_fields, samples) with a single response, implying it is the go-to for quick summary. However, it does not explicitly list when not to use it or compare to alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses key behaviors: the original layer remains unchanged, a new in-memory layer is added to the project, and validation criteria are detailed ('validated is true only if the output CRS matches target_crs and its feature count matches the source layer's'). Since no annotations are provided, the description carries the full burden and excels.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two clear sentences. The first states the primary purpose, and the second adds essential behavioral details. No redundant or irrelevant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and a low-parameter description coverage, the description adequately covers the tool's purpose, behavior, and validation. It does not explain return values, but an output schema exists. The description is sufficient for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has three parameters: name, layer_name, target_crs. The description only indirectly explains layer_name (as 'vector layer') and target_crs (as 'new CRS') but does not clarify the format for target_crs (e.g., EPSG code) or the purpose of the optional 'name' parameter. With 0% schema description coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Reproject a vector layer to a new CRS, saving the result as a new layer.' It uses a specific verb (reproject) and resource (vector layer), and the outcome is well-defined. This distinguishes it from sibling tools like filtering or exporting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly advises when to use the tool (when a reprojected copy is needed) and explicitly notes the original layer is untouched, implying no destructive side effects. It does not provide explicit alternatives or when-not-to-use conditions, but the context from sibling tools suggests no overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully takes on behavioral disclosure. It reveals error conditions (GeometryTypeMismatch), default behavior (crs), and output features (returns `schema_conflicts` with nulls for missing fields). It could be improved by stating that original layers are not modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses four sentences with no wasted words. The core purpose is front-loaded in the first sentence, followed by clear details on failure, defaults, and output. Every sentence serves a distinct purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description need not detail return values, but it does mention `schema_conflicts`. It covers key edge cases (geometry mismatch, crs default, missing fields). Missing details about attribute handling beyond conflicts (e.g., duplicate field values, feature merging strategy) leave minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description is the sole source of parameter meaning. It explains `crs` default behavior and implicitly clarifies `layer_names` via context. However, `name` (the output layer name) is not described at all. The description adds value by explaining geometry type constraint and schema conflict output, partially compensating for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb ('Merge') and specifies the resource ('multiple vector layers') and condition ('of the same geometry type'). It distinctly separates this tool from siblings like filter, clip, and reproject by focusing on combining layers into one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states that the tool fails with GeometryTypeMismatch if layers don't share a geometry type, implying it should only be used for same-type layers. It also notes `crs` defaults to the first layer's CRS. However, it does not explicitly contrast when to use merge versus other operations like append or union.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the original layer is left untouched, that a new layer is created, and that the clip is to a rectangular extent rather than feature geometries. It also mentions parameter defaults (crs). Lacks details on error handling or performance, but the essential behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two short paragraphs and four sentences. Every sentence adds value: the first states the main action, the second provides parameter guidance. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, output schema present), the description is largely complete. It covers the core operation, parameter constraints, and an important behavioral nuance (rectangular vs. feature clip). It does not address error cases or validation, but these are less critical for such a straightforward clipping operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does 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 explains the role of `reference_layer_name` and `bbox`, describes bbox format as [xmin, ymin, xmax, ymax], and notes crs default. The name parameter is implied by 'saving the result as a new layer'. This provides substantial meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'clip' and identifies the resource as 'a layer', while clearly stating the result is 'saving the result as a new layer'. It distinguishes itself from sibling tools like 'filter_layer_by_expression' by focusing on a bounding-box extent rather than attribute expressions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to provide exactly one of `reference_layer_name` or `bbox`, and clarifies that the clip is to the rectangular extent, not the reference layer's geometries. It does not explicitly mention when to use this tool versus alternatives like 'get_layer_extent_wkt' or 'reproject_layer', but the guidance is clear enough for most use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/piatkowski/qgis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server